Content
Ensuring that services restart automatically if possible when they fail and that services are easily and quickly replicated at peak traffic is the only sane way to manage complexity at scale. In the short-term, there’s always the tempting tradeoff of applying a quick band-aid manually rather than automating and testing a long-term fix. Nick’s article is packed with good ideas for maintaining your engineering culture. If you think you have one and want to keep it please realize that doing so requires vigilance with every hire, review, promotion, and product decision.
Balance team effort and “playful competition” between individuals to foster an environment of continuous, incremental improvement. This works within and between engineering teams, as well as across guilds of agile coaches, business analysts and champions that are placed at the heart of each enterprise start-up team. I believe an engineering culture is one that values data driven decisions, precision solutions, and purposeful interfaces for humans and integrations alike. It is a culture where emphasis is on merit of content rather than authority or ego. It is a culture where leaders are happy to be wrong, learning is paramount, and respect is earned .
Contact us to build the right product with the right team
Hopefully, it goes without saying that you don’t need to dose your developers’ code with soap and water. For instance, machines understand code as a series of 0s and 1s. However, developers do not have to use machine code to convey their messages. But even with something seemingly simple like a change in code or project requirements, there can be pushback. The more iterations you get out in a speedy manner, the more feedback you have, and the quicker you’ll arrive at a successful finalized project.
- What this does mean, however, is that another software professional should be able to look at your developers’ code and get a good idea of what’s going on.
- This stifles tolerance and acceptance of different points of view.
- There is a difference between “having” many cultures where one is an engineering culture and participating in a single culture that drives your organizational values.
- A clear mission statement is a foundation of winning engineering culture.
Do people feel safe being themselves and voicing their opinions, even if they might disagree with others? Is paying attention and acting on microaggressions and unconscious biases part of the culture? When something goes wrong, do you run a blameless process, focusing on the systemic root cause over who caused it? This can be for outages, technical issues, or failed decisions. One of the main cornerstones of transparency is feeling like you can safely give and receive feedback. Transparency creates trust, inspires innovation, and supports healthy work environments. When every team member is up-to-date with what is happening on their team and why, they will, in return, be more engaged in their work and more creative in solving problems.
Break out of your silos and learn to collaborate
The focus on efficient processes is a staple at Google, and it can be applied in any company. The examples of training resources, coding standardization, and nurturing blameless culture presented in this section are scalable to any company, be it one with 15 employees or one with 15,000. But, besides heavily investing in technical documentation and guides, Google also expects its engineers to follow the company’s core principles.
- Copying every step of the companies we presented here isn’t realistic nor necessary; however, if you get inspired by any of them, you can create your own thriving engineering culture.
- Encouraging a strong unit testing culture shifts the validation responsibility toward the authors.
- This way, members can give and receive helpful feedback and suggestions.
- Consistently deliver business value — become the key person your team trusts to ship business-critical initiatives.
- This has a detrimental effect on their productivity, inhibiting them from working to their full potential.
They spend day in, day out coding, and it’s only understandable they would want to see the outcome of their work. This high level of autonomy can lead to better products, more engaged employees, and happier customers. In addition to this, teams at Spotify have such a high level of autonomy that one team can change another team’s code. For example, if team A wants to access team B’s codebase, team A has to ask for the change first. If team B says “go” but is too busy to do the change, team A has the complete autonomy to change the code itself. One way of making people feel closer to each other is by organizing team-building activities. For example, you can create different channels on Slack where people will connect and interact in meaningful ways outside of regular meetings.
Build Commitment to Management Decisions
Apart from salaries, code, revenues, and diversity stats are all published on Buffer’s transparency page. By being fully transparent, trust between team members has increased drastically, which has helped create a healthy and sustainable work environment. What these activities will do is they will help you build a great culture. Your engineers will learn about their coworkers’ strengths and weaknesses, who they can trust in really stressful situations, and who they can reach out to for a quick drink after work. Copying every step of the companies we presented here isn’t realistic nor necessary; however, if you get inspired by any of them, you can create your own thriving engineering culture. The interest of every tech company is to keep their engineers happy and productive. As you can see, one of those awards is for the Best Engineering Team.
How does culture affect engineering?
Established environments evoke a culture and a set of norms that provide situated experiences. These culturally influenced experiences shape our understanding, identity, interest, and solutions to engineering problems.
When it comes to things outside of the software project, it’s similarly important to listen to the concerns of those around you and give them a benefits package that proves you care. After hiring, you should routinely check in with your developers and measure their and the company’s progress in practical ways. At that point, your job is to communicate your goals clearly and effectively and make certain that your potential hire is on the same page. When you align your goals with the goals of your engineers, magic happens.
Engineers are free to design and implement better ways to help solve problems. As a result, the company creates better products and services that customers value and appreciate, achieving customer satisfaction. Also, there is an emphasis on cross-collaboration among different teams. For example, the engineering culture of Spotify views its engineers and teams metaphorically as a jazz band. Although each musician plays a different instrument, they all listen to each other and focus on the same song, which works for the company’s success. So here are the major advantages of developing a strong software engineering culture for your company.
You can start by asking questions like, what do you want your team to achieve? What values would facilitate the achievement of your mission? Once you are clear on these, it’s time to carefully cultivate, nurture and encourage those values among team members. We have helped 200+ companies worldwide build high performing engineering culture and hire remote developers.