Friday 12 December 2008

Are you a Senior Developer?

Accountability in the Software Industry

The general mentality of software industry is fundamentally flawed by arrogance, misunderstanding and lack of accountability. Making bad software is easy, anyone can do it. If you don't think you have ever done it, then you are still doing it.

Managers And Team Leaders

Sadly the same thing that makes a good manager is what makes a bad one. Ego. It makes you believe in yourself and your ideas enough to make the tough architectural decisions that need to be made. However, bad managers have some additional traits. Usually they have been been working for the same company for a number of years and have some glorified self important title like "Chief Software Architect" or some BS like that. These people will generally have some over the top coding standards that force upon developers like still insisting they use Hungarian notation despite the fact you have been using C# or Java for the last 5 years because it was they used in University. This, however, is where the personalities diverge into 2 types.

Personality 1(The Obsolete):

The easiest way to spot these people is ask them what they think about the new [insert random technology reference]. They will NEVER know what you are talking about. They are the "Chief Software Architect" they don't need to know little things like what you can and cant do with a language, details details details.

Personality 2(Loves Shiny Things):

Personality two is a bit harder to spot, it requires some digging. Generally the easiest way to spot these people is ask them what they think about a new technology that they think they know quite well and see how they have chosen to implement it. They will usually have gone the route of early optimization, not have a clear understanding WHY and WHEN to use something. A little more digging will reveal that they also don't understand basic things like unit or integration testing and they are usually fond of a multi-threaded solution.

Well both these people are responsible for not only creating bad software but the future generation of developers. These developers then leave and think that is how software development is meant to be done. Its creating a broken industry.

Senior Developers

How many industries do you know where your are considered "Senior" after 2 years. None. Its ridiculous to think that your are Senior anything after 2 years in any industry. Ego makes people want to achieve that goal as quickly as possible, and ego is what they gain from it. Arrogance and ignorance can be very dangerous. We are now in the age where writing bad software can kill people, lose millions and cause untold chaos. You know who is writing this software.... Senior Developers.

You Signed It

Making good software is hard. It requires practice discipline and EDUCATION. Just like any other industry, the software industry should have a board and a apprenticeship program that requires you to understand industry practices that should be renewed every X number of years. If a building falls down who gets blamed? The Architect. If your new car breaks down who gets blamed? The Manufacturer. If your software doesn't work who do you blame? Blame yourself you signed the EULA.

No comments:

Post a Comment