SlideShare a Scribd company logo
1 of 40
Download to read offline
Onboarding
at Scale
Tomer Gabel
Velocity 2016 Amsterdam
Image: Akheree Monajat (CC BY-SA 3.0)
Wix is…
• A web publishing platform
• Distributed R&D
– Tel-Aviv (Israel)
– Be’er-Sheva (Israel)
– Dnipropetrovsk (Ukraine)
– Kiev (Ukraine)
– Vilnius (Lithuania)
• Growing rapidly
– Jul 2013: 120 engineers
– Now: 400+ engineers
Scaling up is hard
Fundamental premise:
RESEARCHImage: Martine Perret / UNMEER (CC BY-ND 2.0)
Guilds and Companies
Company
Guild
Our Customers
Server Guild
React Guild
NG Guild
Challenges
Onboarding
Doctrine
Recruiting
Proposed Solution:
Product Suite
KickstartTraining Kit Crash Course
Images: Jeff Robins (CC BY 2.0), Vernon Cunningham (Public Domain), Paul Fisher (CC BY-SA 2.0)
Training Kit
Training Kit: Customers
As a Guild Lead, I want to:
• Start onboarding early
• Reduce overhead
• Have quality reference
material
Image: KCNA
Training Kit: Customers
As a Team Lead, I want to:
• Simplify training of new
hires
• Minimize disruption to
my team
• Have quality reference
material
Image: John Kennicutt, USMC (Public Domain)
Training Kit: Customers
As a new hire, I want to:
• Understand the
technology stack
• Be productive quickly
• Learn on my own
(and not be a pest)
Image: Cubmundo (BY-SA 2.0)
Training Kit: Design Goals
Guided self-learning
Customizable
Based on external resources
Kickoff
• Meet the Guild Lead
– Validate assumptions
– Identify key (technical)
partners
• Scope definition
– Meet key partners
– Set scope and expectations
– Generate “bucket list” of
desirable topics
• Review and prioritize
Development
• Guild Days
– Ask for some volunteers
– Host them for a full day
– Volunteers pick subjects
– Volunteers search &
evaluate material
Development
• Postprocessing
– By a professional
training developer
– Wording, formatting
– Consistent structure
Feedback Collection
• Per-subject feedback
– Simple web form
– Highlights substantial issues (if
any)
• Guild Day (one-off)
– Technical review by experts
• Interviews (one-off)
– Team leads
– New hires
Lessons Learned
Assumptions
• Content
– Only developers can
evaluate content
– Minor post-processing
– Focus on learning
• Structure
– Topics are atomic units
– Customizable set/order
Reality
– Dedicated professional
can take over
– Most of the actual work
– Need actionable content
(exercises, koans etc.)
– Topics are interrelated
– Modules are necessary
Lessons Learned
Assumptions
• Marketing
– R&D will self-market
– No need for special effort
• Maintenance
– Mostly ad-hoc
– Developer pull requests
• Future efforts
– Proper UX
Reality
– Little known, little used
– Initial push insufficient
– Constant, significant work
– Little participation
– Not that useful, for now
So what’s next?
1. Dedicated
content/training
developer
2. Revise structure for
modularity
3. Significant in-house
marketing effort
Image: Booyabazooka (CC BY-SA 3.0)
Kickstart
Kickstart: Overview
Takes juniors as input, outputs web developers
9 weeks, fully salaried
End result: professional web developers
Kickstart: Tiers
1. Individual self-learning
2. Teamwork and agile methods
3. Full product lifecycle
Kickstart: Challenges
Expensive (salaries, resources)
Tightly coupled recruiting effort
Mentorship and preparation
Recruitment
• Unique requirements
– Experience/skill level
– Recruiting in bulk
– Cost mitigation
• A dedicated pipeline
– “Recruiting days”
– Carefully orchestrated
Lessons Learned
Why do this?
• The social element
– Company culture
– Built-in “buddy system”
• Sustainable recruiting
– Easy to plan for
– Marketing-bound, really
– Great people!
Why not?
• Expensive
– Facilities, staff, amenities…
– And fully salaried to boot
• Hard to do consistently
– Staff turnover
– Buy-in is a constant effort
– Dedicated staff is critical
Crash
Course
Crash Course: Overview
Mid- to senior-level onboarding course
Recurring, every ~2 months
3 weeks
End result: a working MVP
Crash Course: Rationale
End-to-end production experience
Groups mimic team structure
Focus on methodology, philosophy
Crash Course: Challenges
Cost-prohibitive below 10 participants
Requires mix of server/front-end
Mentorship and preparation
Planning
• Week 1: Ramp-up
– Heavy on doctrine (TDD, CD)
– Tech stack (Scala, TypeScript)
• Weeks 2-3: Project time
– Guided bootstrapping
– Constant mentorship
Lessons Learned
Why do this?
• Break down the wall
– The server-client divide
– Reinforce TDD, CD etc.
– Makes our stack accessible
• Reduces new employee
friction
• Huge marketing boon
Lessons Learned
Why not?
• Expensive
– Facilities, staff, amenities…
– And fully salaried to boot
• Tight scheduling
– Lots of ad-hoc adjustments
– Everything needs a backup
• Minimal recruiting rate
Image: Jenny Poole (CC BY 2.0)
POST-MORTEMImage: Daniel X. O’Neil (CC BY 2.0)
Lessons Learned
• These are long-
running projects
• For best results:
– Assign dedicated staff
– Long-term
• This means you can’t
rely on engineers
– Trust me, I am one…
Program
Manager
Project
Manager
Training
Developer
Lessons Learned
• Scaling up is hard
• Doing it ad-hoc works!
• Until it doesn’t
– It’s not about size
– It’s about growth
• Consider ROI carefully!
Image: Damian Gadal (CC BY 2.0)
Lessons Learned
• Mentors are your biggest asset
– You need their buy-in
– You need them to come back
• Give them what they need
– “Soft skills” workshops, simulations
– Expectation setting and guidance
– Hold status/venting sessions. Pay attention!
Lessons Learned
• These are big projects
• Success is about logistics
– Huge todo list
– Scheduling hell
– Constant interruptions
– Follow-ups
• That’s a lot to keep track of
• Hire a Project Manager.
“Behind every great
leader there was an
even greater
logistician.”
- M. Cox
Image: Rom Logistics (CC BY-SA 3.0)
QUESTIONS?
Thank you for listening
tomer@tomergabel.com
@tomerg
http://engineering.wix.com
To contact Wix academy (ask us anything!):
academy@wix.com
This work is licensed under a Creative
Commons Attribution-ShareAlike 4.0
International License.

More Related Content

Similar to Onboarding at Scale

Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Allison Pollard
 
CHAMP MOOC Meeting Feb 13 2014
CHAMP MOOC Meeting Feb 13 2014CHAMP MOOC Meeting Feb 13 2014
CHAMP MOOC Meeting Feb 13 2014cccschamp
 
New experiential Masters online
New experiential Masters onlineNew experiential Masters online
New experiential Masters onlineMICProductivity
 
Neo4j GraphDay Munich - How to make your GraphDB project successful
Neo4j GraphDay Munich - How to make your GraphDB project successfulNeo4j GraphDay Munich - How to make your GraphDB project successful
Neo4j GraphDay Munich - How to make your GraphDB project successfulNeo4j
 
Maintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectMaintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectCorecom Consulting
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS FrameworkCode Mastery
 
Badges at pipingdesignu.com
Badges at pipingdesignu.comBadges at pipingdesignu.com
Badges at pipingdesignu.comwbeazley
 
CHAMP Math MOOC Meeting Feb 13 2014
CHAMP Math MOOC Meeting Feb 13 2014CHAMP Math MOOC Meeting Feb 13 2014
CHAMP Math MOOC Meeting Feb 13 2014cccscoetc
 
Software Outsourcing: Outsource Your Project or Build a Team
Software Outsourcing: Outsource Your Project or Build a TeamSoftware Outsourcing: Outsource Your Project or Build a Team
Software Outsourcing: Outsource Your Project or Build a TeamSoftheme
 
Increasing your SharePoint ROI with End-User Training
Increasing your SharePoint ROI with End-User TrainingIncreasing your SharePoint ROI with End-User Training
Increasing your SharePoint ROI with End-User Trainingjendodd
 
LeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyLeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyAgile Austria Conference
 

Similar to Onboarding at Scale (20)

Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016Technical Excellence Doesn't Just Happen - AgileIndy 2016
Technical Excellence Doesn't Just Happen - AgileIndy 2016
 
CHAMP MOOC Meeting Feb 13 2014
CHAMP MOOC Meeting Feb 13 2014CHAMP MOOC Meeting Feb 13 2014
CHAMP MOOC Meeting Feb 13 2014
 
Unlearning Agile DA day talk
Unlearning Agile DA day talkUnlearning Agile DA day talk
Unlearning Agile DA day talk
 
New experiential Masters online
New experiential Masters onlineNew experiential Masters online
New experiential Masters online
 
Neo4j GraphDay Munich - How to make your GraphDB project successful
Neo4j GraphDay Munich - How to make your GraphDB project successfulNeo4j GraphDay Munich - How to make your GraphDB project successful
Neo4j GraphDay Munich - How to make your GraphDB project successful
 
Maintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope projectMaintaining lean and agile principles in a fixed date/budget/scope project
Maintaining lean and agile principles in a fixed date/budget/scope project
 
SAFe and DevOps - better together
SAFe and DevOps - better togetherSAFe and DevOps - better together
SAFe and DevOps - better together
 
50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
Session 3b The SF SaaS Framework
Session 3b   The SF SaaS FrameworkSession 3b   The SF SaaS Framework
Session 3b The SF SaaS Framework
 
Badges at pipingdesignu.com
Badges at pipingdesignu.comBadges at pipingdesignu.com
Badges at pipingdesignu.com
 
Feb Apln OC Shawna C
Feb Apln OC  Shawna CFeb Apln OC  Shawna C
Feb Apln OC Shawna C
 
MagSlideDeck_17_External_v1.0
MagSlideDeck_17_External_v1.0MagSlideDeck_17_External_v1.0
MagSlideDeck_17_External_v1.0
 
CHAMP Math MOOC Meeting Feb 13 2014
CHAMP Math MOOC Meeting Feb 13 2014CHAMP Math MOOC Meeting Feb 13 2014
CHAMP Math MOOC Meeting Feb 13 2014
 
Software Outsourcing: Outsource Your Project or Build a Team
Software Outsourcing: Outsource Your Project or Build a TeamSoftware Outsourcing: Outsource Your Project or Build a Team
Software Outsourcing: Outsource Your Project or Build a Team
 
Increasing your SharePoint ROI with End-User Training
Increasing your SharePoint ROI with End-User TrainingIncreasing your SharePoint ROI with End-User Training
Increasing your SharePoint ROI with End-User Training
 
LeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case StudyLeSS at an Austrian Insurance Company - A Case Study
LeSS at an Austrian Insurance Company - A Case Study
 
Mike Walls (Revera)
Mike Walls (Revera)Mike Walls (Revera)
Mike Walls (Revera)
 
UNIFIED CONTENT AT USAA
UNIFIED CONTENT AT USAAUNIFIED CONTENT AT USAA
UNIFIED CONTENT AT USAA
 
ID, UP, & RUP.pptx
ID, UP, & RUP.pptxID, UP, & RUP.pptx
ID, UP, & RUP.pptx
 

More from Tomer Gabel

How shit works: Time
How shit works: TimeHow shit works: Time
How shit works: TimeTomer Gabel
 
Nondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of UsNondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of UsTomer Gabel
 
Slaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionSlaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionTomer Gabel
 
An Abridged Guide to Event Sourcing
An Abridged Guide to Event SourcingAn Abridged Guide to Event Sourcing
An Abridged Guide to Event SourcingTomer Gabel
 
How Shit Works: Storage
How Shit Works: StorageHow Shit Works: Storage
How Shit Works: StorageTomer Gabel
 
Java 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala StoryJava 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala StoryTomer Gabel
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice StackTomer Gabel
 
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Tomer Gabel
 
Scala Refactoring for Fun and Profit
Scala Refactoring for Fun and ProfitScala Refactoring for Fun and Profit
Scala Refactoring for Fun and ProfitTomer Gabel
 
Scala in the Wild
Scala in the WildScala in the Wild
Scala in the WildTomer Gabel
 
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)Tomer Gabel
 
Put Your Thinking CAP On
Put Your Thinking CAP OnPut Your Thinking CAP On
Put Your Thinking CAP OnTomer Gabel
 
Leveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better ValidationLeveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better ValidationTomer Gabel
 
A Field Guide to DSL Design in Scala
A Field Guide to DSL Design in ScalaA Field Guide to DSL Design in Scala
A Field Guide to DSL Design in ScalaTomer Gabel
 
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)Tomer Gabel
 
Scala Back to Basics: Type Classes
Scala Back to Basics: Type ClassesScala Back to Basics: Type Classes
Scala Back to Basics: Type ClassesTomer Gabel
 
5 Bullets to Scala Adoption
5 Bullets to Scala Adoption5 Bullets to Scala Adoption
5 Bullets to Scala AdoptionTomer Gabel
 
Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)Tomer Gabel
 
Ponies and Unicorns With Scala
Ponies and Unicorns With ScalaPonies and Unicorns With Scala
Ponies and Unicorns With ScalaTomer Gabel
 
Lab: JVM Production Debugging 101
Lab: JVM Production Debugging 101Lab: JVM Production Debugging 101
Lab: JVM Production Debugging 101Tomer Gabel
 

More from Tomer Gabel (20)

How shit works: Time
How shit works: TimeHow shit works: Time
How shit works: Time
 
Nondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of UsNondeterministic Software for the Rest of Us
Nondeterministic Software for the Rest of Us
 
Slaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency InjectionSlaying Sacred Cows: Deconstructing Dependency Injection
Slaying Sacred Cows: Deconstructing Dependency Injection
 
An Abridged Guide to Event Sourcing
An Abridged Guide to Event SourcingAn Abridged Guide to Event Sourcing
An Abridged Guide to Event Sourcing
 
How Shit Works: Storage
How Shit Works: StorageHow Shit Works: Storage
How Shit Works: Storage
 
Java 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala StoryJava 8 and Beyond, a Scala Story
Java 8 and Beyond, a Scala Story
 
The Wix Microservice Stack
The Wix Microservice StackThe Wix Microservice Stack
The Wix Microservice Stack
 
Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)Scala Refactoring for Fun and Profit (Japanese subtitles)
Scala Refactoring for Fun and Profit (Japanese subtitles)
 
Scala Refactoring for Fun and Profit
Scala Refactoring for Fun and ProfitScala Refactoring for Fun and Profit
Scala Refactoring for Fun and Profit
 
Scala in the Wild
Scala in the WildScala in the Wild
Scala in the Wild
 
Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)Speaking Scala: Refactoring for Fun and Profit (Workshop)
Speaking Scala: Refactoring for Fun and Profit (Workshop)
 
Put Your Thinking CAP On
Put Your Thinking CAP OnPut Your Thinking CAP On
Put Your Thinking CAP On
 
Leveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better ValidationLeveraging Scala Macros for Better Validation
Leveraging Scala Macros for Better Validation
 
