Building and maintaining complex distributed systems
June 19–20, 2017: Training
June 20–22, 2017: Tutorials & Conference
San Jose, CA

Technical decision making for teams, the open source way

2:10pm–2:50pm Wednesday, June 21, 2017
Technical Leadership
Location: LL21 E/F
Level: Intermediate
Average rating: ***..
(3.75, 4 ratings)

Who is this presentation for?

  • Engineering managers and technical leads

What you'll learn

  • Learn how to use an open source process to promote responsibility across team members in a company, encourage individual contributors to participate in distributed decision making, generate API documentation before systems exist, and delegate and encourage risk taking with visibility into discussions


Juan Pablo Buriticá explains how to use technical RFCs as a decision-making tool in your engineering organization to increase effectiveness. When implemented properly, technical RFCs can encourage trust and delegation, respectful discussions, knowledge sharing, and accountability and support good software design. Technical RFCs are widely used throughout open source projects to introduce new features, enhancements, deprecations, or general discussions on technical roadmaps. By embracing async communication, RFCs allow OSS maintainers working with teams of volunteers and users to discuss complex subjects with concrete outcomes and implement decisions. (A great example is the EmberJS RFC repository.)

Juan Pablo shares lessons learned while implementing technical RFCs as a management tool in different sized organizations, going as far back as his first experiments delegating technical decision making while increasing visibility and take advantage of knowledge sharing for a 15-person distributed engineering team formed in less than a year. One year (and 10 new members) later, the team had produced about 60+ technical RFCs that were also used as onboarding material, documentation, and most importantly, interface design aids.

Along the way, Juan Pablo describes in detail the challenges managers will encounter and provides tools to manage the process. You’ll leave with better visibility into technical discussions, a contextual record of technical decisions made for new members, tools to improve trust and accountability in system design, control mechanisms for engineers who code before they think, and a framework for risk management in software design and understand how to establish spaces for junior members to receive senior mentorship.

Photo of Juan Pablo Buritica

Juan Pablo Buritica


Juan Pablo Buriticá is the vice president of engineering at Splice, where he leads a distributed team throughout the US and Latin America building a cloud platform for music creation, collaboration, and sharing. Juan Pablo has built effective software engineering organizations by emphasizing open source software values, technical excellence, trust, and empathy. He has organized five global software engineering conferences, spoken at multiple events, and founded and led the growth of Colombia’s JavaScript community, the largest Spanish-speaking JS community in the world, with more than 5,000 members.