Share this article

Share on facebook
Share on twitter
Share on linkedin
Share on reddit

All the best engineering advice from non-technical people

This post lists the key insights from this article, by Auth0’s engineering leader, Marianne Bellotti.


1. “People like us make our money in the seams of things”

Who said it: a Senior Official at the National Security Agency (NSA)

How you can change your approach: Start applying a creative writing technique called 100:10:1 to evaluating and rescuing software systems. The idea behind 100:10:1 is simple:

  • Brainstorm 100 things that could go wrong
  • Pick 10 on that list that feel like the most likely and investigate them
  • Find the critical problem you’re going to focus on.

The numbers themselves are not significant. The idea behind 100:10:1 is that you generate so many potential ideas you scrape the absolute bottom of the barrel and bring non-obvious things to the forefront. As you dig into the ones that feel the most likely, over time the list whittles itself down. Some ideas just end up flat out wrong, some merge with other ideas, some split off, some get ruled out because there’s already someone looking at them… eventually you hit on something in the seams that everyone has missed.

Approaching problems this way also changed the way the author’s team behaved for the better. Often the hardest part of working as a team is giving people permission to bring up ideas that are ultimately ruled out.

The author’s team talk a lot about psychological safety and giving people permission to speak their mind, but there’s not a whole lot of guidance around how you do that. Being a person who is not afraid to ask the stupid questions and who lets ideas get thrown out easily without a big argument has created an environment where correcting each other and debate doesn’t feel like that big a deal. It normalizes the process and people stop keeping score because it’s clear that their boss isn’t.

2. “Know what people are asking you to be an expert in”

Who said it: Leslie Ryan, a TOEFL instructor

How you can change your approach: Too often engineers get so wrapped up in wanting to prove they’re good enough they railroad colleagues with complimentary skillsets without realizing it. Software engineers suddenly act like they can be their own product managers, designers, copy editors, and sales people. It isn’t always clear to professionals in other disciplines that this need to be a one person team is how engineers look for acceptance and respect.

When you find yourself itching to interrupt someone with your thoughts about a topic you might try to ask yourself “what am I being asked to be an expert in here?” Often you may realize that in your enthusiasm to show my casual knowledge you are about to correct someone that who has devoted a considerable amount of time and effort into developing their expertise in the topic. You will never regret keeping my mouth shut and letting them speak.

3. “Before you can make things better, you have to stop making them worse”

Who said it: A group therapy facilitator at NAMI

How you can change your approach: If you’re doing things for colleagues and denying them the ability to either do it themselves or participate in the process, you’re not helping, you’re making them dependent on you. Even if the end result is much faster doing it yourself.

Doing things for people is rarely as helpful as it seems like it should be. If they don’t understand what you built, you’ve made things worse. If they don’t know how to maintain it, you’ve made things worse. If you didn’t know enough about their requirements to get implementation correct, you’ve made things worse. If they don’t care about using or maintaining the thing you’ve built because they didn’t build it and have no sense of ownership or obligation to it, you’ve made things worse.

It’s almost always better to help by supplementing existing efforts rather than taking some work away and bringing back a solution.

4. “To go left, turn right”

Who said it: Sifu Jesse Teasley

How you can change your approach: One of the core concepts of Taoism is the harmony of opposites. Basically Taoism acknowledges that the human mind loves binaries: white -vs- black, right -vs- left, soft -vs- hard, good -vs- evil. This is the way we are wired to think, but it’s also inaccurate. Nature does not honor such strict distinctions. To the point that their usefulness at all is debatable. They make complex thought easier by eliminating some aspects of variation, but they also make us vulnerable to big mistakes when the pattern doesn’t hold.

Taoists understand that we’re inclined to over-optimize based on these false dichotomies. If softness is a desirable feature in given context we try to eliminate all hardness. If white is preferable, we scrub away the black. These states of purity are not just unattainable, they are built on a dichotomy that is not real.

We all know we should challenge assumptions, but that calls on us to realize we are making an assumption in the first place, which is not as easy. The Taoist advice of not moving in any direction before looking for and considering the opposite path bypasses this problem. Everything is an assumption when you are doomed to see in binaries.

5. “Thinking is also work”

Who said it: Unknown

How you can change your approach: It seems silly that people need to be told that, but many of us have been trained to believe that if we’re not seen to be working, then management will assume we’re slacking off.

Organizations have to constantly be reminded that they hired great people who know what they are doing. They know that in the beginning, but over time if the value of their employees is not observable then the trust degrades and bureaucracy becomes more and more attractive to leadership. The reason why people have to be told to take time off when they have unlimited vacation time, or go home early if they’re finished at 2pm, or not to answer emails after midnight is because they have innate understanding that being observed working is more valuable than the results of their work.

Obviously this creates a culture that leaves everyone worse off. The employees burn out. The organization’s efficiency degrades. Poor performance decreases trust which increases bureaucracy… The turning point in my life was the day I realized to run great engineering teams I didn’t need to be the best engineer in the world, I needed to get good at advertising my people and their stories up the chain of command. I needed to improve their observability so that we can keep bureaucracy at bay by maintaining a high level of trust.

5 min​ read

Subscribe to our newsletter Weekly Bytes to get our curation of the top 5 articles of the week.

Subscribe to our newsletter Weekly Bytes to get our curation of the top 5 articles of the week.

Need visibility in your software development lifecycle?
Comments