This book is meant to be a resource for junior and mid-level programmers on soft skills required to excel as a professional programmer. Itβs meant to be your career guide as you learn to navigate the workplace, from learning the lingo and how the business operates to working as part of a team producing quality software and real value for your customers.
The book is not necessarily designed to be read from cover to cover, so feel free to skip around to different sections if a topic seems particularly relevant to you at the moment.
My goal is to help you establish a personal roadmap to guide you as you start your programming career or reach that next level of responsibility. I hope this becomes a book you revisit regularly to review your progress and recalibrate your priorities for your next career goal.
Letβs look at what weβll cover:
Growing Your Career. In the first section, youβll start off by learning how and why you should set expectations for your career. Youβre at the very beginning of a years-long journey to becoming a senior programmer, so itβs important to set some long-term goals to work towards.
What Makes You a Senior Engineer? In this section, weβll dive into specific characteristics that differentiate a senior engineer from a junior engineer. Youβll gain a better understanding of what you should focus on if youβre working towards a promotion to a senior title.
Youβre Not an Impostor. Next, youβll learn that everyone deals with impostor feelings during their career. Youβll learn how to recognize and understand these feelings as well as ways to reduce them when youβre overwhelmed.
Working with Your Manager. You donβt have to be friends with your manager. But, theyβll have a big influence on your career, so itβs important that the two of you work well together. In this section, youβll learn how to understand your managerβs style and align your goals so both of you can succeed.
How to Recover from Mistakes. Even the best programmers make mistakes. What sets the best apart is how they respond when things go wrong. In this section, youβll learn what you can do when you make a mistake and how you can recover quickly.
How to Ask Better Questions. Asking good questions is a simple and effective way to supercharge your learning early in your career. Here, I share tips and techniques for learning as much as you can from your coworkers and for tapping into their experience.
How to Read Unfamiliar Code. Youβll read lots of other peopleβs code throughout your career, which will have a big influence on how you write your own code. In this section, youβll learn how to get up to speed quickly in an unfamiliar codebase.
How to Add Value. One of your main responsibilities as a programmer is to add value for your customers and for your employer. In this section, weβll cover specific ways in which you can do this.
How to Manage Risk. Another top priority for programmers is to identify areas of risk and manage them in a way thatβs consistent with business objectives. Weβll cover types of risk common in software development and ways you can help mitigate them in your own role.
How to Deliver Better Results. At the end of the day, your job is to ship code and deliver value to your customers. This section offers specific things you can do to work efficiently and to increase your productivity when writing code.
How to Communicate More Effectively. Communicating well sounds simple but can be deceivingly difficult in fast-paced work environments. In this section, youβll learn how to improve your speaking and listening skills to better convey your ideas and stand out among your peers.
Work-Life Balance. Life isnβt all about work, so in this section, weβll go over the importance of creating a work-life balance that works for you. Weβll cover ways in which you can expand your horizons and prevent burnout that can affect your productivity and the quality of your work.
Asking for the Promotion. This is it. This is where you ask the big question to your manager. Youβll learn what you should do to prepare for this moment and how you should approach the conversation. At this point, youβll be ready to take on more responsibility.
By the end of this book, you should have a deeper understanding of the soft skills required to succeed as a software engineer, along with a path forward for applying those skills as you work towards a promotion to a senior role. At that point, itβs up to you to put these ideas into practice and make it happen. So, with that said, letβs get started!