Johan Lindfors and Patrik Löwendahl did a duoblog titled “Everybody wants choices but nobody wants to make a choice” where they wrote about the growing opinion that software development and .net framework is getting to complex. It was later commented by Johan Hedberg among others.
It’s a very relevant issue, as many of us struggle to convince other developers and organizations to embrace new technology. But even though I agree with most of what’s been said, there is one part I strongly disagree with:
Patrik Löwendahl wrote:
“..developers seem to not understand the basics of the job requirements. As a software developer, my job always include constant learning and constant improvement of my skills. If I can’t agree with that I am a bad developer. This is not the tool vendors fault, this is because business change, improve and learn as well. If we don’t do that with them, we will be left behind.”
Only a tiny fraction of the worlds software is currently being built, some is being re-factored but the overwhelming majority is in “maintenance mode”. Of course this allocation is also reflected among developers, as many are working with already existing applications, adding new features, fixing bugs etc.
Naturally, these developers grow more focus and understanding of business requirements rather than the evolvement of the underlying technique. This is only natural as transition from already established standards such as Visual Source Safe, ODBC and ASMX, will not be prioritized in comparison with new features and capabilities of an already working system.
One could argue that if they don’t keep up with the latest technology, their system will eventually become unmanageable. When key resources find better (and more interesting jobs), they will face a challenge finding anyone willing to take the job. But if this is the reason for adapting to the latest technology, it’s not the technology in it self they will benefit from, but the access to “good developers”.
As Johan pointed out, this is a problem for the management. –Sure there are bad developers, but focusing on the business needs and prioritizing your family and friends does not make you one!
If I’d call for the janitor to come and help me with a problem in my apartment, I’d rather see the a person with years of experience from my building than an outsider with a cool tool belt. The knowledge about every pipe in the building, will impress me more then the DeWalt DC927KLV in his hand.
Everyone who knows me, knows that the last comment is a lie. I would drool over the DC927, in fact begging to try it out. But the point is, my passion for technology (and power tools), does not necessary make me a good developer, for the same reason the employee with a deep understanding of the business is not necessary a “bad developer”.
It’s all about being the right person for the job, eager to solve the business need. Sometimes, and especially in new projects, the passionate developer is essential to make life easier for the ones making sure it will evolve with the change of the business.