- Level up software engineering 🚀
- Posts
- Supercharge your career growth
Supercharge your career growth
15 traits of the top performing software engineers I’ve worked with
Over the last 7.5 yrs of working at tech startups, here are 15 traits I’ve seen in the top performing engineers I’ve worked with 👇🏼
Work on even just a few of these to supercharge your growth and really stand out as a software engineering leader ⚡️
1. Develop a bias for action
Amazon lists having a “bias for action” as one of its core leadership principles. They pride themselves on rapid innovation thanks to a culture of moving fast.
Having a bias for action means: if you are asking: “should I do something about this?” – the answer is probably yes. ✅
It doesn’t mean being impulsive.
It means: take calculated risks with the data you have, and fail fast to find the best solution quickly.
2. Be flexible
Never say: “that’s not my job.”
There are times in your career where you’ll need to “wear many hats.”
Maybe you are on a project with missing requirements and staffing and suddenly you are required to step into the role of:
designer
devops
security
product
customer service
These are all roles/skills I’ve had to do over my 10 year career – that weren’t officially my job.
Because I was willing to jump in, learn, and help where ever needed, I’ve developed a better understanding of projects end-to-end.
This ultimately helped me become a more valuable contributor. 🌟
3. Be trustworthy / reliable
Build your team’s trust by doing what you say you’ll do.
If people can count on you to consistently deliver, you’ll go far in a company.
If you are flaky, inconsistent, and don’t keep people informed on your progress, it will be hard for leaders to trust you.
They may pass you over for difficult projects that are key to your growth in the company.
This doesn’t mean you need to silently suffer to hit a unrealistic deadline.
Do your best, but if you can’t accomplish something on time – say something. Raise a blocker, and come with creative ideas on how to still complete the goal.
4. Own your growth
Whether you are at a small startups without a career ladder or a large FAANG company with everything outlined, it’s important to own your own growth.
No one is going to promote you just because you’ve worked there another year.
Even with a clear career ladder outlined, it might not align with your life goals, or skillset.
Example: someone suggests you should be a manager since you are the best engineer on the team. Reality: you’d rather continue growing on the IC track.
Be proactive in pursuing your own growth path and development as a leader. 💪
5. Advocate for change, and lead the charge
Don’t wait for someone else to tell you what to do. Advocate for changes you want to see happen, then lead the charge.
Whether it’s documentation for easier onboarding, new auto-scaling infrastructure, or a more inclusive culture, be the change you want to see!
This is a great way to standout as an engineer, and help your entire team level up at the same time. 🚀
Just make sure the change is inclusive and actually helps everyone – vs. just a personal pet peeve or preference.
6. Don’t overcomplicate processes
Keep processes minimal until you need them. Don’t add something just because everyone is doing it.
Every team has their own needs and problems.
For example: Implementing rigid sprints, Jira epics, and full blown roadmaps are probably overkill for small teams, and/or startups.
Process for processes sake will slow you down. Only add something if there’s a clear value add to doing so.
7. Use standard and proven technologies
Using standard, off the shelf technology solutions.
Many of us have worked a system that a “rock star” engineer custom built – after they left, no one knew how it worked, or could fix it.
The result is usually a large multi-year rewrite is needed 🙃
A few wins of using standard technology include:
a wider market for hiring
simple onboarding to your systems
able to take advantage of 3rd party solutions maturing
Focus on writing custom code for your unique value proposition – use standard libraries / solutions for everything else. You’ll go further faster 🚀
8. Work to remove SPOFs
According to Wikipedia, a single point of failure (SPOF) is part of a system that, if it fails, will stop the entire system from working.
SPOFs can sink your organization when someone leaves or if something breaks while an engineer is on vacation.
Find insider-knowledge that is “invisible”, and remove the risk by:
Documentation
Pair-programming
Internal tech talks
Alternating product areas
When de-SPOFing, it’s helpful to do a systems design audit to determine what pieces of your stack have zero redundancy. This could include:
Databases
Authorization library
User logins / sessions
Core microservices
etc
Work to build in redundancy so that if something fails, you don’t risk an outage.
Whew, this is getting long… 😅
I’ve decided to split this post over two weeks, so reading this is a bit more manageable.
Next week we’ll talk about more traits I’ve seen in top performing engineers including how to (you can read pt. 2 here)
Define project appetite, and scope
Hire the right people to join your team
Be a force multiplier for the team
Become an excellent communicator
Develop your product/business sense
Learn the art of managing up
Mentor and be mentored
See ya next week! Until then 👇🏼