I am a geek, may be a nerd, may be both. And may be this is the justification of never having had the opportunity to work on a killer project that was exemplar of cutting-edge technology. I never wanted to. But I’ve made most out of unmatched opportunities, to deliver business critical software that has done its job. I’m not a master of any technology/language, but a jack of many: whether for work or leisure, I’ve touched upon most known technologies. But all that diversification makes me confident of being able to solve a problem, and not necessarily using a certain technology. I am now a product manager, far from coding. So you are about to take some unsound advice. Please continue reading at your own risk. These tips are not for software engineers who are experts in a particular technology. These are for pure computer geeks – people who love writing code.
1. Focus on concepts & constructs, not syntax
People often ask: I want to do a computer course, what language do I learn? And I ask them to clarify: Do you want to learn, earn or both+fun? My answers for each (in order) are: C, Java and PHP. But at the end, it boils down to concepts. Knowing what a loop requires to run, the power of references, how strings are managed in the heap (& why they are immutable), etc. This learning is divine. So, don’t start learning syntax, focus on concepts.
2. Be single – always – and free to mingle
Don’t marry a technology or you will look at every problem from the same lens. There are things that PHP can’t do, and places where Excel Macros won’t scale – but not everything requires Java with Spring, Hibernate & MQ. May be Javascript can solve the problem. Focus on the problem, and be willing to use any technology that works best, even if it means adopting something new. Like they say about soul mates, there is some God-(or man?) gifted technology out there which is waiting for you to grab it.
3. Be Lazy, very lazy
This is the first real piece of advice that I got as a developer (back then, I was writing hex frames to speak to cars). And I couldn’t neglect it, because Continue reading 5 qualities of a useful geek, or some unsound advice from a product manager