Today technology is more complex, fast paced and challenging, especially for application developers who are being hit daily with either new application requests or change requests from the business. As a result, many developers are now overwhelmed with the demands placed on them and are finding it hard to keep up.
I find that typically developers fit into two camps – the more traditional developer that I have just described, or the ‘rock star’ developer. Like many rock stars, these developers although highly intelligent, tend to be non-conformist and are sometimes difficult to manage.
What differentiates them from other developers is their absolute pursuit of professionalism. These developers are totally focused on writing functional, correct, quality code. They write code that is designed well, reads well, and that expresses the intent of the author. However, their pursuit for perfection is not always helpful for the business, which needs new projects delivered yesterday.
Whilst wholly admirable, the problem is that rock star developers sometimes have a lack of focus on business requirements and can become too obsessed with delivering great technology, rather than what users actually want. Often the user experience is an afterthought once the code has been developed.
Don’t get me wrong, I am a great advocate of software craftsmanship. Developing clean code, code that works and delivers a great user experience (UX), is critical to the uptake of new applications. From my perspective applications fail not because they are functionally poor but because they have not been adopted properly.
UX can’t be a late addition, it needs to be at the forefront of an organisation’s development strategy. Developers need to design something that people want to use without getting frustrated and this means investing a lot more care, thought and testing into the design process and it also means producing good code.
The good news is that I believe that we are now seeing a third type of developer starting to emerge who takes the rock star developer’s passion for professionalism to the next level. This new breed, of ‘change agent’ developer is more business savvy, entrepreneurial and innately understands the importance of the user experience.
The ‘change agent’ developer takes ownership of a project and works collaboratively with the business to transform business requirements and product specifications into user benefits. Uncharacteristic to the more traditional developer, the change agent developer, actually thrives on change and brings market changing ideas to the CIOs office. Other key attributes include:
- A more balanced set of skills that combine good communication techniques with sound business acumen, which enables effective interactions across different business functions.
- A business delivery attitude that is open to organisational and technological change. Instead of fixating on why something cannot be changed they seek to find a way to accomplish the goal and what it will entail. They typically work across multiple systems, applications and platforms and understand inherently how everything needs to works together.
- A real passion for delivering a great user experience. This new breed of developers really cares about the user experience and as a result has a more iterative approach to new projects. They constantly conduct user tests to ensure that they have understood their needs and that the project is progressing in the right direction.
- A drive to deliver great applications that are designed well, read well and contain good clean code.
- A proactive, questioning approach that thrives on change and challenging the status quo.
Whatever type of developer you have within your organisation, the first two I described or the emerging developer, the reality is that we probably all have a mix. However to deliver some or all of the attributes outlined above developers really need plug and play technology that enables the seamless integration of best of breed design and best of breed development.
In reality this new breed of developer should and will become the norm because businesses will demand it. I therefore believe that moving forward all developers need to adopt a business delivery attitude, they must care about the user experience and want to deliver great applications and be proud of the work they produce. This might sound like Nirvana but with the right tools, the right attitude, appropriate support from the business and training, you will be amazed at what the application development team can accomplish.