Become a Great Software Engineer (Use These 4 Habits)

Aldo Pagani Jr
Aldo Pagani Jr
hero image

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.

Habit 1: The pursuit of efficiency

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.


How to implement this habit for your own work

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.

Habit 2: The joy of tinkering

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.

learning is fun

How to implement this habit for your own work

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:

  • Almost 20% of programmers with over 10 years experience were using AI tools daily to help with their work
  • While 52.9% of survey respondents are using AI tools to help with at least 30% of their work (Some even use it to help with 90% or more!)

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!

Staying up on trends is not just about more output though

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.

Habit 3: Thinking in systems & knowing the why

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.

  • How does it affect the design?
  • How does it affect the users?
  • What about the business as a whole?
  • How does it affect the macro and the micro? The details and the system?

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.

thinking in systems

How to implement this habit for your own work

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.

Habit 4: Recharging beyond the pixels

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).


How to implement this habit into your own life

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.

Don’t wait. Implement these habits today to go from good to great!

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).

  1. Break down problems and goals into smaller, achievable segments. Prioritize what's most important and then take calm, focused action. You’ll be surprised how quickly this habit takes off and affects your entire life
  2. Struggling to know what's important? Remember to get a deeper understanding of the why behind each action. Why do you need this? How does it affect everything else? Asking why and thinking in systems will help you prioritize and make the best choices
  3. Spend 30 mins each day catching up on trends. Maybe while having your morning coffee or on your commute
  4. Spend time learning new skills and practicing projects. Even an hour a week that's just for the joy of tinkering can change your outlook and help you pick up new skills or parallel experiences
  5. Understand the why. Don't just complete a task or copy and paste code. Understand how things connect to each other. This is one of the signs of a true senior developer
  6. Then, be sure to get away from your screens. If you’ve been spending 30 mins a night tinkering, then take the weekend and get outside. Better still, try and balance this throughout the week. Nothing like some Friday night Magic, or some Jiu Jitsu after work to help you wind down!

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!

More from Zero To Mastery

Why You Should Learn System Design ASAP (No Matter Your Level) preview
Why You Should Learn System Design ASAP (No Matter Your Level)

Interviewing for a FAANG role? Want to get promoted to Senior Engineer? Want to become a better programmer? Then learning System Design ASAP is your answer.

Programmer Imposter Syndrome: What It Is And How To Get Over It preview
Programmer Imposter Syndrome: What It Is And How To Get Over It

Do you feel like a fraud at work? Or that your success was all luck? Learn 9 simple tips to get past these feelings and grow in your programming career!

Don’t be a Junior Developer: The Roadmap From Junior to Senior preview
Don’t be a Junior Developer: The Roadmap From Junior to Senior

Don’t sell yourself short. Seriously, don’t be a Junior Developer. This article outlines all the skills that you should learn if you want to get out of your Junior Developer role and get started on the path to becoming a Senior Developer.