Thursday, June 3, 2010

Speed of technology - it's difficult to take a programming hiatus

There was a point in time when I was very comfortable programming. I had finished my engineering degree and I had co-op and project experience in embedded and network programming. Next, I went to Microsoft and worked on the VB compiler there for a year. It was amazing how much more I learned about programming working at that company and more importantly, working with the people there. Being around a group of co-workers that were fanatically passionate about their work meant that I was exposed to new techniques, tools, and ideas that made me a much more efficient and talented programmer.

When I left Microsoft for medical school, I told myself that I would program on a semi-regular basis to make sure I retained what I had learned and stayed on top of the latest developments in the software industry. I was not under the delusion that I would have the time or energy to program regularly and become better, I just thought I could prevent regression.

After the first term of my first year, I threw together a very simple physics engine and created an incredibly basic simulation of the human immune system. This was a hacky project at best, but it was really the most I could do considering I actually wanted to take a break during my vacation.

Then in the summer after first year, I was using Excel to analyze data for a research project. I was able to dramatically reduce analysis time by writing VBA scripts to automate a lot of the grunt work. Again, this wasn't really programming, this was just scripting.

Now, as I'm looking at some of the most recent posts on programming blogs and forums, I realize that in two years there has been a lot of development in programming and the tools programmers use. Some of these changes are just fads or modified ideology (read: the flavour of the month), but many of them are true developments in the evolution of programming. Even though I currently feel like my programming knowledge is not up to date, I'm sure I can catch up if I dedicate some solid time to actually coding, but programming isn't really the most important skill for me to develop at this point in my career. With CaRMS (residency matching) coming around the corner, I should probably dedicate the time I would spend coding on, y'know, learning how to be a better doctor. It seems like the reality is that by the time programming will be a useful skill for me to have (in residency when I'm doing research is my best guess), I will probably have to re-learn a great deal of it. Fortunately, the most important skill a programmer can have is an analytical thought process...and that is something that doesn't degenerate (unless you have dementia).

The reality is...if you want to be a coder...you should code. Taking a break can be rejuvenating, but don't take it for too long because the industry will have moved along rapidly without you...

3 comments:

Martin said...

Hey, I used to read your blogs and liked it very much. I hope you are doing good and will write some more soon.

Anish said...

Hi Martin,

Thanks for the comment. I am doing well, third year of med school is really busy (particularly the first half for me), but I will try to post as much as I can. There are definitely a lot of interesting stories that I've seen since I started working in hospitals.

Cheers.

Uncertainty said...

Hello.I am at Med School first year in Turkey.We don't have pre-med school.I want to be a programmer but I dont know.Can I be a high talented programmer while studying medicine? I have enough knowledge to know what programming is.I am just not sure I can continue both.