Share
Embed
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
Transcript
35 slides
-
BUILDING AND GROWING SUSTAINABLE ENGINEERING TEAMS VLAD GALU VP ENGINEERING,
GLOBALSIGN vladgalu -
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 -
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 -
• Inquisitive, creative, analytic personality • Understands first principles •
Loves building things • Early passion for computers IDEAL PROFILE vladgalu -
• 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 -
“I have an amazing candidate for you, with 5 years
of Java, 3 years of C# and 4 years of SQL experience.“ - recruiter vladgalu -
NETWORK • Meetups, conferences, hackathons • Educate yourself and recruiters
on your business needs and compatible industries vladgalu -
NETWORK • Meetups, conferences, hackathons • Educate yourself and recruiters
on your business needs and compatible industries • Train them like a spam filter vladgalu -
TIMED/ONLINE CODING TESTS • Narrow scoped • Time boundaries can
inhibit thought processes vladgalu -
TIMED/ONLINE CODING TESTS • Narrow scoped • Time boundaries can
inhibit thought processes • Only reveal what people know, not how they think vladgalu -
TAKE-HOME CODING TESTS • Cover multiple bases • Establish a
generous time boundary vladgalu -
TAKE-HOME CODING TESTS • Cover multiple bases • Establish a
generous time boundary • Encourage research before implementation vladgalu -
TAKE-HOME CODING TESTS • Cover multiple bases • Establish a
generous time boundary • Encourage research before implementation • Mix in some trade-offs vladgalu -
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 -
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 -
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 -
HORIZONTAL DEVELOPMENT Programming languages Distributed systems Performance OS internals Data
science Security Tes8ng vladgalu -
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 -
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 -
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 -
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