Once upon a time, a skilled developer was one who specialised in their technologies of choice. And while specialisation and expertise are always valued, the current digital world is one that encourages cross-skilling, flexibility and collaboration.
There are a number of reasons for this. Firstly, technology itself is changing. Digital consulting companies are moving away from traditional forms of infrastructure such as traditional web applications and enterprise architecture. Instead, organisations are increasingly valuing adaptability, embracing new technologies such as low-code and automation tools which promote fast development and accelerated change.
Similarly, the way that we think about delivery has changed. While waterfall delivery is still common, organisations are shifting towards agile as a delivery methodology. Instead of the slow, siloed process of waterfall delivery, agile takes an iterative approach, drip-feeding complete, usable features to ensure a project delivers value immediately. Low-code and methodologies such as DevOps work together with agile to allow for faster development that is more easily adjusted when needed.
Agile is also, crucially, a very collaborative approach to delivery. Rather than having specialised teams working in isolation, agile uses cross-skilled teams working together throughout the project. Each member of an agile team has an understanding of the project as a whole, and by working closely with people in different roles they are able to better understand where their work intersects, workshop solutions cooperatively, and highlight any potential issues early on.
Finally, the way that we think about projects has changed. There is a far greater focus on the idea of value – on what the benefit of the project will be. We don’t just build apps, or websites, or products: we build solutions, which means there has to be a problem that it will solve. After all, there’s no point in spending time, money and effort creating a fantastic product if there’s no reason for anyone to use it. This means that user experience and user interface design (UX/UI), along with other methodologies like human-centred design or design thinking, are considered vital to the success of the solution. To ensure a solution delivers value, there is a focus on making sure it is simple and intuitive to use, and that it addresses the real needs of its users.
So, what does all this mean for the role of a software developer? Well, as technology platforms become more sophisticated, specialist knowledge is less crucial. Many platforms now have functionality such as server installation or database administration built in, so the role of a developer becomes broader. A typical role on a project may include a combination of architecture, design, solution management, and more.
At DB Results, a good developer knows their chosen technologies inside out, but is also focused on cross-skilling, flexibility, and being able to understand and take on multiple roles across the project delivery lifecycle. For developers who are still starting out, a creative, solution-oriented mindset is often more important than the technical know-how you might have. There is always opportunity to develop new skillsets as technology continues to change, but a creative, adaptable mindset will ensure your work delivers value to our customers well into the future.
Applications for the DB Results Graduate Program are now open. Visit our graduate page to find out more.