Building a collaborative Engineering Culture
Look into the benefits of having a team and how to collaborate effectively leading to a great healthy engineering culture.
Engineering culture is not defined by free food, perks etc., it's the culture which consists of principles, values and practices that everyone in the team follows and contributes to. Most companies look for these values when hiring candidates as they want to make sure the future team member can blend well into the team quickly and easily.
Since the team forms the backbone of culture, let's discuss teamwork — its benefits, effective collaboration strategies for growth, fostering a positive environment, and building psychological safety. The learnings I am sharing are a blend of personal experiences and knowledge from books like Software Engineering at Google.
⭐ Everyone in team contributes to the culture in some way.
Today’s post is brought to you by Schematic.
Pricing and packaging shouldn’t live in your code
Schematic brings pricing, packaging, and feature management together in one platform — so you can focus on building great products, not maintaining billing code.
See why high growth companies, from YC startups like Zep to scaling companies like BlackCloak and Automox, trust Schematic.
Benefits of Team
Sharing the top three benefits when you work in a team setting.
Early Detection
One of the biggest benefits is detecting problems early and quickly based on the feedback from the team. For example:
Design and code reviews from team can provide you the necessary feedback, enabling early identification of issues.
Bus Factor
Having a team provides peace of mind, like in the absence of someone the team can still perform effectively and efficiently.
💡 The number of people needed to get hit by a bus before the project is completely doomed, in ideal team setting the bus factor is low.
Engineers working in isolation are less likely to take time off or may be frequently interrupted during their break. A strong team thrives on a culture of knowledge sharing, which we will discuss in future article.
Pace of Progress
Progress pace can vary depending on team size and work, having team members on the same project can help remove many blockers. For example:
Getting stuck on a new codebase can be resolved more quickly if someone on the team is already familiar with it.
Senior engineer can help overcome cross-team dependency challenges.
Collaboration Tips
Working well on teams comes with some standard set of qualities that everyone should have or learn overtime. Some important ones are:
⭐ Basically, don’t be a jerk, no one likes them.
Don't blame, be curious
When it comes to mistakes made by Engineers, it is always a better choice to play it as a team and don't blame on an individual.
This often occurs when an engineer makes a costly mistake.
It is leaders’ responsibility to protect team members by ensuring the mistake is viewed as a result of team-wide gaps in best practices or processes.
Everyone should be curious about solving the problem.
Respect team, avoid judging
Respect is the most important trait here. Respecting everyone irrespective of their title is highly encouraged.
Don’t judge based on mistakes, bad experiences, silly questions or ranks.
Build a physiological safe and inclusive environment through open minded discussions.
Everyone has different experiences and opinions, and listening and understanding them is everyone’s job.
Share goal, vision & values
Teams should inherit goals, vision and values from the company and add team specific flavor if needed.
Every member should follow these and have faith in them.
Actively practicing them fosters a collaborative culture, enabling projects to progress quickly.
Focusing on these greatly reduces the difference in opinions which can lead to unhealthy conflicts.
Open to Feedback
Feedback is part of continuous learning, receiving a constrictive feedback could be challenging, the best way to handle is:
Focusing on the feedback rather than the person giving the feedback.
Taking time to digest the feedback rather than replying quickly.
Asking followup clarifying questions and suggestions.
I talked about receiving feedback, for giving feedback checkout the article below by
.Be kind and polite
As mentioned before, no one likes jerks. It's all about being kind and polite.
Collaborate selflessly without having ego.
Always maintain respect and avoid personal attacks or assumptions of being personally attacked.
Commonly occurs during design discussion and review process.
Example review comment: 'This is wrong, fix it' vs 'I think it can be improved by doing XYZ, can you look into it please?'
Now you know the benefits and ways to work well in teams. In the future article, we will discuss how we can take this further by focusing on one of my favorite core values: Learning continuously through knowledge sharing.
Related Content by
:💬 What other collaboration tips would you add? Share your thoughts in the comment section below.
Every project has two significant outcomes: 1. A product (which may be successful or not) and 2. A team that will have more experience. An end of project review must look at both of these. I always felt that the second of these was the more important one.
Great advice, Junaid and thanks for mentioning my article!