Choose The Right Goals
Posted by Davy Brion on August 10th, 2009
One of the biggest forms of waste that i’ve encountered in my (admittedly short) career so far is that of having the wrong goals. I spent the first 5 years of my career working at a rather large financial institution and one of the things that bothered me the most was that too many of the developers working there were too focused on their goal of moving up, of reaching a certain position or status. Well actually, it wasn’t just the developers. Pretty much every kind of manager i met there was also mostly driven by advancing his/her own career.
Most of the developers wanted to advance to the position of ‘lead developer’ as fast as possible. The funny thing is (to me at least) that at this particular client, with their organization and way of working, being a ‘lead developer’ was pretty much one of the worst jobs you could have over there. It basically meant you had a lot less time to do the things you (supposedly) enjoy doing the most: writing interesting code. You’d have to spend a lot more time doing more project-related administrative work, typically whatever your project manager was either unwilling to do, incapable of, or in some cases just enjoyed passing off to one of his ’subordinates’.
Yet, a lot of the developers who worked there absolutely wanted to become lead developers. Some of them made it, and some of them didn’t and would keep saying they wanted to be promoted to lead developers. Some of them even threatened to quit or would just become a huge pain in the ass if they didn’t get that position. I honestly can’t believe that even one of them truly enjoyed the job of lead developer more than that of being a ‘regular’ developer, but that’s probably somewhat specific to this particular company. Unless of course they weren’t happy doing development but then the motivation behind wanting to advance at least comes from some kind of value that they seek in their job. Which is obviously a good thing. The majority of them however, merely wanted the status that was associated with their new job title.
To avoid any misunderstandings, i don’t have any problems with people wanting to move up or advance their positions. Self-improvement and growth are important qualities that you’d wish everyone would have. But merely striving to move up, just for the status that is associated with a certain position or title is definitely not a path to a happy career. Eventually, it’s only going to lead to frustrations and unhappiness about your job, and let’s face it, if you’re spending pretty much half of your active adult life doing your job, you might as well want to make sure you’re doing something you really enjoy doing.
In my case, i only had two goals when i started working as a software developer. The first was to continue improving as a developer throughout my career. The second was to avoid being put in a position where i had to develop software in a way that isn’t up to the standards that i know are attainable. Those are the only two goals that i’ve focused on, and it has payed off a lot for me. Not necessarily in the financial sense (but then again, that’s hardly my primary concern) but in the way that truly matters to me: how i get to spend half of my active adult life.
And that is the advice that i would give to everyone who’s either starting their career, or are wondering what they should focus on or wondering how they should proceed with their career. Focus on what is truly important to you, the values that make you enjoy whatever it is that you do all day. Improve whatever skills you need for job, focus on producing value and being happy with what you do. After a while, everything else (the status, the money, the responsibilities, …) that you may want in your job just might come to you automatically. And odds are high that you’ll avoid a huge amount of frustrations and inter-office-politics that you really don’t want to have to deal with. Do yourself a huge favor, and don’t get misled by that fancy job-title or a certain position or status. Because it typically isn’t worth it.
August 10th, 2009 at 11:45 pm
It is kind of sad that many (large) companies don’t acknowledge the value of experienced developers who want to dirty their hands with code on a daily basis. But then again, I’ve witnessed a case where the lead developer (truly remarkable guy, should’ve been a professor in theoretical physics or something) was the real power behind the throne, the inmate running the asylum, so to speak
Perhaps there is hope? Peace.
August 11th, 2009 at 6:56 am
As Uncle Bob said in a recent Hanselman podcast interview – “an architect who doesn’t code is irrelevant”. I think that the reason for this situation is twofold viz., 1) Businesses don’t “get” software development (unless it’s their core business) and as such incentivise on the wrong things and 2) Because developers are usually so young at their prime, they haven’t yet acquired the maturity to know what they want in the careers (and therefore are heavily influenced by the model “sold” to them by management).
August 12th, 2009 at 3:32 pm
It’s inspiring to read this. I’ve been under a lot of pressure for the last year to be more political and move up the ladder, but it’s not really what I want, at least, not right now. @Eric Smith, thanks for sharing that great quote from Uncle Bob! He’s absolutely right.
August 18th, 2009 at 8:22 am
As a normal developer, the responsibility is only getting very small and detail functionalities done. Without higher position, ‘lead developer’ or something like that, it is hard for developer to know about the bigger picture that system towards or be involving in design, due to there is an impact on detail implementation. It is really dangerous for projects if ‘lead developer’ is not good as him should be.