By now, you should have a much deeper understanding of what it takes to be a senior software engineer, and you have a roadmap for what areas to work on to prepare for your next review cycle. If you’ve learned something new from this book, that’s great! That means I’ve done my job. My hope is that this won’t be the last time you pick it up. I’d encourage you to revisit any section in the future if you need a little refresher or you’d like to refer back to any tools or techniques you learned along the way.
In Growing Your Career, you learned about the different career paths available to you, whether you choose to pursue the individual contributor path or the management path, and which one may be the best path for you. And don’t worry, you have plenty of time left in your career to make that decision, so there’s no rush right now.
We covered what differentiates a senior programmer from a junior one in What Makes You a Senior Engineer, along with what areas you should focus on developing in order to demonstrate that you’re ready to perform at the next level. These qualities take time to build and some trial and error to get good at it, but in the end it’s worth it.
In You’re Not an Impostor, we discussed impostor feelings. You learned to remember that everyone deals with impostor feelings, even the senior- and staff-level engineers, and management too. Hopefully, you picked up some techniques for how to handle those times when you’re feeling insufficient, and how to use it as a learning opportunity to fill in your knowledge gaps.
In Working with Your Manager, you learned how to approach working with your manager so you can build a strong working relationship with them. When you have a foundation built on trust, you’ll be able to be open and honest when you need to be, and you’ll learn how to adapt your working style to their management style. Having a good foundation with your manager helps during high-stress situations and will go a long way when it comes time for your review cycle.
Next, in How to Recover from Mistakes, you learned that all developers make mistakes, and more importantly, you learned some tools and techniques that you can use to identify and resolve incidents quickly. You should now have the knowledge to handle critical incidents in a professional manner and to work with your teammates to prevent the same mistakes from happening twice.
Not all questions are created equal, and in How to Ask Better Questions, we talked about how asking good questions is a skill that takes effort on your end before asking your teammates to take time out of their day to help you.
You learned how to read unfamiliar code and quickly get up to speed on an unfamiliar codebase—something you’ll need to do many more times throughout your career. Being able to jump into a new project and provide value quickly will help build trust with your teammates and confidence in your own technical abilities.
We talked about how to add value, not only for your own organization but for the customer as well. Consider this your North Star for your career—if you can find ways to build value, you’ll be rewarded with a successful career.
In How to Manage Risk, you learned the different ways that risk can creep into the software development lifecycle, along with tools and techniques to manage and mitigate those risks. Hopefully, by now you have a much better understanding of what to watch out for and what things can contribute to added risk. You also learned that some risk is acceptable, and that it’s impossible to completely eliminate all risk, so it’s better to learn to live with it instead.
You learned tools and techniques for delivering better results, and what you can do to help keep yourself moving forward when you run into roadblocks and dead ends when building programs. By now, you should know when to consider trade-offs when it comes to writing software, and that no codebase will ever be perfect.
In How to Communicate More Effectively, you learned about what considerations you should take into account when communicating with your team and across teams. Depending on the type of communication and the urgency of the conversation, you should be able to choose the best channel and communicate your ideas clearly and concisely. You also now know that listening is equally important as speaking when it comes to effective communication.
While you may love what you do, your job is not your life. In the section on work-life balance, we discussed that to be good at your job you need to first take care of yourself, both mentally and physically. Don’t forget to foster friendships, both new and old, and take some time off to travel, relax, and learn some new hobbies.
And finally, you learned how to prepare for a promotional cycle and how to approach a conversation with your manager to ask for a promotion to a senior role. Don’t wait for the performance review cycle to focus on building the skills you need. The time to start working on those skills is now. If you’re able to build habits and work towards continuous and incremental improvement, you’ll be qualified for a promotion in no time.