Build the habits and skills that turn you into a solid senior software engineer
There is no hack to becoming a senior engineer overnight, no shortcut to putting in lots of hours of practice to reach that goal. However, as in any discipline, what and how you learn and practice make a huge difference β and this book shows you what to focus on.
Get a glimpse
Download a sample chapter
Skills & Traits
What you need to focus on
Start before you feel ready
Chances are you'll hit a snag when working on the assigned feature, and you might even feel miserable. We've all been there (heck, we're still all there some of the time), but the only way to become better is to start the quest. As Wayne Gretzky said, you miss 100% of the shots you don't take.
Protect your attention & energy
Software engineering can be challenging, which is part of why we want to do it. What makes it harder still is not giving it your full focus and trying to think in abstract concepts on an average of five hours of sleep. So put your phone away, give sleep its due priority, and take care of your health.
Take breaks, lift weights
Taking breaks might seem like a waste of time, and who has time for working out? Yet, both stepping away from the keyboard regularly and giving your body the physical activity it needs boost your productivity. Not to mention, you'll have more energy and feel better both during and outside of work hours.
Express yourself clearly
Working in teams requires clear and efficient communication. You could have the best idea on the planet β if you can't explain it to your coworkers or managers, it's worth nothing. If a code review comment takes seven back-and-forths because your words are sloppy, you incur a deluge of context switches β a productivity killer. As an AI-era bonus, AI assistants perform way better when your instructions are clear.
Level up by learning from others
It's a clichΓ© that our profession is one where lifelong learning is a must. Luckily, there are an infinite number of ways you can do that: being mentored by more experienced engineers or pairing with them, reading open source code from reputable authors, reading blogs, books, or asking AI to help you make sense of something are all great methods. The crucial bit is to stay curious and take some time to learn new things.
Write code both humans and AI understand
On the road to becoming more experienced developers, we tend to start writing smart code, abbreviating variable names, and using cunning shortcuts. It's natural, but resist the temptation, and keep writing dumb code. Your colleagues and your future self will thank you. Your AI agent will tell you you're a genius when you write smart code, but secretly, it also prefers you writing clearly instead.
Master your tools
As a software engineer, you spend a big part of your day in your editor, terminal, making commits, rebasing, diffing, testing things in the browser or your IDE. Becoming more efficient with them and customizing them to your liking is a force multiplier, so take your time to learn them well.
Become a bugbuster
Reproducing and fixing bugs has always been a superpower, and with the advent of AI-generated code, the value of a skillful debugger has only increased. At the same time, debugging is possibly the hardest of a software engineer's many tasks, so having a variety of techniques at your disposal and continuously improving and refining them is a very good idea.
A journey
Why I Wrote This Book
I started with no passion whatsoever for my profession, but the more I learned and coded, the more I enjoyed it β a trend that continues to this day.
I also got curious about what skills make a senior software engineer, so I started observing myself and other senior developers to find the common habits and practices. At the same time, as I worked with many juniors, I began to see where they struggled, which skills they lacked, and which areas they didn't focus enough on.
I found myself thinking more and more about high-yield tips, skills, and techniques to help them reach senior status more quickly.
Coupled with my passion for teaching and my propensity for the written word, this led to the idea for this book: a collection of those senior traits that would help engineers early in their career level up faster and enjoy their craft.
About me
Who am I?
I'm Balint Erdi, a software engineer with 25 years of experience.
I started working part-time in 1999 while I was still studying at the university. After graduating, I've found a fondness for web applications, and I spent more than a decade as a back-end developer, working in Java, PHP, Python, and then Ruby & Rails.
In 2014, I discovered Ember.js and, with it, switched tracks to go deeper into front-end engineering. I liked Ember so much that I started making screencasts, presenting at conferences and meetups, holding workshops and training sessions, writing blog posts, and authoring a series of books called "Rock & Roll with Ember.js" to make others see its beauty and help them learn it faster.
While sharing my knowledge with others, I realized how much I enjoy teaching and seeing (and hearing) people gain insights from that knowledge. An experience I hope to repeat with this book.



