≡ Menu
Pawel Brodzinski on Software Project Management

Long Career as a Developer

Software development is a specific role. Acceptable quality is on much lower level than in different areas of our lives. The product is more virtual. New technologies are invited much faster. And people stick to the role for shorter period of time.

The last thing isn’t typical for all positions in software business. For example there are many long-serving project mangers. By the way that makes much sense, because one of essentials for PM is experience. Although for developers experience is also one of key factors, which decide about quality of their work, long careers on that position are much less often. In the long run developers struggle to outgrow their role and escape to architecture, project management or running own business.

While I don’t judge that attitude (I used to have the same back than when I was a developer) I think we’ll see more and more positions requiring 10+ years of experience in software development roles. On one hand complexity of systems increases, on the other software goes deeper and deeper into our lives. It’s hard to imagine a hospital without any software working somewhere inside. It’s hard to imagine a new car without at least a couple of processors. It’s hard to imagine a jet without all those cool-looking systems, powered by (what a surprise) thousands lines of code. And it’s so easy to imagine losing life in any of above places. Over the years it’s more and more about the software, its quality, performance, availability and reliability. And developers.

Developers who make everyday code-level decisions basing on their best knowledge and experience. The more different solution they’ve co-created, the easier is to make the right choice. The fewer mistakes they’ve already made, the bigger is the chance to choose the wrong path. Sure, the team doesn’t have to be built from experienced developers only – it would be neither wise nor cost-effective choice – but leaving young wolves without experienced leader doesn’t guarantee you a success.

Yes, I hear you talking about Bill Gates or Larry and Sergey, but they were wunderkinds. You don’t see many of those around and most likely you won’t find any in your team. If I was asked who would lead the new complex project when high availability, high performance and high reliability were on the top of the requirements list I’d look for an experienced developer. Someone who has already dealt with performance issues and optimized the code, not the one who doesn’t even know where the performance traps are. Someone who has already designed a couple of poor architectures, not the one who is yet to make those mistakes. Someone who has tried different technologies, not the one who is all hot about the coolest Ruby-on-Rails only. I’d look for that particular type which isn’t very popular among developers.

That’s why I believe there is high demand on people who stick with development role for a longer period of time and it will grow over time. There will be more and more complex systems to be developed. Definitely that’s an idea to consider if you’re a developer and you’re planning your career.

in: personal development

5 comments… add one

  • mac June 6, 2007, 5:37 pm

    Wow, you are an optimist!

    Still, management will always go for the cheapest, least-experienced people that barely qualify to do the job – that’s the nature of Capitalism.

    -mac

  • RobertC June 7, 2007, 1:11 am

    Capitalism also allows for some companies to offer higher quality services for more money. If that is desired (so that there is market) then such a company will prosper in spite of its competition using cheaper resources.

  • Pawel Brodzinski June 7, 2007, 6:05 am

    Mac, some of managers will sure go for the cheapest option. I even know one, who is known by saying that every specialist can be replaced with finished number of students. But on the other end you’ll find companies (as mine for example) which put competencies and low rotation over the lower costs in short perspective.

    As Robert mentions there will be this kind of companies as long as there’s a market for their services. I believe the market already is significant and it will grow over the time.

    If you’re frustrated with management looking for the cheapest possible perspective – go look for the other kind. Believe me, you’ll find them.

  • Mike Ramm July 17, 2007, 2:12 pm

    There is one more argument in favor of using younger developers.

    Currently, the Capitalist mentality exploits the labor of the developers at the highest possible limit. Especially in the “new democracies” like Bulgaria for example. In my country it is common practice to force the developers to work 10-12 hours a day, sometimes including holidays.

    It is no surprise then that younger people are preferred – they are more tenacious, they don’t have families, they don’t complain to this working style.

    I also prefer more experienced developers as you do but the reality shows favor to the younger, unfortunately.

  • Pawel Brodzinski July 17, 2007, 2:27 pm

    Oh, there are many reasons to hire young developers, flexibility is neither the only nor the most important one. If I had a perfect choice I’d have majority of the team recruited from youngsters. However, there are specific tasks which, in my opinion, suits better to people with long-time experience. I can’t say I prefer experienced developers over young ones. That wasn’t my point anyway.

    On the side note: forcing people to work 10-12 isn’t the best management strategy I’ve seen. It’s of course different when people want to work long hours, but it isn’t very healthy either way.

Leave a Comment