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?
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"?
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
Getting that senior title is easy. Just stick around. Being a true senior takes a new way of thinking. Do you have it?
Leave your email and get the Senior Mindset series - a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.
Get a series of curated essays on the mindset of a senior software engineer. What it takes to get there, what should you do when you're there, how to change the way you think.
it describes my days in a way I have not read before.
This was a very enlightening article about being a senior engineer.
Have a burning question that you think I can answer? Hit me up on twitter and I'll do my best.
Who am I and who do I help? I'm Swizec Teller and I turn coders into engineers with "Raw and honest from the heart!" writing. No bullshit. Real insights into the career and skills of a modern software engineer.
Want to become a true senior engineer? Take ownership, have autonomy, and be a force multiplier on your team. The Senior Engineer Mindset ebook can help 👉 swizec.com/senior-mindset. These are the shifts in mindset that unlocked my career.
Curious about Serverless and the modern backend? Check out Serverless Handbook, for frontend engineers 👉 ServerlessHandbook.dev
Want to Stop copy pasting D3 examples and create data visualizations of your own? Learn how to build scalable dataviz React components your whole team can understand with React for Data Visualization
Did someone amazing share this letter with you? Wonderful! You can sign up for my weekly letters for software engineers on their path to greatness, here: swizec.com/blog
By the way, just in case no one has told you it yet today: I love and appreciate you for who you are ❤️