Description
Part I - Career
Chapter 1: The Big Picture
If You Only Take Away One Thing
What Is the Job
What it Means to Grow
Ten Principles
Your Relationship With Your Employer
Chapter 2: Landing Jobs
The Basics of Hiring Processes
Working With Recruiters
Resumes
Passing Engineering Interviews
Recruiters
Levels, Titles, and Compensation at Tech Companies
Chapter 3: Learning and Growing
Read Every Day
Mentorship
Imposter Syndrome is Underrated
Having Your Own Project Ideas
Performance Reviews
Stop Worrying About Title
Chapter 4: Changes
On Fear, Confusion, and Self-Loathing: Starting New Jobs
When to Change Jobs
How to Change Jobs
Maintenance is For Suckers: Choosing Teams and Projects
The Transition to Management
Adaptability is Everything
Burnout and Bouncing Back
Part II - Day to Day At the Office
Chapter 5: Professional Skills
Project Management
Effective Meetings
Productivity and Organization
Hiring Engineers: Interviewing From the Other Side of the Table
Chapter 6: Working With Humans
Social Skills
Feedback
Working With Your Manager
Working With Platform Owners
Chapter 7: Shining in an Engineering Organization
Reputation and Personal Brand
Helpfulness
Running Toward Fires
Politics and Political Capital
Professionals Maximize Business Value
Saying No is Not Your Job
Personal Reliability
Knowing Our Limits: The Epistemology of Software Engineering
Chapter 8: Leading Others
Helping a Team Succeed
Mentorship
Chapter 9: Adversity
Managing Your Emotions
Yes, Things are Broken
Conflict Resolution and Dealing With Difficult People
Dealing With HR
Making Mistakes
Chapter 10: Professional Conduct
A Word About Complaining
A Word About Gossip
A Word About Office Dating
Decorum and Political Correctness
Alcohol With Colleagues
Part III - Communication
Chapter 11: A Holistic Look at Engineering Communication
Chapter 12: Technical Writing
Chapter 13: Effective Email
Chapter 14: Describing Problems and Asking Questions
Chapter 15: Public Speaking
Part IV - Technical Skills
Chapter 16: Professional-Grade Code
Chapter 17: Debugging
Chapter 18: Building for Reliability
Chapter 19: Mastering the Command Line
Chapter 20: Operating Real Software
Author: Daniel Heller
Publisher: Apress
Published: 10/11/2020
Pages: 243
Binding Type: Paperback
Weight: 0.80lbs
Size: 9.21h x 6.14w x 0.54d
ISBN13: 9781484261460
ISBN10: 1484261461
BISAC Categories:
- Computers | Computer Science
- Business & Economics | Management Science
- Business & Economics | Production & Operations Management
About the Author
Dan Heller is a Staff Software Engineer in Infrastructure at Uber. In earlier lives, he has led reliability efforts on Uber Eats, built monitoring systems at AppDynamics, helped port iOS to the ARM64 architecture as a Kernel Engineer at Apple, directed the responses to dozens of high-stakes production outages, and managed teams of up to 25 engineers.
Along the way, the author discovered a love of mentorship and had the good fortune to mentor tens of talented engineers. Those engineers inspired him with their hundreds of questions about career paths, technical tradeoffs, and day-to-day effectiveness; when a short blog post on those themes brought a riot of responses about maturing professionals' need for guidance, the author set out to fill the gap with this book.