Do you have appetite to be a programmer? Do you relish programming? Can programming be a life time career for you? These might be some of the questions – a programmer may ask himself at different stages in his career. There is no definitive formula – I have seen – to get a yes/no answer. I am also somewhere in the mix, and can share some of my experience.
When I was graduating from the college in comp sc., I got first introduction to programming. As part of the first semester to learn Pascal, I got the first kick for the programming, and found like minded classmates; among us we gave competition and positive pressure to keep leaping and stay one semester ahead. We were always one semester ahead for the programming courses. That time – I did not ask myself – whether I have appetite for programming or whether I relish programming – but I simply found my appetite for it and relished it. Looking back, I can see few things that stand out if one has appetite for programming:
- Getting the output after few-hours of hard work – putting the code – gives immense satisfaction.
- You are impatient to put all details on paper or a document. You itch to code it and see it working. You would draw/put a rough sketch/skeleton pseudo code and then, get to code. Iteratively – add functionality and see it working.
- You have more inclination to mathematical problems than theoretical subjects like History. Because you find it intuitive to score well in logical subjects. Once the concept is learnt, that is it; no mugging required.
- You itch to learn new languages. but time constraints keep you away if at all. You definitively take up assignments outside the course – out of your interest.
- You wish if you knew all apis by heart – that way you can code fast. You learn the shortcuts of the code editors. You learn typing if you don’t know already;)
- You care for good design but you are averse to any process overheads that let you not produce code. You certainly don’t gel well with process-first managers.
- You take bugs in code personally and constantly challenge yourself to produce bug free code. I have heard Sachin saying once that he thinks over after each match – the reason he got out. You would think every time you fix a bug – what would have saved that bug.
- Code is your art. You strive to get better at it. You are naturally inclined to pick good treats from well written code. You hate badly written code and want to eliminate it. You always carry your code with you on your external disk, pen drive, cd etc. unless the IP rights prohibit you.
- You strive to get working code daily if not every hour. You can sit at stretch for 4-10hrs daily coding.
- You rewrite your own code until it matches your criterion of quality.
- You like being in code than in ppts.
If you see some of these traits, it is likely you have natural flair for being a programmer. It is very likely that you have already embarked on it since it kind of comes natural. The real questions start popping years later when 1) one is faced first time with the choice of taking up lead/manager role and later, when 2) he/she needs to decide whether this can be a career choice for life time. (1) is easier than (2). Let’s catch up on this in the next post.