There's two types of engineers
what kind of engineer are you?
Imagine there's a leak in your bathroom and you hire a plumber. Plumber shows up, looks at your bathroom and asks:
"What do you want?"
Err ... fix the leak?
"Sure, how? Do you want a new pipe, bolt the nut, replace the gasket ... what do you want?"
Heck if I know, you're the expert.
"Sir, you need to tell me what you want, I can't read minds"
You call a different plumber. You don't have time to become a bathroom expert.
The new plumber comes in, looks at your bathroom, turns off the main water valve to stop the leak, and says:
"Judging from the toilet bowl, this place was last renovated in the late 90's. Means your pipes are rusting to hell and you're gonna have more of these issues. A full remodel will cost around $10,000 – think about it in the next few years. Call me. Right now I think it's best we replace that gasket and weld a piece of metal where the pipe rusted through. Gonna be $500 in parts and labor. If that's too much, I can duck tape it for $50 and that should last a few months. I'll leave the roll of industrial strength plumber duck tape so you can do it yourself next time.
🤩
How does that feel? Which of these plumbers do you like more?
The true goal of engineering
You don't hire an engineer to write code for you. You hire them to solve problems and build assets that keep those problems solved.
Usually that asset is code. But it doesn't have to be!
"We should do this manually until we hit X scale" is a fantastic solution. The new business process is the asset.
When you build what you're told, you're making the asker do all the hard work. Client, boss, product manager, doesn't matter.
They solve the problem, you wield the hammer.
But when you look at your job as "problem solver", you do the hard work. You may not even do the hammering, that's what beginners are for 😛
If you ask me, I love hammering ... but I've built enough forms to last a lifetime y'know?
Not everyone gets a team to work with, but imagine you did. Would you prefer to give exacting details and instructions, or to say "Here's a subset of the problem, I think we can do X, make sure that's true and ping me with any issues"?
🤔
Selling hands vs. selling brains
The difference between code monkey engineers and problem solving engineers is this: Are you selling your hands or selling your brains?
Selling your hands makes you a fancy typist. Product owner designs the solution, tells you what to do, and you do it. Little value add.
Selling your brains means you're a partner. You create solutions, reduce the thinking work, find important edge cases they didn't even think of, and push back when there's issues.
The difference between "I got you fam!" and "What do you want?"
And that shows up in your career. You go farther as a problem solver. The opportunities are bigger.
Tomorrow we'll talk about how to own projects like a senior engineer.
What kind of engineer do you want to be? Tweet me @swizec, I read everything
Cheers,
~Swizec