From the author of The Pragmatic Engineer blog

The Guide for Growing as a Software Engineer

The book follows the typical career path of a software engineer: from starting off as an entry-level developer, growing into senior/lead positions, all the way to being successful at the staff/principal levels at tech companies and startups.

Coming early 2021 - in print and as an e-book. Sign up to get notified when the book launches.

book cover

I’m a software engineer who, after a decade of working across the stack at startups and tech companies - Skype, Microsoft, Skyscanner, Uber - became an engineering manager. As a manager, I mentored dozens of engineers, helping people level up faster. However, I still did not have any single book to recommend, which would recap the type of advice I found myself repeating.

Three years into management, my team grew large enough that I found less time for in-depth mentoring with everyone I would have liked with. To still keep sharing my thoughts with my wider team, I started writing blog posts about some of the advice I found myself repeating, like writing well or good code reviews. These posts were warmly received and far more people ended up reading and sharing them than I expected. This is when I decided to write this book.

The book follows the structure of a typical career path of a software engineer, from starting at a company as an intern or new grad, through the role model senior/lead, all the way to being successful at the staff/principal positions. It summarizes what I learned while being a developer and how I approach mentoring engineers at different stages in their career.

The topics apply to all sizes of companies: from being an efficient engineer in a small scaleup where everyone is on the same office to working at a large, growing company, dealing with people across different offices and timezones. Regardless of where you are in your career, I hope that you’ll get a fresh perspective and new ideas on areas you can grow further as an engineer by reading this book.

Book Contents

1. Developer Career Fundamentals

Owning your career, thriving in different types of companies, and the importance of lifelong learning.

2. The Competent Software Developer

Software development practices and tools to master, getting things done, and how to thrive at this level and grow towards the next one.

3. The Well-Rounded Senior

Software engineering practices, pragmatic software architecture, shipping in production with confidence, collaboration & teamwork, and thriving at this level.

4. The pragmatic tech lead

Project management, team dynamics & team processes, communication & collaboration and servant leadership.

5. Role-Model Principal and Staff Engineers

Making an org-wide impact, software engineering and software architecture at scale, collaboration, thriving at this level.

6. The Journey to Growth

Key lessons, giving back, and further reading.

Who This Book Is For

This book is for software engineers at all levels and engineering managers who want to help their directs grow.

Developers with Some Experience

You have some experience with software development and are working as part of a team. You're keen to further grow in your developer career. We assume you either work in an environment with a decent engineering culture or are keen to gain the skills you need to work at places like this.

Experienced Software Engineers

The book covers areas that are key to become highly influential developers at large organizations, may these positions be called lead, architect, principal engineer, staff or distinguished engineer.

Leads and Engineering Managers

Mentorship and coaching is a big part of being a tech lead or an engineering manager. This book is a solid resource for people who formally or informally mentor less experienced engineers. It provides practical advice on ways to coaching people to thrive at various levels, and to get to the next one.
image

About the Author

I've been an engineer for over a decade, working at smaller companies, then at JP Morgan, Skype, Microsoft, Skyscanner and Uber. I went from a new grad, through senior, to principal engineer. I've worked across the stack, from thick client, web, backend and native mobile environments. I moved into engineering management a few years back, and grew my team from 5, to about 30 engineers.

Mentoring and helping people grow was one of the things that gave me the most joy, when I was an engineering manager. As I was having coffees with people outside my company, I observed many engineers are missing good mentors, and have little guidance to grow. My hope is that this book will help engineers make a plan on how to get better at their craft, and be strategic about growing in their career.

I write frequently: you can read articles on software engineering on The Pragmatic Engineer blog. If you're kicking off a job search with direct applications, you might find my book The Tech Resume Inside Out: what a good developer resume looks like helpful.

Follow me on Twitter at @GergelyOrosz, connect on Linkedin or reach me at gergely (at) pragmaticengineer (dot) com.