The tech world is constantly, rapidly changing and many tech companies are growing up. They are adding to their product portfolios, increasing the number of employees, servicing more users, expanding global reach and more. Typically, when an organization grows up, it doesn’t happen overnight. It takes a lot of hard work, onboarding new talent and a collaborative culture to bring business ideas to fruition. This growth often involves integrating new roles, methodologies and cultures to help a business succeed. One of these new cultures to emerge was DevOps.
DevOps evolved from the need to take a new approach to how developers work. As technology advanced, developers sought new ways to approach their strategies and DevOps emerged as a way to explain this process. It stems from the concept of shortening the systems development life cycle and focusing on continuous delivery with high software quality. This approach empowers developers to perform end-to-end tasks—from development through testing to deployment and operations in production. Many now recognize that DevOps is a set of practices that combines software development (Dev) and IT operations (Ops) and what eventually evolved is a culture that supports developers in the ability to fulfill the jobs at hand.
Built on the foundation of engineering culture and dedicated to empowering engineers, the DevOps culture is intertwined with the concept of continuous delivery and gives developers the responsibility and ability to deploy their products end-to-end. This means developers can move fast and work independently. While DevOps usually refers to the operational aspects of a software development life cycle, it can be beneficial to take it a step further. In a truly developer-centric culture, the engineer is involved in the entire life cycle of software from inception, product, QA all the way to operating it in production. For example, an engineer who is working on their product can progress quickly because they can operate as though they are within their own startup. Engineers can release a feature in a few minutes once they develop it. However, to thrive, this culture needs an entire organization’s support.
Being involved does not necessarily mean being fully responsible. Product managers, for example, are responsible for the product, but it’s essential that the engineers are involved in the product definition. This goes for all aspects of the product development life cycle, where engineers need to be involved in everything.
There are effective ways leadership can support a developer-centric culture. The more this culture is embraced, the more successful a company’s and the industry’s engineers will be. There are a number of ways organizations can effectively support DevOps and build and sustain a developer-centric culture.
- Understand developer-centric. Without understanding what DevOps is, it’s hard to nurture its growth. It’s important to keep in mind that it’s a concept of empowering developers to seamlessly work through the SDLC. Many view DevOps as a role or a job description with a specific set of responsibilities, but it’s much bigger than that. It’s a culture.
- Set guidelines, not rules. Developer-centric cannot and will not fit into a box. Most companies create checklists of to-do’s for processes but those ultimately fail. Instead, companies should focus on creating guidelines to encourage creativity and critical thinking so engineers can effectively plan, assess and reflect on every portion of their contribution to the final product and the process. It’s key to have engineers that are proud of their work and proud of what they’re working towards.
- Nurture engineers to take ownership and responsibility. Involve engineers at every step of the product life cycle, starting from product inception. C-level leadership and other managers need to trust the team to think proactively and execute effectively. The team was hired with a purpose; don’t micromanage and accept that some developers might do things differently than others—there’s not necessarily only one “right way.”
- Foster a collaborative environment. Collaboration between engineers—as well as between engineers and other departments—can spark creativity and solutions to problems or create new products entirely. Furthermore, hearing and respecting different viewpoints can inspire positive change throughout the entire organization.
- Embrace mistakes and encourage continuous improvement. There’s no right or wrong way to do things, so it’s important to empower engineers to be creative and have the flexibility to make mistakes. Their mistakes can lead to insights and knowledge that might not have been discovered otherwise. Pain equals growth. Making mistakes and taking risks make individuals, departments and an organization better.
- Empower engineers both inside and outside the organization. As companies grow, their responsibility to the tech community grows, too. The term “empowering engineers” should be seen as a responsibility both inside and outside an organization. The stronger and more empowered engineers are, the stronger and more successful the industry will be as a whole.
In conclusion, as companies grow up, it’s important to be fluid with the roles and cultures that morph to accomplish goals and objectives. Developer-centric is an example of when culture evolves to accommodate and tackle a new demand within a business. If you think of a process of software development at an assembly line, we take the assembly line and make it a circle so that developers that write the software are responsible for the whole life cycle from writing it to operating it. It’s a dev-centric culture. Now that dev-centric is here, it needs to be nurtured and supported by leadership, both inside and outside the company to thrive.