Recently I’ve been thinking about the state of development and the makeup of the modern developer.
At Settled we are an early stage startup and for that reason, the things that give us a competitive edge is the ability to deliver and change at speed. The increased speed of development and fewer bottlenecks results in shorter feedback loops and greater agility as a product development team.
One thing that gives us agility is that all our developers are full-stack, which means there are never any bottlenecks in the type of development work we need to deliver. Some weeks we are frontend heavy and some weeks we are backend heavy, which is not a problem for us, as all our engineers are capable of working across the entire stack.
Now some people may say you need the division of labour to create front-end and back-end specialists. However, I believe this is actually more suited to large enterprises that have matured to a size where they are able to deploy teams of specialists to focus on software optimisation across their various products.
We are a product and customer-driven business, the most important thing for us is to deliver the features our customers want as fast as possible. We have found that creating a team of full-stack developers has resulted in our developers being more product focused and having a stronger connection to the product.
The reasons for this are as follows:
- Developers are responsible for delivering features end to end, resulting in UX driven development.
- Developers begin to take greater pride in the work they deliver as it is tangible and visible and as a result take a greater interest in customer feedback and interviews.
- Being a full stack team we heavily rely on frameworks tooling and Paas/SaaS products. What does this mean? It means that our developers are freed of the cognitive load of low-level generic problems, to think more about the domain-specific problems that are important to our customers.
The level of engagement with the product also results in better relationships with the rest of the product team i.e. Product Managers and UX/Design. Resulting in a highly aligned team that collaborates very tightly with each other. The most important benefit of this increased level in engagement and alignment is overall a happier team.
With all of the above in mind my predictions for the future are as follows:
- I see the industry moving more towards full-stack product engineers.
- All of the low level and generic problems of software will be solved by SaaS and frameworks that will free engineers to focus on their problem domain.
- PaaS and serverless the predominant infrastructure for running code in the cloud, with the same full stack developers required to code these infrastructures.