Download - The Road To Technical Team Lead
The Road To Technical Team Lead
Ben Andersen-Waine
IMO - …
What is a Technical Team Lead?
A leader, responsible for a development team, who spends at least 30% of their time writing code with the team.
Talking With Tech Leads - Patrick Kua
Also Known As: Tech Lead Team Lead Dev Lead Chief Ninja Wizard (gah…)
Hypothesis
The Audience
What do I enjoy? • Coding • Solution Design • Testing • Mentoring • Speaking At Conferences • Documentation (no, really)
What do I not enjoy? • Admin • Meetings • Excel
Line Management
• Admin: • 1/1 • Yearly Appraisals • Holidays / Sickness • Hiring
• Reporting Up
Responsibilities Of A Line Manager
Traditional Org Chart
Traditional Org Chart
“Sounds Like You Just Want To Be A Dev”
What Do I Want? • To take a leading role in technical decision making • Become a technical specialist • To contribute to the development of co-workers
• Not to get bogged down in management
The Rest Of This Talk:
• Activities of a Tech Lead • The Skills You Need • How To Get There
Head Of Software Development
A Day In The Life
Activity % Day (7.5hrs)
Week(37.5hrs)
Coding 40% 3 15
Design 30% 2.25 11.25
Integration 15% 1.125 5.6
Misc 15% 1.125 5.6
Activities
Coding
Interruptions
Jason Fried: Why Work Doesn’t Happen At Work https://www.youtube.com/watch?v=5XD2kNopsUs
Coding - Interruptions
Pair Programminghttp://www.extremeprogramming.org/rules/pair.html
https://upload.wikimedia.org/wikipedia/commons/a/af/Pair_programming_1.jpg
Coding - Interruptions
Pair Programminghttp://www.extremeprogramming.org/rules/pair.html Visual Do Not DisturbThe Personal To Do List
Coding - Interruptions
Pair Programminghttp://www.extremeprogramming.org/rules/pair.html Visual Do Not DisturbThe Personal To Do List
http://66.media.tumblr.com/784ff88c5b5c0deeb50069808ec1f75e/tumblr_na5w8oljnX1qc0howo5_1280.png
Coding - Learning
Mentoringhttps://blog.engineyard.com/2013/php-mentoring-software-apprenticeship
Code Reviews
Collective ‘Mobbing’ https://www.youtube.com/watch?v=p_pvslS4gEI Establish The Culture
http://mobprogramming.org/wp-content/uploads/2012/11/MobPhoto_2012_11_14.jpg
Coding - Learning
Mentoringhttps://blog.engineyard.com/2013/php-mentoring-software-apprenticeship
Code Reviews
Collective ‘Mobbing’ https://www.youtube.com/watch?v=p_pvslS4gEI Establish The Culture
Design
Design
Leading White boarding Sessions
Design
Design
Leading White boarding Sessions Creating Expressive Documentation
A Picture Speaks A Thousand Words
Design
Leading White boarding Sessions Creating Expressive Documentation Establish The Culture
Integration
Integration
Broad understanding of product architecture High level view of all work streams Deep Knowledge of well know problem areas
Misc
Skills
People1 - 1 Active Listening Giving Feedback https://www.infoq.com/presentations/feedback-models-techniques 1 - mSpeaking Publicly
Written Communication
Harrie Verveer - Software Architecture In An Agile Age https://www.youtube.com/watch?v=LK4l8_fzFmk Narrative Documentation UML / Sequence Diagrams Swagger / API Blueprint Network Diagrams
How Do I Get There?
Get The Skills / Demonstrate Competence
“Act Up”Find A Mentor
What Kind of Organisation Am I In?
Traditional vs Flat Structure
Flat Structure
Value autonomy over hierarchy
Venerate contribution to the product over job title
Flat Structure - Spotify
https://ucvox.files.wordpress.com/2012/11/113617905-scaling-agile-spotify-11.pdf
“Freedom And Responsibility”
http://igormroz.com/documents/netflix_culture.pdf
“Why does your desk have wheels? Think of those wheels as a symbolic reminder that you should always be considering where you could move
yourself to be more valuable.”
http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdf
Traditional Hierarchy
https://en.wikipedia.org/wiki/Matrix_management
Traditional Hierarchy
https://en.wikipedia.org/wiki/Matrix_management
Having The Conversation
Know What You Want Express It Well
Final Thoughts
Developers
Decision Makers
Questions