SlideShare a Scribd company logo
SUNLIGHT & AIR
10 LESSONS FOR GROWING JUNIOR
DEVELOPERS
HELLO!
WHO AM I?
Hi! I’m Erika.
I’m a software engineer.
I work at Detroit Labs in Detroit, Michigan.
I’m currently the Director of Apprenticeship & Training
programs.
In 2014, our company decided to try an experiment: we
created a 3-month apprenticeship program where people
with no prior software experience were paid to learn, and
offered full-time employment to successful graduates.
WHO AM I?
Since 2014, we’ve trained 33 developers through our iOS,
Android, and JavaScript apprenticeship programs.
We’ve trained 12 additional developers through partnership
programs.
In the past 2 years, I have worked individually with 45 junior
developers, including classroom instruction, technical
coaching, soft skills training, mentoring, and providing
ongoing support as they integrate into development teams.
WHO ARE YOU?
WHAT IS THIS?
In this talk, we’ll cover aspects of effectively growing junior
developers, including:
‣ Choosing the right fit for your team
‣ Getting off to a good start
‣ Setting & managing expectations
‣ Providing effective feedback
‣ Encouraging ongoing growth
‣ Conflict resolution
LESSON #1: CHOOSE WELL
‣ Not everyone can or will become 1.) a successful
developer or 2.) an effective team member
‣ A junior developer’s past experience (if they have any)
may not tell you much, so look for potential
‣ Talent is great, but it’s not the most important piece or
even necessarily a requirement
‣ First and foremost, good developers are natural problem-
solvers: they are curious, thoughtful, and persistent
LESSON #1: CHOOSE WELL
‣ “Teachability” is key: look for people who aren’t afraid to
ask questions, and are willing to engage in the process of
finding an answer
‣ When evaluating junior developers, as much emphasis
should be placed on soft skills as on technical ability
‣ The ability to receive and effectively incorporate feedback
is essential
‣ Communication, collaboration, conflict resolution
LESSON #2: FIND THE RIGHT FIT
‣ The team a junior developer will be joining should be as
involved as possible in the hiring process
‣ Team buy-in is absolutely essential
‣ Adding a new person to a team creates a constellation of
new relationships
‣ The “right fit” will bring new strengths to the team while
challenging them in areas of struggle: better feedback,
communication, and knowledge-sharing are just a few
possible improvements
LESSON #3: SET EXPECTATIONS
‣ Set clear, fair, realistic expectations for everyone before a
junior developer joins the team
‣ If senior team members will be expected to dedicate time
to pairing, coaching, and mentoring the new addition,
discuss this in advance to determine interest and ability
‣ It may be necessary to adjust a senior developer’s
workload if he/she is expected to do significant coaching
in addition to his/her own work
‣ Seek input from the team in setting expectations and be
sure to create a feedback loop for adjustments
LESSON #3: SET EXPECTATIONS
‣ Set expectations for junior developers in terms of progress
and performance
‣ Junior developers should have specific, measurable goals
to meet on a regular basis (weekly, monthly, etc.)
‣ Junior developers should have a designated person(s) to
ask for help with technical and interpersonal issues
‣ Develop a clear plan of growth: Where are a junior
developer’s skills expected to be in 3 months? 6 months?
In a year? What specific areas need improvement?
LESSON #4: PAIR UP
‣ Pair programming from the start is one of the quickest,
most effective ways to ramp up a junior developer who is
new to the team, new to a language/platform, new to
development, or all of the above
‣ Pair junior developers with more experienced developers
(they don’t necessarily have to be senior!) who are good
communicators and have an interest in mentoring
‣ Set expectations for pairing, as junior/senior pairs can
often turn into “shadowing”
LESSON #4: PAIR UP
‣ Junior developers should be actively driving and
navigating during pairing sessions
‣ Pairing partners should encourage questions and provide
direction, but not always give answers: as the junior
developer gains skills and confidence, he/she should be
increasingly responsible for figuring out answers on his/
her own
‣ Teach junior developers to seek direction instead of
answers: “I’m struggling with [X] problem. I’ve tried [Y]
options without success. My current hypothesis is [Z]. What
should my next step be? Why?”
LESSON #5: BALANCE
STRUCTURE AND FREEDOM
‣ Junior developers need structure to thrive, especially at
first
‣ Structure includes clear expectations and goals, assigned
tasks, accountability, supervision, and regular feedback
‣ Providing structure creates a framework for the future,
when the junior developer will manage his/her work and
learning more independently, and will become more
skilled at self-assessment
LESSON #5: BALANCE
STRUCTURE AND FREEDOM
‣ Freedom interspersed with structure can accelerate
learning and increase motivation and enthusiasm
‣ Giving a junior developer assigned time to work on a
personal project can significantly build his/her skills and
confidence
‣ Learning projects should have specific requirements in
terms of difficulty and complexity, and regular updates
and demos should be provided
LESSON #6: POSITIVE
FEEDBACK
‣ Feedback (of all kinds) is one of the most important pieces
of growing junior developers
‣ Positive feedback tends to get lost in the shuffle, especially
when the focus is on growth and improvement
‣ Positive feedback builds confidence, improves
collaboration and team relationships, and increases
motivation
‣ Positive feedback should be specific, timely, and sincere
LESSON #7: CONSTRUCTIVE
FEEDBACK
‣ The term “constructive feedback” helps to reduce the
stressful connotations of the term “negative feedback”
‣ Constructive feedback can be stressful and anxiety-
provoking for anyone who struggles with receiving
feedback, but it is almost always difficult for junior
developers, who tend to already have a lot of anxiety
about their performance
‣ Avoid giving major constructive feedback “on the spot”
LESSON #7: CONSTRUCTIVE
FEEDBACK
‣ Significant constructive feedback should be given in a
structured setting, such as a 1:1 meeting
‣ It may be helpful to provide constructive feedback in
advance of an in-person meeting (e.g., through email) to
give the recipient time to sort through his/her initial
reaction, which may be emotional
‣ Give constructive feedback on a regular, frequent basis in
order to lessen anxiety and increase the likelihood that
feedback will be accepted non-defensively
LESSON #8: LISTEN & SUPPORT
‣ The junior developer should have regular 1:1 meetings
with someone who can provide support and confidential
listening, as well as help addressing any issues that arise
‣ Junior developers are often hesitant to raise issues with
the team, and regular meetings with a supportive person
decrease the likelihood that problems will go undetected
‣ Support is extremely important to success: adjusting to a
new job and a team (and in some cases, a new technology
or even a new career) can be stressful, emotional, and
sometimes overwhelming
LESSON #9: ADDRESS ISSUES
‣ Tensions and challenges are inevitable
‣ Create a framework for later problem-solving by
acknowledging up front that adding a junior member to
the team may bring up challenges on all sides
‣ Ignoring problems leaves senior developers feeling
frustrated, resentful, and/or overwhelmed
‣ Failure to address obvious team tensions leaves junior
developers feeling unwanted, anxious, and/or hopeless
‣ Issues that go ignored can become toxic to the team
LESSON #10: ENJOY THE RIDE
‣ The right junior developer can bring a lot of enthusiasm,
energy, learning, and commitment to the team
‣ Coaching & mentoring a junior developer can be
extremely rewarding for more seasoned team members
‣ The process of growing a junior developer creates many
opportunities for reflection, feedback, improvement, and
growth as a team
‣ Junior developers who receive intentional mentorship,
coaching, and support tend to have strong loyalty to the
team, their teammates, and the company
QUESTIONS?
ERIKA
CARLSON
@eacarlson
erika@detroitlabs.com

