What motivates software developers? This is a question asked by many thousands of CIOs and project managers around the world.
The answers are complex, writes Chris Wilkins, CEO of DVT, but for anyone involved in this ever evolving industry, they are not surprising.
In DVT's experience, productivity, quality and delivery to client requirements are driven by a set of issues, and in no particular order they are:
* Working environment – there is no doubt that this is close to the top of the list. Developers want to know that the place they work will be cool, that there will be perks such as free refreshments, that they don’t have to leave the office for lunch, that they have space and light available where they work, that the ambience is good, that the dress code is relaxed, and so on.
Adhere to these aspects, and managers will have a consistently productive team.
* Reimbursement (but not as a primary priority) – developers want to be paid what they think they are worth, and they will move if they feel they are underpaid, or can get a better deal elsewhere. So underpayment will encourage developers to leave, but overpayment will not necessarily attract them in.
Neither are they always prepared to be involved in testing, business analysis or quality control. That’s a pity, but that’s how it is.
* The ability to be part of Agile teams – Agile is unquestionably the way of the future. Contrast it with the waterfall method of software development, and it is clear that it is the best way to ensure software is developed on time, within budget and according to client requirements.
As with other forward-looking technologies and approaches, programmers want to future-proof their careers, and agile offers this potential. Agile might appear to carry more risk than older or alternative methods of development, but it also produces more successful, better projects over time and it brings developers together. Change management is vital here.
* Greenfield projects – every developer wants to know they both left their mark on an exciting new project, and that they were involved in using the latest technologies to find a solution. Apart from anything else, it also looks good on a CV.
* Desire for quality – Wilkins has seldom come across a developer who is not driven by the desire to produce the best possible job for the client, or for end-users. They are not clock-watchers, they do not work set hours, they are not conventional people, they cannot be put in a box, but they will deliver the best possible quality as a default.
And for this managers should give thanks, and reward the best possible quality developers. Ultimately, the best software developers are akin to craftsmen, and they share the passion for perfection that has driven craftsmen down the centuries.
* Being a part of a smaller team that works independently and manages itself – smaller teams provide a personal touch and a sense of belonging that larger, more unwieldy teams cannot offer.
* Knowing their part in the whole – understanding where people fit in has always been the key to success for any member of a team. Feeling like just another cog in a large machine is always debilitating.
* Having access to the best tools and methodologies – as a corollary, few things can hold a team back more than using outdated approaches.
* Delivering for customers – a project which is signed off and has satisfied a customer is exactly what any software developer is working for.