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...