What Jocelyn Goldfein, the former Director of Engineering at Facebook, taught us at the HowTo Conference.
By Betsy Mikel (Editor, Women 2.0)
Closing out Day 1 of our HowTo Conference, we welcomed Jocelyn Goldfein to the stage. Jocelyn recently left her position as Director of Engineering at Facebook to focus full-time on angel investing and mentoring. Before Facebook, she worked at VMware, and previously launched her own startup MessageOne.
“If there has been one consistent theme in my career, it’s been working at companies that are growing and undergoing a lot of change,” said Jocelyn.
She offered the attendees a few key pieces of advice about how to create amazing products and deliver them to the world.
How To: Differentiate Between Discovery and Delivery Mode
When you’re launching your startup or a new product, Jocelyn reminded us that it’s important be clear on what stage you are in the process. You might think you’re ready to deliver when you’re still in discovery mode.
This is what discovery mode looks like:
- You’re going fast
- You’re throwing things at the wall to see what sticks
- You’re building just enough technology to test your hypothesis
When you’ve started to build something people want, you need to be careful. At this stage, Jocelyn said, “It’s tempting to believe that you have a product. And you don’t. You have a seed crystal of a product.”
How To: Figure Out Your Release Process
Once you’re ready to move beyond discovery mode, it’s time for the messy process of figuring out your release process.
“If someone tells you they have a one-size-fits-all release process figured out, I wouldn’t trust that person,” Jocelyn said. “There is not one process that works for every company.”
You’re probably asking yourself a few of these questions: Do I need a QA team? How do I hold my team accountable? What do PMs vs. Engineering Managers do? How can I ship a great product?
“Don’t come up with one right answer,” Jocelyn said. “Understand you are operating in tradeoff space.” Jocelyn urged making decisions based on what is right for your startup. What is it that you are trying to accomplish? What is the core of your startup mission? Tailor your release process based on those goals.
You’ll need to consider the following:
- User experience
- Breadth of platforms supported
- Predictability “ships on time”
“Make sure you’re optimizing for the right thing,” Jocelyn said. “You’ll have to sacrifice one thing for another.”
How To: Maximize Engineering Productivity
You can’t ship anything without your engineers! Jocelyn had quite a few tips for ensuring your engineers are productive.
1. Start Out with a Quality Team
If you start out with a non-quality team, your problems are only going to get worse. When you’re looking to adding someone to your team at a startup, every hire is going to have a lasting impact. You want to hire people who are really smart.
There will be a lot of fear, uncertainty and doubt. It will be tempting to hire for expertise and hire for someone who already has the answers. Instead, hire for the ability to learn quickly.
2. Communicate, Communicate, Communicate
When you’re the CEO, your job is to produce decisions. Keep in mind that engineers have to produce decisions, too. Every single line of code is a decision. Engineers are making thousands of decisions a day.
No matter how much you anticipate, you can’t anticipate every decision that needs to be made. So try to make sure your engineers know everything. Share with them everything you can.
When you’re building a product, the best thing you can give is rapid feedback — whether that’s an A/B testing product or a beta program.
3. Create the Best Possible Working Conditions
Make sure your engineers are properly equipped. Give them the largest screens possible and the standing desks and whatever else they require. “A lot of founders tell me they can’t afford all that equipment,” said Jocelyn. “But you can’t afford to NOT make that investment. I’d rather have 10 well-equipped engineers than 12 who don’t have everything they need.”
Perks matter too, but think of things that value their time. Ping pong tables are not a valuable perk when you think in terms of time. “What’s so great about free food and laundry service is that it gives engineers back their time,” Jocelyn said.
4. Minimize Overhead
As a founder, you must do your best to squelch bureaucracy and drama. There’s also collaboration overhead to consider. Think about when you go from 12 to 40 developers. The bigger your team gets, the less effective each person gets. Jocelyn recommends the “divide and conquer” methodology for dividing teams. Avoid creating siloed teams, and instead think of organizing teams so each has what they need.
Every team doesn’t need a manager. In fact, her advice is to wait to the last possible moment to bring on managers — and that’s when people are complaining. “Nothing too terribly bad will happen without them, and once you bring them on, people will appreciate them.”
5. Pay Down Technical Debt
Instead of building features, an engineer might come to you and say, “I want to refactor this code, update the database or switch from flat files to core data.” When you don’t invest in those projects, you are running up overhead.
Jocelyn’s best analogy for explaining technical debt to non-technical founders is the concept of dirty dishes in a restaurant kitchen.
“If you’re in the kitchen, your job is not to produce clean dishes,” she said. “But the job of the cooks is going to get harder and harder, the dishes are going to get yuckier and yuckier, they get harder and harder to clean and it will become a problem. You may get to the point where you are serving customers food on dirty dishes. What you should be doing is cleaning the dishes as you go. When you’re a startup, you might not know if there is a tomorrow and can’t focus on those projects. When you’re sure there is a future, make time for those projects and pay down your technical debt.”
How To: Hire Amazing Engineers
Engineers are some of the most sought-after talent on the market. Engineering talent is hard to land, especially when you don’t tons of capital. And even if you do, those candidates could get cash from any company. You need something more than money to offer them.
Jocelyn recommends pitching to potential engineering candidates just as you would a prospective investor. Have you have put everything in your life on hold to follow this vision? Then make sure these candidates know that.
The thing they care about is how much autonomy they have and how much opportunity they get to build the future. “Pitch moving quickly, freedom from a lot of process, idealism, and, most importantly, belief in your mission.”
Inspired by Jocelyn’s keynote? Follow her on Medium for more insight and advice!
*Photo by Elvina Beck.