Code DRY

Don't repeat yourself unless you absolutely have to

Why Did I Leave?

TL;DR: I like to write code and choose the technologies I work with. This way I get to do what I like to do, most of the times.

Since a lot of my colleagues have learnt about my recent decision to walk away from my full time job, effective last Friday, I have been asked several times “Why?”. I received an email with this message just this morning:

Wanted to get some more details on the freelance thing but realise you were a bit tight lipped so asking you off air. Wanted to know which site you using elance.com, guru.com etc? And wanted to know if its really profitable to leave a fix income to go the freelance route. I have hired some Indians on elance.com to do a website sometime ago that I didnt have much time to build myself and the cost was pretty reasonable… So was wondering how beneficial it is to make a career out of freelancing. Want to hear your thoughts on this since you made that big jump.

I have decided to document the reasons for my decision, for the next time the question pops up and also to remind myself, lest I forget. The reasons here are by no means exhaustive; they are what just comes readily to mind at the moment.

Just another resource

I am used to hearing about resource constraints, but treating humans like just another computing resource is not good for the company nor the employee. Sure, I know that companies have their objectives and there are many cases where an employee is just not the right fit for an organization based on their interests or career objectives. My case was different however, as I was within the IT department of an organization; good fit for a programmer you would think. I found myself being assigned tasks with no bearing on my area of speciality. I think more of an effort could be placed on finding a way to get the best of both worlds; that is, what fulfils the company’s objectives whilst at the same time allows the employee to do what they are experts at.

Management

Not everyone wants to be a manager; I didn’t. From my position, the only move up was to management where I would move from writing little code now again to not writing code at all. I don’t hear of doctors or other professionals stop practicing just because they have been doing it for a while; they continue and become specialists in whatever they see fit. Why should we ask our developers who like what they do and want to continue, to become managers and stop practising their craft?

Freelancing

I think now is the best time to be a programmer. With so many excellent tools available, the ability to work from anywhere in the world, what more could a developer ask for? I have chosen as my specialty, web development. My strong preference is the Ruby on Rails framework for most projects. The reasons for that choice is outside the scope of this post. It should be known that because I am the only one who knows this framework, I couldn’t possibly use it for projects at the organization I left.

The freelancing website I use to find work is oDesk. The are a lot of cheap developers freelancing, but I believe that most times what you pay for is what you get. There are enough clients willing to pay for quality, so having a good reputation is key here. After surviving a redundancy exercise in 2010, I think it’s more beneficial to have worked for multiple clients. There is almost always potential work with each client (based on past work), greater diversity in the tasks you do, which makes you more marketable in the end. Having said all this, there are known disadvantages of freelancing, as for me, the advantages outweigh the disadvantages, but then everyone is different.