AFTER YOU DEFINE A great product idea and generate strong organization support, you need to pull together a team that can build and ship that product. Building the right team is the most important thing you can do, after choosing the right user problem to solve. A brilliant team can also end up being a durable competitive advantage. Most important, a great team helps eliminate problems in all the remaining steps of your software development.
Think about it: if you have a terrible designer, you’ll end up reworking the same feature three times as you get randomized by user feedback. Bad systems design from a second-rate development lead will cause bizarre outages that will negatively impact users and cause your developers to stay up late, cursing each other and their pagers. And a bad product manager—they’re the worst—will constantly randomize your team with a poorly thought-out set of bad ideas.
On the other hand, a great team is fun, makes you feel like you can accomplish anything, and will lead to lifetime friendships and profit. You must have a great team, and you can play an essential role in team building regardless of your explicit title. Here’s how to do it.
To start a team effectively, you must find engineering, product, and design leads with whom you can work well. When you find these individuals, treasure them. Write them poems, buy them candy, and offer to wash their cars. You are only as effective as your engineering ...