Pragmatic growth: from 2 to 40 in 4 years

Web Development at Mozilla started with two people and has become a worldwide team of 40 of the best web developers in the world. Growing so rapidly can present a number of challenges for leadership, engineers and the rest of the company. This is my attempt at sharing some lessons so you can handle growth a little better.

Have something to fight for

It starts at the heart. Mozilla is a unique company that has made things easier for us to grow well. Some things that will help you:

  • Have a great mission: Mozilla has a mission people can understand and rally behind.
  • Never abandon your mission: Mozilla doesn’t make any exceptions to the mission in order to profit financially or politically. Ever. Being 100% consistent about what’s important is key. We never sold out.
  • Be open: transparency is great for shared learning and code re-use but it has had a lasting impact on how people think and operate. We think holistically, globally and openly. It makes a lot of things easier.

Define goals and success

Goal setting and expectations are huge. First, you have to follow three general rules about goals. A good goal should be:

  • Measurable: if you can’t measure your goal, you’ll never hit it or worse yet, you’ll blindly mark it as done.
  • Realistic: don’t burn yourself or your team by committing to stuff you know you can’t hit.
  • Challenging: don’t undersell yourself or your team; some goals should be “stretch” goals and should be hard. Aim high on 10-15% of your goals.

Second, spend time explaining what success means for your team and yourself. John Wooden said, “Peace of mind, attained only through self-satisfaction, in knowing you made the effort to do the best of which you are capable.” Which is another way of saying you may fail, but don’t fail for lack of effort. Check out his TED talk.

Here is how I’ve tried to define success (taken proudly from John Wooden):

  • Success is measured by the quality of your effort.

That’s it. Here’s why:

  • It allows people to make mistakes and blow things up. Success isn’t about being perfect at all costs.
  • It places responsibility for learning and communication on the individual. They are both functions of effort — taking the time to learn, taking the time to be proactive.
  • It is something an individual can control. Usually engineers don’t want to be responsible for stuff they can’t control. Market changes, legal matters, people turnover, budget cuts — they can’t really control those things. Everyone can control their level of effort.

Results are still important — but you don’t get high quality results without high quality effort. If your talent is strong and you get your team’s best effort then your team is a success. The results will take care of themselves.

Build a culture people want to be a part of

It starts with you, but each person on the team needs to set a great example and build a healthy culture. Here are some general rules:

  • Show up on time: showing up 15 minutes late is a good way to say you don’t give a shit.
  • Give people credit: thank people for a job well done, especially when you’re trying to give feedback.
  • Do what you say: don’t make excuses, just do it or don’t commit to things you can’t do.
  • Don’t be a drain: try to leave folks with more energy than when you started.
  • Listen: shut up for a second and hear people out before you interrupt them. Let them say what they’ve got to say.
  • Laugh: for the love of all that is good in this world — please do not take yourself too seriously. Ever.

From a management perspective, there are some things you should try to do on a regular basis that is the foundation for a healthy culture:

  • 1:1s – have them: if you want people on your team to respect and trust you, give them your time. Don’t bail on 1:1s.
  • Talk about dreams: know where people want to be in 10 years. Talk about how you can help them get there and help them set goals.
  • Don’t dictate: as much as you can, don’t give people the answer outright. Talk through it and ask questions first — provide a framework. It’s in the team’s best interest to have lessons learned on their own. You don’t gain much by telling people what to do except expediency.
  • Explain the “why”: spend a little bit of time reminding people why certain things are important, even if it’s clear.

Virtues over egos

I haven’t written any books on organizational development or corporate philosophy. If I ever do, I’d say the most important ingredients in successful growth are:

  • Compassion: actually caring about your people makes all the difference
  • Positivity: give people the benefit of the doubt; see the good in them and you’re more likely to achieve your goals together
  • Listening: process what people tell you; understand when you should stand your ground or make adjustments
  • Honesty: be honest; don’t play games or politics with your own team — you’re on the same side
  • Patience: things won’t always work the first time; stick to it, especially with hiring
  • Courage: be willing to jump into the fire; have tough conversations — don’t wait for someone else to do it for you

The first hire is the hardest

Calibration is what I’ve heard it called most often. But until you find what you were looking for it’s tough to judge exactly what that is. This is the case with your first hire.

My advice here is to keep trying. If you take 6 months, so be it. Your first hire is the hardest for a reason — it’s a foundation piece for the rest of your team’s future. Don’t skimp.

Tackle problems head on

