It’s been underway for some time, but now I can make it official: I quit my job.
I’ve been called stupid because I quit my well-paying job right in the midst of a financial crisis, where jobs are scarce and as a graduate from 2009 (the lost generation) I should count my blessings for just having a job. On the other hand I have had a lot of people congratulate me for daring to go on this adventure – and there is an adventure underway.
I did not quit to end my current job (but of course that is a side effect), I quit to start a new phase of my life – a travelling phase. November 1. 2010 I’m going to leave Denmark to go travelling Asia with my husband. Not much is planned yet except the departure date, so if you know a place that we just have to see, please let us know in the comments of this blog.
We are hesitant to put an end date to this adventure, but just to be able to tell people something, we have said that this adventure will take a year. This could of course turn out to be 3 months, 6 months, 1 year, 2 years or whatever…
The last few months we have started to prepare this trip by giving notice to leave our rented apartment (we had to give a 3 months notice), I have quit my job, I have been going to doctors to make sure my nose will be fixed before we leave (it’s broken – long story), we put all our money in a travel fund and I have been researching places to go and sights to see.
I have arranged with my father that we can stay at his place from the date that we have to leave the apartment and until we leave the country, and our parents are going to store our furniture, while we are gone.
Along the way I will try to get some freelance work, either as a coder (I would love to do some Android, web or Java/C#-work), a photographer (learning something new every day) or as a blogger but if that doesn’t work out, I will start writing some e-books or tutorials and find some funding through advertising. I have also sold how-to videos before and if my nose get fixed I will consider making more.
Just writing this I get butterflies in my stomach – I can’t wait to start this adventure!
So much has happened this week, and I would love to share it with you, but I have to wait for it to be completely official.
Soon…
While you wait, you can check out my favorite link from this week: Couchio. Great page design with interesting content. CouchDB is one of my favorite topics to read about right now – CouchDB and Android… I’m using CouchDB for a few homebrewed programming projects and in my opinion CouchDB is the best thing since sliced bread…
Our industry is plagued by an epidemic of very bad code
– Robert C. Martin (known as Uncle Bob), founder of ObjectMentor and author of several books including Clean Code: A Handbook of Agile Software Craftsmanship.
Of course Uncle Bob would say that because it serves his purpose of selling the Clean Code-book, but I would still agree with him on this one. I often hear a lot of programmers complaining that in a world of perpetual recurring short deadlines there will be a lot of technical debt and code debt in our line of work. Unfortunately.
But what can we do about it? There is never time for a spring cleaning and the business usually can’t see the point of such an activity, but hey, they are not the ones having to live in that messed up codebase.
Sometimes I even hear the technical debt argument as a anti-agile argument – because an organic not-designed-up-front architecture is inevitably going to end up with a lot of technical debt IF NOT REFACTORED on a regular basis. My answer to that, is that refactoring is a part of any agile programmers job – your story is not finished before you have refactored the code and considering architectural refactoring should be part of sprint planning.
A similar point is made by Uncle Bob in this video from the IT-conference JAOO (about 7 minutes in);
When Uncle Bob asks Pete McBreen how a programmer can get the time to write good code and his answer is: “you should cheat the boss – just write good code without permission to use the time”, Uncle Bob comments, that he doesn’t consider that cheating – he considers that professionalism!
I still believe that an organic REFACTORED architecture is better than an up-front-planned architecture, that is outdated and worked around when adding new features.
Is your work also impeded by bad code? Do you consider it professionalism to cheat your way to a liveable codebase?
P.S. Michael Feathers (also in the video) just wrote a blog post about learning from bad code. Please consider helping him with this project.
As a geek I love going META – and a TED talk about TED talks is a hit with me.
Sebastian Wernicke analyzed TED talks and concludes that when you deliver one you should talk about how “french coffee spreads happiness in your brain” because that is the top words from the most popular talks. He also concludes that if you want to make a bad TED talk the top 5 words you should mention are:
- So
- Oxygen
- Aircraft
- Project
- Girls
Considering how popular a topic number five is in other places of the Internet that is quite funny. Other unpopular words include “computer”, “feet” and “design” (and I conclude from that, that you shouldn’t be giving TED talks about how you designed a creative way to control computers with your feet)… et cetera, et cetera…
Watch the video:
I wonder if these facts are transferable to any kind of talk – like maybe a thesis defense?
I no longer believe in doing Scrum by the book!
This will be considered a provocative statement for some but let me just explain myself: I’m not suggesting that we shouldn’t follow a well-defined, tried and tested process, but I AM suggesting that we adapt the process to our current needs and maybe as far as you couldn’t call it Scrum anymore.
Now some seasoned agile people will say “DUH, of course you have to inspect and adapt. That is what agile is all about”, but I have also heard a lot of people saying, that “of course that project failed – they didn’t do Scrum properly” (whatever that means).
In my opinion what matters is that you reflect on you proces and continuously improve (Kaizen) – if you do that you can start out with Scrum and adapt into something that is a better fit for your organization. It is much easier to fit the process to the organization than to fit the organization to the process.At JAOO last year I attended a tutorial called “Scrum tuning using Organizational Patterns” (by Jim Coplien and Gertrud Bjørnvig) based on the book Organizational Patterns of Agile Software Development by Jim Coplien and Neil Harrison. It transitioned me into what I jokingly call my post-Scrum phase – a phase where I can see agile as a collection of good ideas to choose from; a toolbox. The organizational patterns book adds to that toolbox and provide ways to guide the adapt part of inspect and adapt.
Now I have the feeling that I know more about why Scrum is precisely that collection of good ideas (organizational patterns) and what kind of problems Scrum is aiming to handle and that feeling gives me the confidence to reflect on the Scrum method and adapt to the concrete needs of the projects I’m involved in.
As Jeff Sutherland writes about Jim Coplien and the Organizational Patterns-book:
The connection between Scrum and Organizational Patterns can be seen in this overview that I stole from the slides by Jim and Gertrud:
I recently found a link about the Top 10 Organizational patterns – As far as I can tell they are presented as in the book, but the links to other patterns are dead links (and remember; content is more important than form in this case).
Organizational patterns have really helped me move beyond Scrum and to value some of the more social aspects of software development higher. If you are having problems with your process consider looking into this concept. I know that patterns are sooo 90’ties, but they are still a reasonably way to transfer knowledge.
And I should probably revise my first statement – I no longer believe in doing Scrum by the book, but I do believe that a book can inspire me to fine-tune Scrum maybe transforming our process into something completely different – if that is what we need.
My previous post about the Lego Turing Machine could (for some) be a contender for the title of “The most useless machine ever built in Lego”, but it is certainly a step up from this useless but entertaining machine: A machine that turns itself off.
Useless but cute. How do people even think up these things?
>”Honey, you’re my treasure.”
>”No, the Lego is the treasure. Dad – We’re Lego rich!”
Combining TED talks and Lego is a winning formula. This guy is really Lego-geeky – I love his story:
Back in December ’09 a friend of mine and I decided to found a community for women working in IT in the Aarhus area. We named this community Ada Aarhus after the famous female “programmer” Ada Lovelace. The idea for this community started at a geek girl themed night at the JAOO conference in October ’09.
The community started out with three main focus points:
- Recruiting more women to work in IT (presenting role models and work on concrete projects)
- Coaching and mentors (facilitate the contact between mentors and mentees)
- Networking (share stories and network in the IT-business in general)
And in addition we defined what Ada Aarhus is NOT: a place to go and cry about being a minority in the IT-business. The women in Ada Aarhus love to be in IT even though we are not shy about talking of the problems that arise being a minority.
The first meeting was set up through Facebook and we invited all our female geek friends and they invited their friends and so on and we got the local union to invite their female members… We were 10 women at this first meeting, WOW. We decided to meet every two months and after a couple of meetings we elected (asked) some people to run this community with more than 50 members on LinkedIn and almost 50 members on Facebook.
Now we are on Facebook and LinkedIn and we are working on a network site with blogs, messages and profile pages, so that we can network online as well as offline. Any woman living in the Aarhus area willing to call herself a woman in IT is welcome to join us on LinkedIn or Facebook.
I have recently sold a Twitter explanation video to a communication company. Doing that I ran into the problem of sending the really big video file to the people that bought the video. I tried Dropbox (another great site) and the receivers could see the video but not download it. Then I found several file sharing services but you had to sign up first and accept their spam afterwards. Not really what I was looking for but I was in a hurry and it solved the problem though not entirely satisfactory.
Now I know that filesharing can be much simpler. One of my friends at the university made a site that adresses that file sharing need in the most elegant way. The site is called Kkloud and works by keywords – you type in a keyword and if someone has shared a file on that keyword you get access to it – if not you can share your own file on that keyword through drag and drop. Now you can share your files with your friends – just share the keyword.
The really cool thing is: the files are only shared as long as you keep the sharing window open. When you close the window they disappear.
The team behind Kkloud made a video to explain this – watch it just to convince yourself that it really is that simple:
I think there are several lessons for programmers to learn from Kkloud:
- Simple is better. (“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” – Antoine de Saint-Exupery)
- Limitations can make your site stronger. Twitter is another example of this.
- Even if your idea has been done before, you can do it better
And of course in wishful thinking of any programmer “if you build it they will come” – I surely hope that it turns out to be more important to have built a cool app than it is to have a great business plan. Get the big user base and there is income to be had from that app.
Kkloud recently won the Software part of the Venture Cup and it earned them a well-deserved 50.000 DKK. Congratulations Kkloud – I wish you great succes with your business.
Working behind the scenes at the JAOO conference the last few years has been a great inspiration for me. I have met great conference speakers like Linda Rising, Michael Nygard, Mary Poppendieck, Jim Coplien, Ola Bini, Dan North and many more that I really respect and admire. This year I left JAOO for a glamorous job as a full-time programmer and even though I can’t wait to go back and experience JAOO from the other side of the fence I must say that looking at this years JAOO speaker lineup, I am less than impressed. My favorite speaker Linda Rising is not coming and even though the usual suspects seems to be there except Linda I’m just not as excited as I have been the other years I have attended JAOO.
One of the first things I noticed was that in general there is not many female speakers on the program this year. I would have liked to see names like Rachel Davies, Aino Vonge Corry, Linda Rising, Rebecca Parsons, Amanda Laucher, Gabrielle Benefield and maybe even some new female names up there with all the guys. And usually there is quite a few female speakers at JAOO – even a few obscure cool female geeks and not just the cool authors of geek books – just not this year. Weird. And yes, I know I’m one of the few that notice this gender disparity but as a geek girl you are always looking for new geeky role models.
The second thing I noticed was that JAOO doesn’t seem to be featuring a lot of talks about topics from every day life as a programmer. I am a Java programmer by day and a C# programmer by night and both C# and Java seems to take a backseat to the more obscure languages at this years JAOO (but you could argue that this is a continuing trend from the last few years). There is no pure .NET-track this year but a “mainstream languages” track where Java, Javascript and C# can battle for the presentation slots. And they couldn’t even fill one track with mainstream languages – they put F# in there too. I could only count 9 presentations tagged with .NET but a few of them can’t be called .NET-topics – they are just vaguely related. The Java side of things looks a bit better with Spring-topics, Android and of course all the languages built to run on the JVM like Clojure and Scala.
Of course this is all concerns I have with the conference schedule as it is now – things can look quite different in October when the conference starts. There is still open presentation slots on the schedule. And even with a less than JAOO average lineup this years conference will probably be much better than the other developer conferences. I love JAOO!
See you there?
P.S. I will even forgive the team behind JAOO for chosing a pink venus sign as the logo for my usergroup Ada Aarhus, but only because we haven’t chosen a logo for the group yet. The sign of venus is just a bit too cliche to use for a usergroup of geek girls.
P.P.S. I call Ada Aarhus my usergroup because I co-founded the group back in December ’09.





