Caring Makes or Breaks an Engineering Organization | by Bruce Wang | Medium
This was originally published here when I worked for Shippo
An engineering leader and I discussed various experiences we’ve had with poorly-performing team members and came to the same conclusion: Caring is 90 percent of what makes an engineer successful in an organization. This concept has evolved over the years but as I’ve thought about the previous teams I’ve led and the current teams I work with, the central concept of caring keeps resurfacing front and center. But, caring is such a broad and ambiguous term. I had a hard time explaining it as this behavior came through the work and decisions each engineer made. So how do you explain it? I think it boils down to these three concepts:
- Care about the company (and its customers)
- Care about your co-workers and their success
- Care about your own wellbeing
As you read this, it should make intuitive sense, but what does it really mean? What are the actual factors and behaviors that promote caring? How can an engineering leader affect change–both at the individual level as well as the company level–to build a culture of caring that defines highly-effective engineering orgs?
What Not To Do
I want to believe that the above is a facetious representation of a company’s culture, although I wouldn’t be surprised if that exact scenario has actually happened. Before we talk about what companies can do, it might be easier to talk about the anti-pattern feelings (like the software concept; something that is counterproductive) that employees can feel when there isn’t a caring environment:
- They don’t feel like people listen and have stopped offering suggestions
- They don’t know why they’re working on something
- They are pulled in different directions and can’t focus on the priorities they own
- They listen to culture or core values talks with disdain
I believe that many of these feelings start small — tiny annoyances or small things that happen that cause dissonance in someone’s mind. Usually it’s something that runs counter to the company’s core values or something a manager said they believe in but doesn’t actually practice. These feelings can easily snowball so you have to be really careful to address things quickly. I don’t believe anyone sets out to create a dysfunctional company (at least I hope not :p) so the question is: what can a company or leader do?
It Starts at the Top
It is a company or leader’s duty to establish an environment in which caring flourishes and employees thrive. That’s why I believe it’s incumbent on the company and its leaders to create this welcoming environment. While I do believe in bottoms-up autonomy, that doesn’t happen if the general company environment is hostile towards it.
Here’s the rub though: creating a caring culture is hard. It’s actually really hard. If you think about the above scenarios, a company may not be able to address employee concerns not because they don’t care, but because the deep-rooted cultural or leadership problems are hard to change. Giving real, authentic feedback is hard and uncomfortable. At every level of management, ceding control to your team is really hard (especially if you’re the founder and it’s “your baby”). Being transparent is scary, especially if things aren’t going well. Feeling the pressure to survive is legit and time is not on your side. If you are growing fast, it can seem horribly misguided to experiment or take unnecessary risks.
All is not lost! You’ve probably read about psychological safety and intrinsic motivation through autonomy, mastery, and purpose. These can help promote caring. Here are some examples:
Psychological Safety
What Promotes It
- Solicit feedback about what you’re doing well and not doing well
- Let people talk openly. If an issue arises, be as open and transparent as possible in how you address it
- Be vulnerable, let people know your concerns, worries, and encourage them to give you feedback in order to build trust in each other
What Kills It
- People get push back immediately when they make a suggestion
- There’s no forum or person one can talk to about concerns
- Dominant personalities that take up all the conversation or stifles open discussions
Autonomy
What Promotes It
- Give time for small ideas (that could turn into a big idea) to be easily socialized and worked on during a standard sprint or kanban flow
- Increase the volume of things you try. Don’t try one thing every three months, try three things every month
- Hold hack-a-thons to encourage exploration of new technology
- Make sure OKRs are built from the bottom up. Encourage objectives from the team or individuals that could really move the needle for the company
- Rotate presenters during engg meetings or all-hands. Don’t always be the one talking or leading discussions
What Kills It
- Lack of transparency, decisions are made without any input
- Decisions are handed from above
Mastery
What Promotes It
- Create a development plan for each engineer to understand where they want to explore and grow
- Give time for engineers to go deeper into their craft. Find areas they are interested in and let them explore it freely
What Kills It
- Too many intensive, time-sensitive deadlines to meet
- Just keep doing the same things you’ve always done
- Nowhere for people to grow into
Purpose
What Promotes It
- Making a concerted effort to ensure that engineers understand the relevance and value of the work they’re doing and to encourage them to always ask why if they don’t understand.
- Do a team mission exercise and write things down. Define the purpose of the team (or the company). Go through what your team should be working on and what they shouldn’t be. What are the critical areas they care about?
- Use OKRs to focus, align, measure, and stretch the team and give them a good idea of what’s important to the company
- Focus on customers and train your people on why the industry and customers matter
- Do rotations into On-call, Customer Success, or other fields. Feel what it’s like to be on the other side
- Encourage intermingling with casual, brief, and gentle interactions such as book clubs, snaccidents, yoga breaks, spontaneous, caffeine-finding adventures, or donut buddies.
What Kills It
- Lack of transparency to high-level goals, decisions made in a vacuum
- Decision are handed from above
You’ll notice a recurring theme here, and it’s really these three things: time, transparency, and feedback. An abundance or lack of these items goes a long way to creating or destroying a caring environment.
Caring Means What Exactly?
What does caring mean in the context of the company, teammates, and yourself? It’s not possible to give an exhaustive list but here are some patterns and anti-patterns to align your thinking:
About the customer
- You routinely take into account what value you’ll deliver to customers
- You push different changes frequently to gather feedback from them
Anti-Pattern
- You don’t know how the customer uses your product
- You go into a hole months at a time to “perfect” the solution
About your teammates
- You celebrate wins with the team
- You gather feedback from people before continuing on anything
- You always leave the code and/or documentation in a better place
- You refactor code to lessen code debt
- You add unit tests for your code
Anti-pattern
- You’re in your own silo with no idea what other teams or people are doing
- You don’t trust product or sales to do anything right
- You make changes without telling anyone
- You’ll let someone else clean up your code or mess
- You don’t think you’re to blame for anything
About your wellbeing
- You take a vacation without worrying about things falling apart
- You add unit tests for your code (yes, this is as much for you as your teammates)
- You feel a sense of obligation to leave the code and/or documentation in a better place
- You’ve had time to read at least two books that grow your competencies over the past ___ month(s)
Anti-pattern
- You’re always on-call
- There’s too much stuff to do all the time and you’re working nights and weekends
- You can’t let go of things you own as it’s too important for someone else to handle
But, What About Technical Competency?
(Image Source: Stratechi)
In a meeting with a senior engineering leader whom I respect, the topic of technical competency came up. His argument is that, regardless of your caring capacity, if someone doesn’t have the technical chops to do the job, they just won’t cut it. He even gave a specific example of a previous employee who cared but just didn’t have the technical ability to grow and learn on the job. The caring concept doesn’t obviate technical acumen, intellect, or curiosity but my thesis is that caring makes up a larger portion of success than one may realize and a company and/or leader has an outsized effect on that. This is why good managers are so important. They should bring out the best in their team; not only are they optimizing for skill growth, they should also optimize for maximum caring. I really like the Will Skill matrix to highlight this. You can completely control will in this case, and I would substitute that with caring. You obviously want people in the upper right quadrant but people fall into any of these categories, and they could actually fluctuate from the different boxes throughout their tenure depending on the tasks and situation at the time.
Parting Thoughts
I hope I’ve shed some light on this caring factor that is elusive yet so powerful in your organization. Creating an organization that fosters caring is hard, especially over the long run. But it’s a crucial and an important thing to consider. Building this from the beginning, and interviewing, managing, and growing people based on it is critical to your team’s and company’s success. But for me, this challenge is what’s also exciting, it creates opportunities to enhance and grow an org. I’ve found that this concept can be applied to organizations of any size, from two to 2000 people.