November 5, 2007

At what point do you become a Senior Programmer?

After graduating from college a couple years ago, I remember starting my job, expecting my overall programming and business experience to grow immensely by simply working at a "technology" company as a full-time employee. This past March, after two years as a "full-time" worker, I realized that I hadn't come too far from where I was when I originally started. Sure, I had learned a fair amount, but still felt that there was a significant gap between my current abilities and what I potentially could be as a developer.

So after a little self-pity and inner reflection I decided to do something about it. After talking with some "senior programmers" about what I can do, I was led down what seems to be a common path of career-self-betterment in the programming world. I started reading different software books in my spare time. After talking with some co-workers, I started our own mini "book club" where we all read the same books then get together and review and build on the content through weekly discussions. I subscribe to many different software blogs in my Google Reader and try to learn new things all of the time.

So to say the least, in the past half year or so, I have taken some initiative to become an overall better programmer. I feel like I am learning more and it is good to feel more comfortable and confident in my abilities even though my work hasn't changed. So wi-five to that...trying to be the best I can be.

Now the question is how long does one need to do this before it starts to matter? Sure I feel like I know a lot more, but does reading about "best practices" and other's mistakes really substitute for the actual personal experience?

I have read so much about "senior programmers" being what is always needed to make software project go smoothly (talked about immensely in the Lean Software Development book). Or even worse that "junior programmers" wrote the bad code that caused your project/company unintentional technical debt. How long does it take to move up these generic ranks? At what point do others consider you a senior programmer. I'm sure it depends.

Since I'm not some prodigy, or for that matter even a very good nerd, I hope to claw my way to become a proverbial "senior programmer" as soon as possible...doing whatever I need to do. Because I don't want to be the guy who gets blamed for mistakes or has to have his hand held...in fact the idea makes me sick. I want to be the guy people lean on to get their projects done.

After college, I wasn't given very good direction of how to get there. I am hoping this blog can be the breadcrumbs left on my path there. I'm sure I'll make plenty of mistakes and wrong turns, but I look forward to it, hoping to get better and help others along the way.