Not sure if the web needs another blog post on the rock star developer topic but I feel like writing something after the lousy developer post. I’ve been extremely fortunate to work with some really great developers in my professional life – All of them pretty much had the same behavior, patterns, insane amount of passion and love for their profession. This is by no means is a definitive list just mere observations over the years –
Ships. “Real Artists Ship” – Steve Jobs. Hey, it doesn’t mean that they ship crap. Okay. It just means they are cognizant about the marriage between business and technology. It is an innate talent great developers have. They just know what it takes to ship a product. It doesn’t mean they cut corners and write spaghetti code; it just means they know the fine balance between writing the most elegant code and shipping. They not only write good maintainable code but ship without major delays.
Communicates. “1000100011100” – Yes, they know binary but they don’t speak it. I can’t emphasize enough about the relationship between great developers and their ability to articulate their thought process. All the great developers I have had a chance to work with had good verbal and written communication skills. They can explain their deep technical thoughts with such an ease to a 5 year old. Okay, may be not. But, definitely to all the product and program managers who think all this product needs to do is some processing after a button is clicked. How hard could that be, right?
Inquisitive. They have deep interesting in how things work. You would constantly find them breaking new barriers and learning new technology. Jon Skeet, anyone? No, I’ve not had the pleasure of working in his programming school. They just like trying new things and see how they fit in their overall toolkit.
Team Player. They are somehow always there to help out their teammates. Brief debugging conversations with them would turn into hours and they wouldn’t mind at all. Also, they are always the first ones to take one for the team. Lastly, somehow they always leave the code in a better condition after they have discovered it. It doesn’t matter whether the original code was written by them or not but they would just clean up the clutter, if they find it.
Take Ownership. One can always forget once a task is handed out to them. You know it would be completed and if it can’t be then you would know well in advance about the roadblocks. They just take total ownership. Period.
Writes great code. Aah, and, you thought I would never touch that topic. Well, they write code which anyone can read. No, not your dog, silly. I meant fellow air breathing humanoids who write code for living. Somehow, their code always make sense. Not that you can’t find any alternative way of doing it but it’s just that it seems perfect. You would find it to have good separation of concerns, following all logical coding conventions and unit tests. The works. The code which makes you go ummm…