The Best Piece of Software Engineering Advice
You probably think this is another internet clickbait title uh? Just trying to get you to clickty clickty and sell you some Google Ads. Two problems. I don’t have Google Ads, and I know a small percentage of people will actually listen to this advice. Whatever. There is a reason some developers struggle to move past the Senior role.
Instead of making you scroll to the bottom to get what you can for, I’m going to give it to you off the top. How nice of me.
The best piece of Sofware Engineering advice you will ever receive is this …
You don’t need to be the smartest person in the room. Infact, you shouldn’t be.
I know this might sound strange. But, it’s true. I’m trying to release you from the impossible task that has you enslaved to your strong human pride. Didn’t your Grandmother ever tell you “Pride comes before the fall?”
Something strange and wonderful happens when you adopt a little humility and release yourself from needing to be the smartest person in the room.
What you gain by stepping back a little.
Have you ever worked with a great Staff, Senior, or Principal Engineer? Have you read any of these books?
- Staff Engineering by Will Larson
- The Staff Engineers Path by Tanya Reilly
- The Book Of Life You Live Every Day by You
What is it exactly that separates these amazing and wonderfully elusive beings? Is it because they are always the smartest person in the room? Of course not. Are they smart? Yes.
What is it?
Engineers who perform at the next level … beyond Senior, do so mostly by not trying to be the smartest person in the room. They’ve moved past that. They, like you should, have realized there is an endless supply of “smart engineers,” that chasing such things is like running down the pot of gold at the end of the rainbow. You will run after that mirage the rest of your life.
They do something different.
- Bring people and teams together.
- They work on the big picture more.
- Can solve conflict and find resolution.
- Can deliver large projects on time.
- Work well with the business.
- Know what tradeoffs to make and when.
- Inspire others to do their best work and rally around ideas and projects.
What I’m not saying.
I’m not saying you shouldn’t be a smart engineer. I think you should read a lot and write a lot of code. You should love what you do and always strive to be better at it. Learn new things, technologies, and languages. But, that’s enough.
You don’t need to go into every meeting or PR ready to show everyone else who smart you are, that you know what you’re doing, that you have better ideas, blah, blah. That approach will surely keep you stunted in your career most of the time. Unless you work someplace toxic.
Instead, be kind. Be humble. Learn from other engineers, even those younger and way less experienced than you! The mark of a great Engineer is the ability to take in all viewpoints, understand why people feel or think the way they do, and learn from it. Coach and mentor others, don’t beat them over the head with your so-called brilliance.
You simply being kind, collaborative, clear, proactive, while producing good work and results … will catipulte you into positions of influence without even trying. It’s a rare trait in Software Engineering, so it will be impossible to not stick out.
If you don’t believe me. Do an experiment. By nice, kind, collaborative, deliver good results for a few months … see what happens. If you hate it and people hate the new you, go back to being the smartest engineering in every meeting and PR. Good luck with that.
Another reason you shouldn’t be the smartest person in the room is that it’s good to surround yourself with excellence. If you have any say over the quality of people you work with, you should be seeking out talent that will help you grow.
Iron sharpens iron.