More Related Content

What's hot

Innovation capability building perspective feb 13
Innovation capability building perspective feb 13Innovation capability building perspective feb 13
Innovation capability building perspective feb 13
Agility Innovation Specialists
 
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
BizLibrary
 
Spring 2021 workshop - teamwork
Spring 2021 workshop - teamworkSpring 2021 workshop - teamwork
Spring 2021 workshop - teamwork
Hannah Darcy
 
Top mistakes in creating training content
Top mistakes in creating training contentTop mistakes in creating training content
Top mistakes in creating training content
Metamorph Training Pvt Ltd
 
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
BizLibrary
 
Solution Design
Solution DesignSolution Design
Solution Design
Jennifer Yurof
 
LLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 DownloadLLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 Download
TorranceLearning
 
Agile & LLAMA For Instructional Designers DevCamp 2019 S101
Agile & LLAMA For Instructional Designers DevCamp 2019 S101Agile & LLAMA For Instructional Designers DevCamp 2019 S101
Agile & LLAMA For Instructional Designers DevCamp 2019 S101
TorranceLearning
 
215371906 email-proposal-case7
215371906 email-proposal-case7215371906 email-proposal-case7
215371906 email-proposal-case7
homeworkping8
 
Utilizing an Opportunity Matrix
Utilizing an Opportunity MatrixUtilizing an Opportunity Matrix
Utilizing an Opportunity Matrix
Training Industry Conference & Expo
 
Building a Culture of Coaching In Your Sales Organization
Building a Culture of Coaching In Your Sales OrganizationBuilding a Culture of Coaching In Your Sales Organization
Building a Culture of Coaching In Your Sales Organization
Brett Andersen
 
Corporate Training Management
Corporate Training ManagementCorporate Training Management
Corporate Training Management
Randy (Randver) Fleckenstein
 
Training & development
Training & developmentTraining & development
Training & development
sadaf naz
 
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
BizLibrary
 
152-3 Lean six sigma gets you from coping to solving operational problems
152-3 Lean six sigma gets you from coping to solving operational problems152-3 Lean six sigma gets you from coping to solving operational problems
152-3 Lean six sigma gets you from coping to solving operational problems
Francisco Pulgar-Vidal, MBA, Lean Six Sigma MBB
 
First-time-Manager-Overview
First-time-Manager-OverviewFirst-time-Manager-Overview
First-time-Manager-Overview
Davita N. Carpenter
 
Harnessing Change: Agile Methods for Instructional Designers
Harnessing Change: Agile Methods for Instructional DesignersHarnessing Change: Agile Methods for Instructional Designers
Harnessing Change: Agile Methods for Instructional Designers
TorranceLearning
 
5 Ways to Prepare Your Organization for a Successful 2020
5 Ways to Prepare Your Organization for a Successful 20205 Ways to Prepare Your Organization for a Successful 2020
5 Ways to Prepare Your Organization for a Successful 2020
BizLibrary
 
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
Bottom-Line Performance
 
How to Develop Agility Within Your Training Program to Help Your Learners Suc...
How to Develop Agility Within Your Training Program to Help Your Learners Suc...How to Develop Agility Within Your Training Program to Help Your Learners Suc...
How to Develop Agility Within Your Training Program to Help Your Learners Suc...
BizLibrary
 

What's hot (20)

Innovation capability building perspective feb 13
Innovation capability building perspective feb 13Innovation capability building perspective feb 13
Innovation capability building perspective feb 13
 
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
Effective Time Management Techniques to Teach Your Employees | Webinar 09.22.15
 
Spring 2021 workshop - teamwork
Spring 2021 workshop - teamworkSpring 2021 workshop - teamwork
Spring 2021 workshop - teamwork
 
Top mistakes in creating training content
Top mistakes in creating training contentTop mistakes in creating training content
Top mistakes in creating training content
 
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
How to Measure the Impact of Employee Soft Skills Training | Webinar 01_26_15
 
Solution Design
Solution DesignSolution Design
Solution Design
 
LLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 DownloadLLAMA Intro to Agile May 2019 Download
LLAMA Intro to Agile May 2019 Download
 
Agile & LLAMA For Instructional Designers DevCamp 2019 S101
Agile & LLAMA For Instructional Designers DevCamp 2019 S101Agile & LLAMA For Instructional Designers DevCamp 2019 S101
Agile & LLAMA For Instructional Designers DevCamp 2019 S101
 
215371906 email-proposal-case7
215371906 email-proposal-case7215371906 email-proposal-case7
215371906 email-proposal-case7
 
Utilizing an Opportunity Matrix
Utilizing an Opportunity MatrixUtilizing an Opportunity Matrix
Utilizing an Opportunity Matrix
 
Building a Culture of Coaching In Your Sales Organization
Building a Culture of Coaching In Your Sales OrganizationBuilding a Culture of Coaching In Your Sales Organization
Building a Culture of Coaching In Your Sales Organization
 
Corporate Training Management
Corporate Training ManagementCorporate Training Management
Corporate Training Management
 
Training & development
Training & developmentTraining & development
Training & development
 
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
Developing the Coaching Skills of Your Managers and Leaders | Webinar 09.09.15
 
152-3 Lean six sigma gets you from coping to solving operational problems
152-3 Lean six sigma gets you from coping to solving operational problems152-3 Lean six sigma gets you from coping to solving operational problems
152-3 Lean six sigma gets you from coping to solving operational problems
 
First-time-Manager-Overview
First-time-Manager-OverviewFirst-time-Manager-Overview
First-time-Manager-Overview
 
Harnessing Change: Agile Methods for Instructional Designers
Harnessing Change: Agile Methods for Instructional DesignersHarnessing Change: Agile Methods for Instructional Designers
Harnessing Change: Agile Methods for Instructional Designers
 
5 Ways to Prepare Your Organization for a Successful 2020
5 Ways to Prepare Your Organization for a Successful 20205 Ways to Prepare Your Organization for a Successful 2020
5 Ways to Prepare Your Organization for a Successful 2020
 
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
Learning Solutions and Your Product Launch: How a Curriculum Drives Success (...
 
How to Develop Agility Within Your Training Program to Help Your Learners Suc...
How to Develop Agility Within Your Training Program to Help Your Learners Suc...How to Develop Agility Within Your Training Program to Help Your Learners Suc...
How to Develop Agility Within Your Training Program to Help Your Learners Suc...
 

Similar to Sunlight & Air: 10 Lessons for Growing Junior Developers

Exploring employee feedback comprehensively
Exploring employee feedback comprehensivelyExploring employee feedback comprehensively
Exploring employee feedback comprehensively
Qandle
 
Teach Me How! 7 Tips for Creating a Competency-Based Training Program
Teach Me How! 7 Tips for Creating a Competency-Based Training ProgramTeach Me How! 7 Tips for Creating a Competency-Based Training Program
Teach Me How! 7 Tips for Creating a Competency-Based Training Program
BizLibrary
 
Forward Learning Workbook.pdffhfxfvhxx n
Forward Learning Workbook.pdffhfxfvhxx nForward Learning Workbook.pdffhfxfvhxx n
Forward Learning Workbook.pdffhfxfvhxx n
abdoomer11223
 
Edp Presentation
Edp PresentationEdp Presentation
Edp Presentation
Sanjay Arya
 
Ourcome1 project team management
Ourcome1  project team managementOurcome1  project team management
Ourcome1 project team management
Nader Jarmooz
 
Preparing for the workplace competencies
Preparing for the workplace   competenciesPreparing for the workplace   competencies
Preparing for the workplace competencies
smkhouang
 
Instructions do a professional power point presentation foll
Instructions do a professional power point presentation follInstructions do a professional power point presentation foll
Instructions do a professional power point presentation foll
ssuser337fce
 
7 Steps to Create a Competency-Based Training Program
7 Steps to Create a Competency-Based Training Program7 Steps to Create a Competency-Based Training Program
7 Steps to Create a Competency-Based Training Program
BizLibrary
 
Agile transformation: First Steps
Agile transformation: First StepsAgile transformation: First Steps
Agile transformation: First Steps
Thang Ba Nguyen, MSc, PMP, PSM
 
Links L.A.L.P profile
Links L.A.L.P profileLinks L.A.L.P profile
Links L.A.L.P profile
NihadAlhasani
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
Thanh Nguyen
 
PEC'S.pdf
PEC'S.pdfPEC'S.pdf
PEC'S.pdf
SemajojIddag
 
Personal entrepreneurial competencies (pecs)
Personal entrepreneurial competencies (pecs)Personal entrepreneurial competencies (pecs)
Personal entrepreneurial competencies (pecs)
EILLEN IVY PORTUGUEZ
 
NavCon-Flyer
NavCon-FlyerNavCon-Flyer
NavCon-Flyer
Terry Lipovski
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
Nauman Safdar
 
Skills development for peace and conflict management
Skills development for peace and conflict managementSkills development for peace and conflict management
Skills development for peace and conflict management
leadershipmgtservice
 
Presentation Slides.pptx
Presentation Slides.pptxPresentation Slides.pptx
Presentation Slides.pptx
RameshAdhikari45
 
If You Build It, Will They Come? - How to Increase Learning Adoption
If You Build It, Will They Come? - How to Increase Learning AdoptionIf You Build It, Will They Come? - How to Increase Learning Adoption
If You Build It, Will They Come? - How to Increase Learning Adoption
B.J. Schone
 
How To Design And Run A Training Program
How To Design And Run A Training ProgramHow To Design And Run A Training Program
How To Design And Run A Training Program
Garth Gilmour
 
Achieving Success in an Interdisciplinary Team
Achieving Success in an Interdisciplinary TeamAchieving Success in an Interdisciplinary Team
Achieving Success in an Interdisciplinary Team
Leah Henrickson
 

Similar to Sunlight & Air: 10 Lessons for Growing Junior Developers (20)

Exploring employee feedback comprehensively
Exploring employee feedback comprehensivelyExploring employee feedback comprehensively
Exploring employee feedback comprehensively
 
Teach Me How! 7 Tips for Creating a Competency-Based Training Program
Teach Me How! 7 Tips for Creating a Competency-Based Training ProgramTeach Me How! 7 Tips for Creating a Competency-Based Training Program
Teach Me How! 7 Tips for Creating a Competency-Based Training Program
 
Forward Learning Workbook.pdffhfxfvhxx n
Forward Learning Workbook.pdffhfxfvhxx nForward Learning Workbook.pdffhfxfvhxx n
Forward Learning Workbook.pdffhfxfvhxx n
 
Edp Presentation
Edp PresentationEdp Presentation
Edp Presentation
 
Ourcome1 project team management
Ourcome1  project team managementOurcome1  project team management
Ourcome1 project team management
 
Preparing for the workplace competencies
Preparing for the workplace   competenciesPreparing for the workplace   competencies
Preparing for the workplace competencies
 
Instructions do a professional power point presentation foll
Instructions do a professional power point presentation follInstructions do a professional power point presentation foll
Instructions do a professional power point presentation foll
 
7 Steps to Create a Competency-Based Training Program
7 Steps to Create a Competency-Based Training Program7 Steps to Create a Competency-Based Training Program
7 Steps to Create a Competency-Based Training Program
 
Agile transformation: First Steps
Agile transformation: First StepsAgile transformation: First Steps
Agile transformation: First Steps
 
Links L.A.L.P profile
Links L.A.L.P profileLinks L.A.L.P profile
Links L.A.L.P profile
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
 
PEC'S.pdf
PEC'S.pdfPEC'S.pdf
PEC'S.pdf
 
Personal entrepreneurial competencies (pecs)
Personal entrepreneurial competencies (pecs)Personal entrepreneurial competencies (pecs)
Personal entrepreneurial competencies (pecs)
 
NavCon-Flyer
NavCon-FlyerNavCon-Flyer
NavCon-Flyer
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
 
Skills development for peace and conflict management
Skills development for peace and conflict managementSkills development for peace and conflict management
Skills development for peace and conflict management
 
Presentation Slides.pptx
Presentation Slides.pptxPresentation Slides.pptx
Presentation Slides.pptx
 
If You Build It, Will They Come? - How to Increase Learning Adoption
If You Build It, Will They Come? - How to Increase Learning AdoptionIf You Build It, Will They Come? - How to Increase Learning Adoption
If You Build It, Will They Come? - How to Increase Learning Adoption
 
How To Design And Run A Training Program
How To Design And Run A Training ProgramHow To Design And Run A Training Program
How To Design And Run A Training Program
 
Achieving Success in an Interdisciplinary Team
Achieving Success in an Interdisciplinary TeamAchieving Success in an Interdisciplinary Team
Achieving Success in an Interdisciplinary Team
 

Recently uploaded

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
Wouter Lemaire
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
FODUU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 

Recently uploaded (20)

Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
UI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentationUI5 Controls simplified - UI5con2024 presentation
UI5 Controls simplified - UI5con2024 presentation
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Things to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUUThings to Consider When Choosing a Website Developer for your Website | FODUU
Things to Consider When Choosing a Website Developer for your Website | FODUU
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 

Sunlight & Air: 10 Lessons for Growing Junior Developers

  • 1. SUNLIGHT & AIR 10 LESSONS FOR GROWING JUNIOR DEVELOPERS
  • 3. WHO AM I? Hi! I’m Erika. I’m a software engineer. I work at Detroit Labs in Detroit, Michigan. I’m currently the Director of Apprenticeship & Training programs. In 2014, our company decided to try an experiment: we created a 3-month apprenticeship program where people with no prior software experience were paid to learn, and offered full-time employment to successful graduates.
  • 4. WHO AM I? Since 2014, we’ve trained 33 developers through our iOS, Android, and JavaScript apprenticeship programs. We’ve trained 12 additional developers through partnership programs. In the past 2 years, I have worked individually with 45 junior developers, including classroom instruction, technical coaching, soft skills training, mentoring, and providing ongoing support as they integrate into development teams.
  • 6. WHAT IS THIS? In this talk, we’ll cover aspects of effectively growing junior developers, including: ‣ Choosing the right fit for your team ‣ Getting off to a good start ‣ Setting & managing expectations ‣ Providing effective feedback ‣ Encouraging ongoing growth ‣ Conflict resolution
  • 7. LESSON #1: CHOOSE WELL ‣ Not everyone can or will become 1.) a successful developer or 2.) an effective team member ‣ A junior developer’s past experience (if they have any) may not tell you much, so look for potential ‣ Talent is great, but it’s not the most important piece or even necessarily a requirement ‣ First and foremost, good developers are natural problem- solvers: they are curious, thoughtful, and persistent
  • 8. LESSON #1: CHOOSE WELL ‣ “Teachability” is key: look for people who aren’t afraid to ask questions, and are willing to engage in the process of finding an answer ‣ When evaluating junior developers, as much emphasis should be placed on soft skills as on technical ability ‣ The ability to receive and effectively incorporate feedback is essential ‣ Communication, collaboration, conflict resolution
  • 9. LESSON #2: FIND THE RIGHT FIT ‣ The team a junior developer will be joining should be as involved as possible in the hiring process ‣ Team buy-in is absolutely essential ‣ Adding a new person to a team creates a constellation of new relationships ‣ The “right fit” will bring new strengths to the team while challenging them in areas of struggle: better feedback, communication, and knowledge-sharing are just a few possible improvements
  • 10. LESSON #3: SET EXPECTATIONS ‣ Set clear, fair, realistic expectations for everyone before a junior developer joins the team ‣ If senior team members will be expected to dedicate time to pairing, coaching, and mentoring the new addition, discuss this in advance to determine interest and ability ‣ It may be necessary to adjust a senior developer’s workload if he/she is expected to do significant coaching in addition to his/her own work ‣ Seek input from the team in setting expectations and be sure to create a feedback loop for adjustments
  • 11. LESSON #3: SET EXPECTATIONS ‣ Set expectations for junior developers in terms of progress and performance ‣ Junior developers should have specific, measurable goals to meet on a regular basis (weekly, monthly, etc.) ‣ Junior developers should have a designated person(s) to ask for help with technical and interpersonal issues ‣ Develop a clear plan of growth: Where are a junior developer’s skills expected to be in 3 months? 6 months? In a year? What specific areas need improvement?
  • 12. LESSON #4: PAIR UP ‣ Pair programming from the start is one of the quickest, most effective ways to ramp up a junior developer who is new to the team, new to a language/platform, new to development, or all of the above ‣ Pair junior developers with more experienced developers (they don’t necessarily have to be senior!) who are good communicators and have an interest in mentoring ‣ Set expectations for pairing, as junior/senior pairs can often turn into “shadowing”
  • 13. LESSON #4: PAIR UP ‣ Junior developers should be actively driving and navigating during pairing sessions ‣ Pairing partners should encourage questions and provide direction, but not always give answers: as the junior developer gains skills and confidence, he/she should be increasingly responsible for figuring out answers on his/ her own ‣ Teach junior developers to seek direction instead of answers: “I’m struggling with [X] problem. I’ve tried [Y] options without success. My current hypothesis is [Z]. What should my next step be? Why?”
  • 14. LESSON #5: BALANCE STRUCTURE AND FREEDOM ‣ Junior developers need structure to thrive, especially at first ‣ Structure includes clear expectations and goals, assigned tasks, accountability, supervision, and regular feedback ‣ Providing structure creates a framework for the future, when the junior developer will manage his/her work and learning more independently, and will become more skilled at self-assessment
  • 15. LESSON #5: BALANCE STRUCTURE AND FREEDOM ‣ Freedom interspersed with structure can accelerate learning and increase motivation and enthusiasm ‣ Giving a junior developer assigned time to work on a personal project can significantly build his/her skills and confidence ‣ Learning projects should have specific requirements in terms of difficulty and complexity, and regular updates and demos should be provided
  • 16. LESSON #6: POSITIVE FEEDBACK ‣ Feedback (of all kinds) is one of the most important pieces of growing junior developers ‣ Positive feedback tends to get lost in the shuffle, especially when the focus is on growth and improvement ‣ Positive feedback builds confidence, improves collaboration and team relationships, and increases motivation ‣ Positive feedback should be specific, timely, and sincere
  • 17. LESSON #7: CONSTRUCTIVE FEEDBACK ‣ The term “constructive feedback” helps to reduce the stressful connotations of the term “negative feedback” ‣ Constructive feedback can be stressful and anxiety- provoking for anyone who struggles with receiving feedback, but it is almost always difficult for junior developers, who tend to already have a lot of anxiety about their performance ‣ Avoid giving major constructive feedback “on the spot”
  • 18. LESSON #7: CONSTRUCTIVE FEEDBACK ‣ Significant constructive feedback should be given in a structured setting, such as a 1:1 meeting ‣ It may be helpful to provide constructive feedback in advance of an in-person meeting (e.g., through email) to give the recipient time to sort through his/her initial reaction, which may be emotional ‣ Give constructive feedback on a regular, frequent basis in order to lessen anxiety and increase the likelihood that feedback will be accepted non-defensively
  • 19. LESSON #8: LISTEN & SUPPORT ‣ The junior developer should have regular 1:1 meetings with someone who can provide support and confidential listening, as well as help addressing any issues that arise ‣ Junior developers are often hesitant to raise issues with the team, and regular meetings with a supportive person decrease the likelihood that problems will go undetected ‣ Support is extremely important to success: adjusting to a new job and a team (and in some cases, a new technology or even a new career) can be stressful, emotional, and sometimes overwhelming
  • 20. LESSON #9: ADDRESS ISSUES ‣ Tensions and challenges are inevitable ‣ Create a framework for later problem-solving by acknowledging up front that adding a junior member to the team may bring up challenges on all sides ‣ Ignoring problems leaves senior developers feeling frustrated, resentful, and/or overwhelmed ‣ Failure to address obvious team tensions leaves junior developers feeling unwanted, anxious, and/or hopeless ‣ Issues that go ignored can become toxic to the team
  • 21. LESSON #10: ENJOY THE RIDE ‣ The right junior developer can bring a lot of enthusiasm, energy, learning, and commitment to the team ‣ Coaching & mentoring a junior developer can be extremely rewarding for more seasoned team members ‣ The process of growing a junior developer creates many opportunities for reflection, feedback, improvement, and growth as a team ‣ Junior developers who receive intentional mentorship, coaching, and support tend to have strong loyalty to the team, their teammates, and the company