Yards, balls, fences, and software engineering

2020-08-20 2 min read

    One of my strongest beliefs is that the best engineers are able to find ways to unblock themselves. Similarly, a pet peeve is when people say “that’s not my job” and expect a problem to be fixed by someone else. Sure this may occasionally happen but it’s important to have the attitude that you’re willing to get your hands dirty in order to solve your problem and move on.

    An analogy I used to represent this concept is to imagine having a house with a yard that’s next to a neighbor. Let’s say you’re throwing a ball around and it lands in your neighbor’s yard. Do you quickly hop over, grab it, and then come back? Or do you go to their front door, ring the bell, and then have them retrieve it for you? If you have a good relationship with your neighbor you’d clearly just go and get the ball.

    Now imagine the relationship’s not so good and there’s a fence. Would you hop over it? What if it was barbed wire? What if it was also electrified? You can keep going making it more and more extreme but at some point you just can’t get the ball yourself and may even need to write it off entirely.

    The goal for engineers, their teams, and their applications is to be the friendly neighbors where visits are not just tolerated but encouraged. That’s how you’re able to move quickly and assume end-to-end ownership over the product you’re building.