The 12 Factor Engineering Team

Increase your team’s productivity by implementing these 12 best practices.

Jonathan Fulton
The Storyblocks Tech Blog
2 min readDec 7, 2017

--

Building a great team is hard. Really hard.

I had no experience building and managing an engineering team when I joined Storyblocks 4.5 years ago. While I learned on the job, I spent a lot of time reading books and blogs in order to soak up management advice from experts, which was crucial in helping me scale our team from a single engineer to almost 30 today. Examples takeaways include:

  • Hiring great people is crucial (from almost everything I read)
  • Autonomy, Mastery, and Purpose are vital for humans to thrive (from Drive by Dan Pink; Start with Why by Simon Sinek)
  • Trust is the foundation of every high-performing team (from 5 Dysfunctions of a Team by Patrick Lencioni)
  • Lean manufacturing principles can be applied to software engineering (from The DevOps Handbook by Gene Kim et al. and my time at McKinsey)

While I did my best to put these insights into practice where I could, I never found a framework for holistically managing a software engineering team (I’m sure there was one out there, I just didn’t look hard enough). To fill the gap I created a framework coined “The 12 Factor Engineering Team” that synthesizes the pearls of wisdom I discovered along the way.

People
1. Hire Great People
2. Nurture Talent
3. Put People in the Right Places

Process
4. Plan for Both the Short Term and Long Term
5. Conduct Design and Code Reviews
6. Provide Space for Level Up Time

Technology
7. Implement Continuous Integration
8. Architect Systems for Business Context
9. Leverage the Right Tools

Culture
10. Provide Autonomy, Mastery and Purpose
11. Foster Psychological Safety
12. Adopt a Lean Mindset and Commit to Continuously Improve

And that’s a wrap. I know you’re thinking, “You just left me hanging!” Sorry about that. Each of these twelve best practices deserves it’s own post, which I’ll write over the next few months. Stay tuned!

--

--

Jonathan Fulton
The Storyblocks Tech Blog

Engineering at Eppo. Formerly SVP Product & Engineering at Storyblocks, McKinsey consultant, software engineer at APT. Catholic, husband, father of three.