Jenny has issues with Bill and comes to you for guidance. Your choices:

  • Make them talk to each other. If this is just people disagreeing, don’t give them easy outs. Force them to confront each other and talk it through. Sit down with them if you have to. Next time something comes up, they’ll be able to work on it together.
  • Get in the middle. If you entertain power plays or get too involved, you just enable folks trying to avoid tough conversations and limit their own growth. Get involved only if the behavior is destructive or unprofessional. Just be sure that you’re not making yourself the middle-man in an otherwise healthy argument.
  • Just listen. Sometimes folks will just come to you to vent — so sometimes your role will just be to listen then ask them what they want you to do.
  • Ignore it. Do this at your own peril. Ignoring small issues can eventually tear your team apart.

You’ll lose some folks

Along the way, as the team grows or things change you’re inevitably going to lose some folks. Don’t take it personally, but here are some things to think about:

  • Are you surprised? If so, you weren’t listening.
  • Is this a trend? Are multiple people leaving for the same reason?
  • Was it a part of the plan? If this was a part of your employees career goals and you helped them get there — be proud. You helped them. Of course,
    this means you should have already recruited their replacement, right?
  • Don’t pull the “I made you!” speech. Sure, you hired them and helped them grow. Let them go — encourage them and wish them luck. You’ll see them again so don’t crap all over what you built with them by trying to make them feel guilty for leaving.

Sometimes losing people is a necessity. Along the way you’ll make bad hires or have bad contractors. You need to know when to pull the plug. If you fail to do this, you’ll lose the trust of your team by empowering people who don’t pull their fair share. On a personal level, if you let things drag out, you hurt individuals by not helping them address their own issues and get better. Sometimes letting them go is the only way to really help them. Doing so takes courage, due diligence and resolve.

Take hiring seriously

Managers understand the true cost of hiring the wrong person or letting things slide. The team should, too. On a very basic level, hiring should be up there as one of your team’s priorities if you intend to grow well:

  • Show up to interviews on time: Start with a good impression and engage — don’t show up 15 minutes late and set the wrong tone.
  • Think about better questions: Everyone should be thinking about what works and doesn’t work from interview to interview. Our team was always thinking about how to make the process better and get more out of the time we had with
  • No maybes: People who don’t want to make a call like to have weak answers or throw out a maybe in the debrief. Don’t allow those — there is no tomorrow, there’s no “I didn’t understand the position” — a strong interviewer has clear yes or no answers and will defend them.
  • Don’t settle: Team should understand that settling has its risks and long-term costs. Set a high bar and maintain it. A good measure is trying to hire someone with skills in an area that are better than 50% of the current team. Over time this gets harder to maintain but it’s worth it.
  • Prepare: Make sure everyone understands the position and what the team needs out of it before you start. If you go in without preparing well then you’ll get a bunch of maybes or uninformed deicisions. This usually consists of an email to all interviewers with a description of the job and what you need from each interviewer. It makes a big difference.

Little things matter

Seems cheesy, but little things do matter. As you grow, here are some ways to make a big team feel small:

  • Random gifts: the avenging unicorn playset, legos, a StarCraft t-shirt, or just a starbuck’s gift card. Little thank-yous like this go a long way. Show that you care, that you appreciate folks.
  • Not just work: connect on a personal level, ask how the family is, how the move is going, etc. You should already care about the team as people — act like it. And if you don’t, you’re in trouble.
  • Lunch and coffee: grabbing coffee or lunch can help people get a lot off their chest and hear what they need to hear from you — or at the very least you can ask them the right questions and help them get un-stuck. It’s another way to show that you’re listening and ready to help.

My hope is that all this helps you somehow. It’s not a magical guide to doing things right — more an explanation of a thought process and way of approaching things that worked for us.

If you didn’t read anything else, just care about people — really care about them — and see the good in them. If you can do that and work hard, nothing can stop you.

I’ll leave you with some photos I took along the way. Enjoy.

July 2006

Webdev 2006

December 2009

Webdev and QA!

April 2010


December 2010


April 2011

Webdev 2011

June 2011

Webdev 2011

June 2012

Mozilla Summit 2010 - 2

(just kidding)

3 responses

  1. Anderson wrote on :

    great post. Mozilla is definitely the best organization out there.
    I love its mission and consistent actions.

  2. mawrya wrote on :

    You have packed a lot of salient points into a small space. After working on a team for the last 10 years with experiences in hiring, training, trying to inspire, guide but not dictate and just keep my balance this is post is great collection of the really important bits. I think I’ll print it and use it as a tool, a mirror, a periodic self-check-up.

  3. Preed wrote on :

    Hey Mike,

    It’s great to read some of the things you write here; sounds like you’ve grown into a manager people really enjoy working for. 🙂