Tammer Saleh : The Number One Trait of a Great Developer

An excellent explanation about why simpler code and code choices are better.

 

When I look around at other companies hiring Ruby on Rails developers, I see them focusing on three major traits: Super-smart; Large community following; Deep Ruby knowledge. They’re all wrong. While these are great aspects in moderation, they all miss the number one quality of a fantastic developer: Judgement.

Tammer Saleh : The Number One Trait of a Great Developer.

 

Why a Single Point of Failure Can Be a Good Thing

I’ve been working in the corporate world for a while now, and I finally have figured out my personal difficulties with the transition from a small company to a large one. I’ve been there for the growth of two companies from a relatively small number of people to a larger one. The first company grew like wildfire and is now doing massive layoffs. The second company seems to be doing quite a bit better, but there’s significantly more tension than there used to be.

Working for a startup is a lot like having a child. The company is uncertain, it’s unprotected, and it’s completely dependent on other people to make sure that it grows up and succeeds. Like a parent, each member of a startup contributes something huge and important to the company. Without any of the various pieces, the company would fail quickly, and everyone in the company knows it. But, also like a parent, each member of a startup is almost religious in their devotion to the company. Every member is a spof (single point of failure), but the whole thing often ends up feeling a lot more like family than work.

Now that the company I work for is more of a corporation than a startup, there’s been a lot of talk about spof and how I need to fix that–we need to hire more people, train them to overlap my job, and ensure that if I’m out, my projects won’t fall to the wayside. I understand the need to feel secure in our company’s capability, but the sense of devotion and radical fanaticism to the company I work for has nothing to do with its well-being. It all hinges on the feeling that I, as an individual contributor am needed–and badly. The more I’m needed, the more I’ll throw myself into the mix, the more I’ll work late nights, the more I’ll innovate, create, and expand what I do because I have the opportunity to help make the whole thing better.

This is not better for my social life, my side projects, or my blog, but it’s significantly better than the alternative. My company no longer needs me. They want me around (I hope) but the only thing standing between me and layoffs is money, and the ability for the company to make money is no longer directly influenced by me. I’m a cog in a machine, and it’s by design that I’ve lost the ability to be more.

I wonder if there’s an alternative to the malaise I feel. Do people show up to Microsoft every day and say “god I’m happy to be a programmer here?” If so, where do they find their satisfaction? I suppose if I had kids myself, I’d be feeling the priority shift, but if it’s done right, startups don’t have to completely take all your time either, they just need a little extra love.