With the end of TeachForIndia Fellowship around the corner, I am contemplating on jumping into the programming world. So here is a checklist of things that I am going to put up in place and document it along the way.
Get a decent mail ID
Though not strictly related to planet code, I wanted to have a decent email id. The one I used aruntheguy at gmail was created when I was 15 and not so professional. Hence I have moved the mail to arunmozhi.in.
Creating a online presence
These days online presence is mostly Social Media. I deleted my Facebook account and have only Twitter, but that alone isn’t sufficient.
So,
- Moved blog from static-site Pelican back to wordpress for easy theming and maintanence
- Created a home page where I can showcase stuff
Customer Research
Making use of a skillset is all about selling it. So what do the buyers look for? Being a follower of Coding Horror I started of with his post on How to hire a programmer.
Here are the things I learnt:
- Know to really write a program – I pass
- Should have a portfolio – Need to create a portfolio page
- Be culturally fit for the role – Depends on the company
- Answer computer science theoritical/tricky/nerdy qustions – Well you can’t really prepare for them, can you? May be the theory part, but again when was the last time I thought about hash tables, 3rd year of my college?
- Expect an audition project or a real world problem to solve.
- Pitch in front of small group – have mixed feelings about this. But good to know this might be coming.
1 is done, 2 requires some work, 3 can’t really be worked on, 4 is subjective on how we look at it, solving puzzles and learning nerdy jokes is not the point, it shows the recruiter how we approach a problem and how much passionate about programming is a person. I will leave them at that. Finally, the points 5 and 6 are subjective to personal preference and circumstances as outlined in the comments by various people. I am sort of going to forget them for now.
Product preparation
I am the product, in case you are wondering. The article cited above and others linked in that article give a general idea about the product.
With that in mind, and my long time personal goals, here is the list of things I have in mind to do:
Learn touch-typing!! Yeah, I am a pecker – albeit a fast one.– DoneLearn Vim to the extent I am not going into v mode everytime to delete a set of words.– Ever learningGet core commit rights for QGIS – its time to work on itCouldn’t fit in time.- Create a Portfolio/Resume/HireMe page
- Learn some tools of trade:
- Plain text manipulations – Regex
- Shell scripting
- Code Editor – Vim
- Version Control – Git + Github
- Debugging Tools
- Unit Testing Frameworks
- …….
I guess I will add more to the list as I set the goals. For now this should keep me focused.