Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building and Growing Sustainable Engineering Teams

Building and Growing Sustainable Engineering Teams

In this talk I share my experiences and musings on building and growing great engineering teams.

Vlad Galu

April 23, 2018
Tweet

More Decks by Vlad Galu

Other Decks in Technology

Transcript

  1. ABOUT GLOBALSIGN 3rd largest public Certificate Authority Turning the padlock

    green since 1996 Enabling ~25% of all web traffic, most notably Wikipedia, Office365, Xbox Live Several billion daily hits Scaling from millions of websites to billions of devices in the IoT vladgalu
  2. ABOUT ME ISP, content delivery, hosting & storage, satellite telecoms

    & security systems/networks ➜ software ➜ architecture ➜ leadership & management with GlobalSign since 2014, done some cool things avoided past mistakes, made some new ones vladgalu
  3. • Inquisitive, creative, analytic personality • Understands first principles •

    Loves building things • Early passion for computers IDEAL PROFILE vladgalu
  4. • You write clean, concise, self-documenting code that both you

    and your team can still understand a year after. You care about naming. You do not repeat yourself. You do not believe that more code represents the solution to a problem. • You feel comfortable learning a new programming language. We code mostly in Go (it is fine if you have not used it), but we also embrace and improve tools tools built in different languages. • You appreciate code performance. We build critical systems. Relying entirely on the language/framework for optimisation is a luxury we do not have. • You have a good grasp of operating systems, knowing how to directly use (or misuse) the scheduling, network and storage facilities. • You think in patterns. Synchronous/asynchronous. Multithreaded/event driven. Latency/bandwidth. You take these into consideration when engineering your code. • You keep abreast of latest technologies and use them judiciously. Amazing software advancements are made every year, but there are no silver bullets. You know which tools in your belt work best for the task at hand. • You know what you do not know and you are as comfortable asking for help as you are offering it. We advocate mutual knowledge sharing. Nobody knows everything. • You know when to work hard and when to kick back. Development effort is not evenly spread. Sometimes you might have to put in some unplanned extra hours, sometimes you go on a team outing before the clock hits six. • You are an inquisitive perfectionist. You like to know how things work and constantly try to improve them. IDEAL PROFILE vladgalu
  5. “I have an amazing candidate for you, with 5 years

    of Java, 3 years of C# and 4 years of SQL experience.“ - recruiter vladgalu
  6. NETWORK • Meetups, conferences, hackathons • Educate yourself and recruiters

    on your business needs and compatible industries vladgalu
  7. NETWORK • Meetups, conferences, hackathons • Educate yourself and recruiters

    on your business needs and compatible industries • Train them like a spam filter vladgalu
  8. TIMED/ONLINE CODING TESTS • Narrow scoped • Time boundaries can

    inhibit thought processes • Only reveal what people know, not how they think vladgalu
  9. TAKE-HOME CODING TESTS • Cover multiple bases • Establish a

    generous time boundary • Encourage research before implementation vladgalu
  10. TAKE-HOME CODING TESTS • Cover multiple bases • Establish a

    generous time boundary • Encourage research before implementation • Mix in some trade-offs vladgalu
  11. TAKE-HOME CODING TESTS • Cover multiple bases • Establish a

    generous time boundary • Encourage research before implementation • Mix in some trade-offs • Approach reveals thought processes vladgalu
  12. FINAL INTERVIEW • Seek strengths over weaknesses • Drift in

    and out of the comfort zone • Account for Dunning- Kruger and impostor syndromes Confidence None Expert Average Experience vladgalu
  13. ONBOARDING • If new hires do not make mistakes during

    probation, the company likely does • Sandboxes: low risk/wide reach backlog items (e.g. small features and bug fixes) • Good tooling and documentation (e.g. coding style, architecture & deployment guides) • Diverse pairing • Provide early feedback, ensure psychological safety vladgalu
  14. 3D DEVELOPMENT how what why • There is more to

    it than “what” and “how” • Why do we do what we do? • Why do we do it this way? vladgalu
  15. BRIDGING THE CULTURE GAP • Culture differences exist in one

    office, much more so across continents • Geography permitting, establish cross-office, cross-disciplinary teams • Milestone aligned work trips, joint stretch projects • Long term relocation • Seeding new teams from existing teams vladgalu
  16. ADVOCACY & EVANGELISM • Technical leaders should assume both roles,

    with measurable effects • Internally: engineering reports, newsletters, demos • Effort recognition • Roadmap contributions • Externally: technical blogs, talks, open source contributions • Talent attraction • Brand recognition • Bottom-up business development • Roadmap contributions vladgalu
  17. HAS ANY OF THIS PAID OFF? • We have built

    an amazing platform • Service convergence is underway, under shared ownership • Several teams have merged into one • Talent retention has drastically improved • Awareness of engineering challenges throughout the company has grown vladgalu