If you've worked as a Software Engineer for a while, you've no doubt noticed a few people around you who are truly exceptional at their jobs... and everyone knows it.
You might even be a little jealous of how they seem to do the job with such ease, constantly know all the right answers, and always come up with great solutions to problems (don't worry, I'm not judging 🙂).
That's when you also probably realized that there's more to being a programmer or engineer than just banging out endless lines of code.
What’s their secret?
From what I can tell from observing and talking to much more Senior Developers, I've realized that there 4 key habits these people tend to have that make them stand out.
The best part?
There is no reason you can't start implementing these habits into your own work and life.
And you should. Why settle for just being "good". If you're going to do something, strive to be the best at it!
If you do, pretty soon you'll be the person everyone is secretly talking about as the superstar engineer at your company 😎.
And if you don't believe me, go check out Vadim's fantastic post on the same topic. His post and a conversion with Andrei Neagoie are what inspired me to make the initial video this post is based on.
Speaking on that video... you can check out the video version below.
FYI: I talk about 6 habits in the video but I combined a few of them related to systems into 1 habit for this post:
Let’s get into it.
In Software Engineering, efficiency doesn’t just refer to speed - it’s also about smart problem solving and resilience.
How good are you at doing the things you need to, correctly, and quickly?
For example
The best Software Developers exude a sense of control and momentum, expertly navigating through challenges and always maintaining steady progress towards their goal.
However, their efficiency is not just about rushing tasks, but balancing quick action with stability.
How do they achieve this?
Well, there’s an old adage, ‘slow is smooth, and smooth is fast’.
You’ll notice this when you see that the best Software Engineer’s break down big problems into smaller, compartmentalized tasks, so they can always keep things moving forward and staying proactive.
They think on their feet and are always looking for solutions and resources to tackle the obstacles in front of them, while not being overwhelmed.
Practice a habit of being agile and proactive when a problem arises.
Rather than thinking of it as a negative, break it down into ways that you can deal with it easier.
This way, even if there are numerous problems, you can plan for them upfront, and deal with them in less overwhelming chunks (This is such a fantastic skill for work, but also your daily life).
Then, you can approach those chunks in a series of most important tasks, helping you to gain momentum.
The best Developers and Engineers are passionate about what they do. They love learning about new technologies, practicing coding, and enjoying the challenge of solving complex problems.
They're lifelong learners.
How does this help them stand out?
Well, it’s this eagerness to learn and experiment that keeps them growing past their peers.
They don’t just leave the code at work - they live and breathe this stuff in their free time - often reading the latest news or staying on top of trends.
I’m not suggesting you spend every waking moment on tech sites and coding. Even if it's something you love to do (and more on this later).
Instead, make a practice to spend just 30 mins a day keeping track of new information and trends, and trying out new personal projects.
This can lead to aha moments in daily work, improve your output or workflow, fast-track your path to an SE2, or even help answer larger life questions.
For example
We recently ran a survey of over 3,240 Developers, Engineers and Team leads around AI tools and their thoughts and usage.
What was clear is that some people are already really embracing these new tools:
This is a great example of just how much staying on top of trends can affect your work!
Speaking of which - Here's an 18-minute mini course you can do right this second to fill today's quota for staying up-to-date. No excuses!
Maybe you used to love the role you’re in right now, but feel stagnant? Well, by keeping up to date with the industry and trying new things, you might find a new area to focus on that helps reignite your passion.
Or, if you do enjoy your field, this act of zero stress playing around can help you enjoy the process again. There’s no deadline or skill to learn as such. You’re just learning for the joy of it.
Great developers don't just focus on learning about their chosen languages or frameworks, they also take the time to understand the underlying principles of System Design.
This approach helps them to go beyond just understanding how a single component works, but instead understanding their interactions and the impact on the overall project.
This then helps them to frame their approach to problems and solutions.
For example
Imagine you have multiple options to deliver a goal. All of which cost the same and take the same time to build.
With that in mind, you might just pick the first option without thinking any further. however, once you start to think of the larger system you might go from 'What's the easiest solution for me?' to 'What solution will have the most net positive impact (within goalposts).
Maybe a solution that is the same effort for you, will streamline something for the next person or help scale?
This type of thinking not only makes your life and others much easier, but it also makes you an incredibly valuable resource to a team, and helps propel your career forward.
In fact this is the type of thinking that will still be relevant in this new world of AI tools.
Simple! Learn System Design now - regardless of your current skill level.
Then, apply that knowledge and reasoning behind each task you need to complete. Because if you can understand why and how it affects everything else, you can have a much larger impact.
Great developers recognize the importance of stepping away from screens and recharging.
Sure, they love tech and enjoy learning about it, but they also understand that time away from technology can help lower mental and physical strain, and improve their quality of life.
(It also makes them far more efficient when they come back to their screens - kind of like a system reboot for a computer).
There’s a world outside so don’t forget to live in it. Make time for activities away from screens and with friends.
Join a class, play some DND, learn to surf. Anything to help you get that mental reset so you can come back refreshed.
I know these seem simple, but each of these habits is common among most high performing Software Engineers (and really high performers in almost any field).
You might even know these already, but can you say that you actively do each of them every week?
Why not track them in a journal or note app and see how you do?
If you can make it to 4 weeks of this, you’ll be amazed at the changes in both work and life.
If you want to be the best, it’s not rocket science. It’s simply replacing old habits with new ones.
Go be great!