YOU ARE PROBABLY ALREADY pretty good at shipping software. But I’ll wager you can be better. You can always be more efficient, for example. You could probably communicate more clearly. You could be less stressed out. You could have a bigger engineering team, more leverage with your senior management, or a better understanding of systems design. Or maybe none of these things applies to you and you can skip Part Two entirely and send me your résumé.
If you are like most of us, you struggled to build one or more of these skills as you tried to ship software. Shipping software is unlike most other kinds of jobs because it requires precision technical communication, deep knowledge across a host of disciplines, and fortitude. The skills I emphasize in these chapters are tried-and-true methods for increasing your effectiveness and happiness—which in turn will help you ship.
Because you can’t ship without a team, Chapter 8 covers how to hire or build a team, how to acquire a business when that is an option, how to work with offshore resources when you can’t build a team locally, and how to join a team when there’s one in place.
Chapter 9 describes what you need to know to be sufficiently technical so that you can work effectively with the engineers you hired in Chapter 8. This chapter is not a computer science course; rather, it’s a fast-paced overview of the kinds of systems-oriented knowledge you need to be able to understand in order to guide your engineering team to the right decisions. If you hold a master’s degree in computer science from Carnegie Mellon, please don’t write me letters, just remember that I’ve seen very smart graduates with master’s degrees in computer science create unfortunate architectures, which is why I added this section.
Because I can’t teach you how to come up with great ideas that your team can build, Chapter 10 focuses on explaining how to communicate your already great ideas in the most efficient way possible. This chapter describes how to write an ideal email message, how to build a great presentation that accomplishes your goals, and how to run the five types of meetings successfully.
Of course, as you communicate your product and progress to others, they are going to provide feedback. Some of that feedback will be good, and some of it will be mind-bogglingly inane. Chapter 11 provides some techniques for dealing with the bad advice. It also discusses what feedback you should take, and how to make the right decisions as a team.
If you know how to build a good team, understand your technology, and can communicate well, you are in a great position to be successful. However, every day you’re going to deal with some shipping-specific challenges, like feature requests and senior-management BS. Handling these challenges gracefully will reduce your cortisol levels and prolong your life. Chapter 12 discusses how to be great in the day-to-day of shipping.
If you’ve made it this far, you’ve learned that shipping is great and you’re ready to do it again. Chapter 13 explains how to start the process all over again.
If you grow strong in these skills, you’ll be one of the most capable team leads in the universe. I fully believe this. I also believe that the challenge is not understanding these skills, but actually acting on them in a consistent way. Good luck!
18.217.80.88