Skip to content

Instantly share code, notes, and snippets.

@jewelia
Last active August 29, 2015 14:15
Show Gist options
  • Save jewelia/0b8f26e91f2818bef460 to your computer and use it in GitHub Desktop.
Save jewelia/0b8f26e91f2818bef460 to your computer and use it in GitHub Desktop.
3 Great Engineering Management Talks from 2014

General key themes:

  • Hiring is really hard. You’re not just hiring a “Rails Engineer” or a “Python Programmer” you’re hiring someone who can help you change the world. Tell them why! Talk about the hard problems you’re solving. 2/3 of these talks give ideas and insight into hiring from sourcing to actual interview processes.

  • Rewriting systems is hard. People think they are going to replace their broken down horse and buggie with a bullet train and this often ends up in disaster. Successful rewrites require an incremental approach that takes months/years and often runs way over schedule. 2/3 of these talks go over how to handle rewrites not only from a high level technical perspective but a cultural/management perspective as well.

Two Developers, Many Lines of Code, and A Campaign that Made History

Harper Reed (CTO of Obama for America, now CEO of Modest) and Dylan Richard (Director of Eng of Obama for America, now CTO of Modest)

First half is a quick overview of the technology and process behind the 2012 Obama for America campaign from how they recruited engineers to what their infrastructure looked like. Very interesting discussion of the coming together of two (then) very different worlds: US politics/presidential campaigns and building highly scalable, fault tolerant systems and engineering cultures. I enjoyed this talk from the perspective of how 2 really smart people built a system/team/culture from scratch.

Dylan then goes over Modest’s interview process (taking lessons learned from the campaign) and how they ensure not to just hire "people who look like them". I found this very valuable as I am changing and refining our recruitment process in real time.

Every Problem is a Scaling Problem

Raffi Krikorian (former VP of Eng at Twitter)

Raffi talks about how scaled Twitter platform team from a culture/hiring/management perspective (not from a nitty gritty technical perspective, although he does weave some of that into the talk). He joined Twitter when it was 50 people and a giant monolithic Ruby app and left when it was 3K people and split into many different services. He was in charge of the team that rewrote Twitter; they never launched the first attempt (supposed to take 3 months but took 10 months) but did launch the second.

He talks at length about how writing software is an art, not a science: "you can rarely be trained for the exact path you’re going to take." He then goes on to talk about recruiting and hiring: don’t use outside recruiters, how he was always the “closer”, the last person who talks to the candidate to ensure they understand the opportunity. Again, great advice on hiring/sourcing candidates and how to convince them to join.

So You Want To Rewrite That

Camille Fournier (CTO of Rent the Runway)

General rewrite talk focused on startup world — not which technologies to use but how to approach a rewrite (Rent the Runway went from monolithic Drupal to Java services). Rewrites are dangerous often b/c of the temptations along the way (we are going to build the fastest, best system ever!) but it’s hard to know what that system even looks like, how it should work, etc. This is especially true if you’re doing a lot of firefighting and afraid to change much; if you don’t have time to think about the new system’s constraints, etc. when you’re just trying to keep it up (e.g. not release new features, just reduce downtime).

Camille suggests changing as little as possible and bringing as much stability as you can to the current system. Swap out small parts, do one thing at a time. Also be aware of the cultural implications of a rewrite — people will be mad if you are rewriting “their baby." She does an excellent of talking about how you might approach a rewrite (and if you should even do one!).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment