Building an Engineering Culture to Get Things Done
Now that we are in full transition from ‘Dev’ and ‘Ops’ as separate entities to the BizSecDevOps way of working, we will be able to empower platform and product teams to create a better IT experience.
But with power comes responsibility. What we really need, is an engineering mindset focused on code as the basis of everything we do.
Technology, of course, takes center stage in our transition to DevOps. From an architectural point of view, we choose standardized ecosystems with reusable components.
This doesn’t only apply to the development platform, but also for IT services used throughout the organization, ranging from network services to workplaces and security measures.
More standardization helps us create more secure systems. When looking at recent cybercrime activity, we see that attackers use third-party vulnerabilities (e.g., Log4J, SpringShell) and a best-of-breed approach only leaves us more vulnerable. We should be on top of our game — for example, with quick patching — to maintain our digital resilience.
Of course, the change we are making is all about our customers. But what does this mean for our work culture? More specifically, what behavior fits our vision of customer-centric DevOps?
If we don’t want to be, from an innovation point of view, a smart follower — or even worse, a digital laggard — how do we interact and do our jobs? This question is important because technology and culture go hand in hand. To be able to become a digital attacker and enabler we need to embrace an engineering culture and mindset that is focused on making, great, stable and secure, in essence, awesome products for both our internal and external customers.
Taking small steps, experimenting, and learning by failing is fundamental
It is a big step from ‘being told what to do’ to a new situation where work is organized in product hubs and platform services. An engineering mindset is centered on the engineering process itself. When everything is code, we need to pay attention to tooling, knowledge, and skills.
Just as a good carpenter cannot work without proper tools and a solid education, an IT specialist needs proper tooling and an environment that encourages knowledge building. Moreover, experimenting is fundamental to becoming a digital attacker and enabler. Making mistakes is, therefore, something that should be encouraged, rather than punished.
Having the right engineering mindset in place should lead to more speed in delivery, a clear focus on customer intimacy, and an understanding of the impact of the work you are doing.
Logically, this would translate to doing the right things the right way — with a secure fundament supporting what I call ‘stable innovation’. Of course, we still need structures to do this.
Organizing the ‘learning’-part of an engineering culture is perhaps the most fun. We will see things like hackathons happening in our organization and that is something to look forward to. But this is only one aspect of the agile way of working.
New type of leadership
New, leading principles for our agile organization (building customer value, autonomous and stable teams, taking end-to-end responsibility for products), require a culture shift and new skills.
For example, leadership will be geared towards supporting dialogue rather than hierarchy: leaders create the conditions in which the teams can thrive. But also, continuous learning should be rewarded.
Making mistakes is OK if you learn from them. With agility in mind, we should also build and maintain short feedback loops: start small, learn fast and adjust where needed. And finally, the decision-making process should be data-driven: we measure and show our results, although there should still be room for intuition.
What does this all mean for you and me? A new culture with new structures is a lot to take in. But just like Rome wasn’t built in a day, we can say the same for some highly digital financial services in our industry that lead the way by embracing the agile way of working.
Our biggest challenge is for teams to get behind the steering wheel. To take responsibility, over code and the customer value they create with it. We can ‘wow’ our customers as long we are willing to learn and improve.
The good news is that there is a ‘fun’ aspect that comes with learning new things. Creating an engineering culture is a journey. So don’t forget to enjoy the sights along the way!
Also published on Medium:
https://betterprogramming.pub/building-an-engineering-culture-to-get-things-done-e19ce87f4132