A Field Guide to DSL Design in Scala
A Field Guide to DSL Design in ScalaA Field Guide to DSL Design in Scala
A Field Guide to DSL Design in Scala
 
Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)Functional Leap of Faith (Keynote at JDay Lviv 2014)
Functional Leap of Faith (Keynote at JDay Lviv 2014)
 
Scala Back to Basics: Type Classes
Scala Back to Basics: Type ClassesScala Back to Basics: Type Classes
Scala Back to Basics: Type Classes
 
5 Bullets to Scala Adoption
5 Bullets to Scala Adoption5 Bullets to Scala Adoption
5 Bullets to Scala Adoption
 
Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)Nashorn: JavaScript that doesn’t suck (ILJUG)
Nashorn: JavaScript that doesn’t suck (ILJUG)
 
Ponies and Unicorns With Scala
Ponies and Unicorns With ScalaPonies and Unicorns With Scala
Ponies and Unicorns With Scala
 
Lab: JVM Production Debugging 101
Lab: JVM Production Debugging 101Lab: JVM Production Debugging 101
Lab: JVM Production Debugging 101
 

Recently uploaded

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Onboarding at Scale

  • 1. Onboarding at Scale Tomer Gabel Velocity 2016 Amsterdam Image: Akheree Monajat (CC BY-SA 3.0)
  • 2. Wix is… • A web publishing platform • Distributed R&D – Tel-Aviv (Israel) – Be’er-Sheva (Israel) – Dnipropetrovsk (Ukraine) – Kiev (Ukraine) – Vilnius (Lithuania) • Growing rapidly – Jul 2013: 120 engineers – Now: 400+ engineers
  • 3. Scaling up is hard Fundamental premise:
  • 4. RESEARCHImage: Martine Perret / UNMEER (CC BY-ND 2.0)
  • 9. Product Suite KickstartTraining Kit Crash Course Images: Jeff Robins (CC BY 2.0), Vernon Cunningham (Public Domain), Paul Fisher (CC BY-SA 2.0)
  • 11. Training Kit: Customers As a Guild Lead, I want to: • Start onboarding early • Reduce overhead • Have quality reference material Image: KCNA
  • 12. Training Kit: Customers As a Team Lead, I want to: • Simplify training of new hires • Minimize disruption to my team • Have quality reference material Image: John Kennicutt, USMC (Public Domain)
  • 13. Training Kit: Customers As a new hire, I want to: • Understand the technology stack • Be productive quickly • Learn on my own (and not be a pest) Image: Cubmundo (BY-SA 2.0)
  • 14. Training Kit: Design Goals Guided self-learning Customizable Based on external resources
  • 15. Kickoff • Meet the Guild Lead – Validate assumptions – Identify key (technical) partners • Scope definition – Meet key partners – Set scope and expectations – Generate “bucket list” of desirable topics • Review and prioritize
  • 16. Development • Guild Days – Ask for some volunteers – Host them for a full day – Volunteers pick subjects – Volunteers search & evaluate material
  • 17. Development • Postprocessing – By a professional training developer – Wording, formatting – Consistent structure
  • 18. Feedback Collection • Per-subject feedback – Simple web form – Highlights substantial issues (if any) • Guild Day (one-off) – Technical review by experts • Interviews (one-off) – Team leads – New hires
  • 19. Lessons Learned Assumptions • Content – Only developers can evaluate content – Minor post-processing – Focus on learning • Structure – Topics are atomic units – Customizable set/order Reality – Dedicated professional can take over – Most of the actual work – Need actionable content (exercises, koans etc.) – Topics are interrelated – Modules are necessary
  • 20. Lessons Learned Assumptions • Marketing – R&D will self-market – No need for special effort • Maintenance – Mostly ad-hoc – Developer pull requests • Future efforts – Proper UX Reality – Little known, little used – Initial push insufficient – Constant, significant work – Little participation – Not that useful, for now
  • 21. So what’s next? 1. Dedicated content/training developer 2. Revise structure for modularity 3. Significant in-house marketing effort Image: Booyabazooka (CC BY-SA 3.0)
  • 23. Kickstart: Overview Takes juniors as input, outputs web developers 9 weeks, fully salaried End result: professional web developers
  • 24. Kickstart: Tiers 1. Individual self-learning 2. Teamwork and agile methods 3. Full product lifecycle
  • 25. Kickstart: Challenges Expensive (salaries, resources) Tightly coupled recruiting effort Mentorship and preparation
  • 26. Recruitment • Unique requirements – Experience/skill level – Recruiting in bulk – Cost mitigation • A dedicated pipeline – “Recruiting days” – Carefully orchestrated
  • 27. Lessons Learned Why do this? • The social element – Company culture – Built-in “buddy system” • Sustainable recruiting – Easy to plan for – Marketing-bound, really – Great people! Why not? • Expensive – Facilities, staff, amenities… – And fully salaried to boot • Hard to do consistently – Staff turnover – Buy-in is a constant effort – Dedicated staff is critical
  • 29. Crash Course: Overview Mid- to senior-level onboarding course Recurring, every ~2 months 3 weeks End result: a working MVP
  • 30. Crash Course: Rationale End-to-end production experience Groups mimic team structure Focus on methodology, philosophy
  • 31. Crash Course: Challenges Cost-prohibitive below 10 participants Requires mix of server/front-end Mentorship and preparation
  • 32. Planning • Week 1: Ramp-up – Heavy on doctrine (TDD, CD) – Tech stack (Scala, TypeScript) • Weeks 2-3: Project time – Guided bootstrapping – Constant mentorship
  • 33. Lessons Learned Why do this? • Break down the wall – The server-client divide – Reinforce TDD, CD etc. – Makes our stack accessible • Reduces new employee friction • Huge marketing boon
  • 34. Lessons Learned Why not? • Expensive – Facilities, staff, amenities… – And fully salaried to boot • Tight scheduling – Lots of ad-hoc adjustments – Everything needs a backup • Minimal recruiting rate Image: Jenny Poole (CC BY 2.0)
  • 35. POST-MORTEMImage: Daniel X. O’Neil (CC BY 2.0)
  • 36. Lessons Learned • These are long- running projects • For best results: – Assign dedicated staff – Long-term • This means you can’t rely on engineers – Trust me, I am one… Program Manager Project Manager Training Developer
  • 37. Lessons Learned • Scaling up is hard • Doing it ad-hoc works! • Until it doesn’t – It’s not about size – It’s about growth • Consider ROI carefully! Image: Damian Gadal (CC BY 2.0)
  • 38. Lessons Learned • Mentors are your biggest asset – You need their buy-in – You need them to come back • Give them what they need – “Soft skills” workshops, simulations – Expectation setting and guidance – Hold status/venting sessions. Pay attention!
  • 39. Lessons Learned • These are big projects • Success is about logistics – Huge todo list – Scheduling hell – Constant interruptions – Follow-ups • That’s a lot to keep track of • Hire a Project Manager. “Behind every great leader there was an even greater logistician.” - M. Cox Image: Rom Logistics (CC BY-SA 3.0)
  • 40. QUESTIONS? Thank you for listening tomer@tomergabel.com @tomerg http://engineering.wix.com To contact Wix academy (ask us anything!): academy@wix.com This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Editor's Notes

  1. Image source: http://walletgroove.com/wp-content/uploads/2015/08/crowded-subways-1.jpg
  2. Image source: https://flic.kr/p/qMJNdx
  3. Image sources: https://upload.wikimedia.org/wikipedia/commons/6/6e/Wikimedia_Foundation_Servers-8055_17.jpg
  4. Icon source: http://www.checkster.com/solutions/automated-reference-checkup/
  5. Icon source: https://pixabay.com/en/user-person-generic-single-general-23874/ and https://pixabay.com/en/people-avatar-green-icon-abstract-306295/
  6. Image source: https://flic.kr/p/4M5Wz1