Your approach matters more than the technical details.
I lived in the library during college.
“The more textbook theory I studied, the better an engineer I would become,” I thought. Yet when I started working, I noticed that the best engineers in the industry didn’t necessarily know more theory than new grads. They just brought a different mindset, the investor’s mindset, to work.
It was this mindset that helped them ask smarter questions, prioritize better, and set themselves apart. Like an investor they:
focused on work that paid off sooner than later
calculated if the work was worth their time or not before diving into it
weighed the opportunity costs of their work
In this article, I discuss 3 common problems every engineer will face in their career, and how the investor’s mindset will help you make the right technical decision every time.
1. When will your work payoff?
In investing, there’s a concept called the “time value of money.” This refers to the fact that money now is worth more than money later. You’d rather have an investment pay off one year from now rather than five years from now.
Engineering work has “time value” as well. Engineering projects that payoff now are worth more than engineering projects that payoff later.
2. Is this project worth your time?
Warren Buffett once said that a company’s returns are “far more a function of what business boat you get into than it is of how effectively you row.”
The same principle applies to engineering. Working on the right project (getting in the right boat) is more important than the details of the code you write (how hard you row).
This is particularly important when it comes to buy vs. build decisions in engineering.
Although I admit I get excited by greenfield projects, it’s important to not dive right in and default to “build.” Like an investor doing due diligence, engineering must calculate the costs and benefits before deciding to go either way.
Some questions I ask to decide this include:
If we purchased a solution, how easy is it to integrate and maintain?
Is this feature a core competency of the company?
How expensive is it to build this at all?
With this last question — it’s important to estimate the costs of any “build” proposal to make sure the expected rewards are proportional to the engineering effort. One way to establish a baseline for this is to:
Estimate how many hours a project will take.
Multiply this by your hourly engineering rate.
Use this as a guideline for the cost of a project.
3. Will this project move the company needle the most?
In investing, there’s another concept called “opportunity cost.” Opportunity cost is what you give up when you make a choice.
For example, if I wanted dessert and had the choice between cake and ice cream, the cost of choosing cake isn’t just what you paid. The cost of cake is the foregone opportunity of enjoying the ice cream as well. So with every choice, one door opens and another closes.
Every technical debt cleanup has an opportunity cost too. Cleaning up one system means we can’t clean up another. So it’s critical to make sure that the cleanup we work on drives the most impact.
I compare managing technical debt to that of cleaning a house. Just as how your house will never be fully clean, it’s impossible to fully eliminate technical debt. However, some rooms in your house are more important to clean than others.
Why clean the garden if the inside of the house isn’t clean?
Why clean the guest bedroom if the main bedroom isn’t clean?
Similarly, some cleanups help the team move faster than others.
-- I’m Michael, an ex-Netflix engineering lead.