https://docs.google.com/document/d/1i5xCgMIGLzsSmbKAq-ujtIQo0RKgkUMAkk0y_d8RTC4/edit

A Tech Lead Training Course Overview A training course for Tech Leads by Tech Leads. This course focuses on technical leadership skills for Tech Leads through discussion, theory and practical exercises opposed to general leadership skills for Tech Leads. We explore the unique combination of skills and experiences that distinguish a “Tech Lead” from a “Leader working in a technical environment.” Audience A combination between a developer about to lead their first development team, or a Tech Lead for an existing team. This course will be most useful for those with the opportunity to apply their learnings immediately, or to experiences they can relate to. Participants will learn: What the breadth of the Tech Lead role encompasses Why the Tech Lead role is necessary What makes the Tech Lead unique from other leadership roles What a Technical Vision is and how to shepherd a team towards a Technical Vision What the common paradoxes a Tech Lead must manage Why Cross Functional Requirements matter How to identify and manage Cross Functional Requirements How to manage path to production tasks and resources How to manage technical risks Why relationships matter and how a Tech Lead builds and maintains good relationships with technical and non-technical people Different influencing styles How to navigate conflict and find a way forward Prerequisites Participants will have had some experience working on a variety of teams, possibly tried facilitating several meetings and has had some experience with different parts of the software lifecycle (e.g. story writing, build and release infrastructure, development and test, release and/or iteration planning and production support) What people have said: “Information was very relevant and useful” - QCon Tutorial Attendee, San Francisco November 2015 “The course really helped me develop in my role as a Tech Lead” - Johannes Thoenes, EU4T June/July 2015 Attendee “ I found you and your course both engaging and inspiring, and I would recommend any potential - or current - tech lead to grab the opportunity to attend if it becomes available to them.” - Gary Crawford, February 2015 Glasgow Attendee “The day helped to make a few concepts clearer” - Johannes Thoenes, October 2014 Berlin Attendee “It was great to attend the session and some of the tips shared are very helpful and I use it during my regular work” - Praveena Fernandes, October 2014 London Attendee “The training together gave me a better understanding of the role.” - Luca Minudel, October 2014 London Attendee “The positive for me was meeting and connecting with people [in a similar role].” - Jim Gumbley, April 2014 London Attendee “Today was as awesome as expected!” - Caroline Cintra, Head of Learning and Development, Brazil (2013) How it will be delivered: The course runs over two full days using a combination of training techniques that includes presentation, discussion, video, interactive exercises and storytelling. It is assumed all participants will be co-located to maximise the discussion, storytelling and relationship building opportunities and learning experience. Alternative formats are also possible in consultation including a shorter/less comprehensive 1-day session, or a half-day (over actual days) format.

Organisation requirements: The course requires a training room complete with: Moveable tables/chairs (ideally Cabaret/Banquet/Round-table style-seating to facilitate group discussion and group work) - See http://www.stagingconnections.com/events/choosing-the-best-seating-style-for-your-audience Flip charts (with at least 30 pages - 3M sticky flipcharts preferred) Flip chart markers (various colours - at least 2/3 new) Space to hang flip charts around the wall + Blutack Sticky notes - Yellow, Green and Pink (minimum of 2 fresh packs each) 2 boxes of Black & Blue Sharpies (24 pens) If possible, 6 x different sets of markers (for the Tech Vision session) 30 pieces of A4 paper (for the Tech Vision session) Projector + Screen or Large TV/Monitor Logistics Size - Ideally no more than 12 (just because there is group work) Background - A mix of experiences is best to share lots of different stories (inexperienced + semi-experienced). Even those who have been a Tech Lead for a long time has been very useful for them because they rarely get to think and reflect on this Project - People from the same/different project/company doesn’t make a really big difference between to the course - both brings different discussions but a mix is generally pretty good.a

Course History October 2016, London, United Kingdom September 2016, Brisbane, Melbourne, Australia May 2016 - London, United Kingdom May 2016 - Chicago, USA November 2015 - San Francisco, USA June 2015 - London, United Kingdom May 2015 - Johannesburg, South Africa February 2015 - Glasgow, United Kingdom October 2014 - Berlin, Germany October 2014 - London, United Kingdom April 2014 - London, United Kingdom November 2013 - Porto Alegre, Brazil November 2013 - Recife, Brazil

Hopes

Hopes.JPG Being prepared Tech Lead “the safe way” (before yout have your own style) Understanding the Tech Lead role Understand a bit more about what ‘Tech Lead means in TW Interesting insights What is a Tech Vision How to find and establish a common Tech Vision? Leading by Example in Tech vs Micro-management Ideas for interesting books to read Inishgt in the different styles of a Tech Lead How to say ‘No’ or delegate properly How to get feedback and from who(m)? How to achieve High Motivation for Low Tech When to fill out missing roles Building a support structure Writing code vs/and management ‘Strong’ tech lead vs open for feedback and being transparent Tech-Leads must know (almost) everything? How to make decisions if you have no idea?

concerns Tech Lead == Architect? I might have a wrong idea of a what a Tech Lead does I might drink too much Mate (tea) I might be too tired! Work-life balance Losing touch technically + socially When not to fill out missing roles

Responsibilities

Look out for risks, Try to identify techncial risks, Thinking about technial risk, Understand our technical problems and challenges Moderate architecture decisions Understand the blockers and risks to the Dev Team Figuring out, if there are only integration points with other teams Identify (your own and team’s) knowledge gaps and close them, try to learn the Tech Stack ASAP Conflict resolution On-site setup OK? (pairing station, etc) Choosing the right tech, moderate Tech Stack decisions Getting to know the team (skill, experience), get to know the dev team and understand their way of working, understand technical background of team members, being open for people’s hopes and concerns, individual skills and strengths Make sure everyone is able to give their best, get to know the team, empower the team Answer questions, be approachable Make sure people are generally happy Teach and inspire ‘Team-decide’ achieve agreement on the most basic stuff (libraries, design, code conventions, IDE) Establish means of communicatino (wiki, mailing list, forum, commit comments), make sure the team knows what’s going on Estbalish feedback culture and exchange (code coffee talks, brown bags, code reviews) - helps to learn Establish it’s ok to fail culture, post mortems - helps to learn and improve Onboarding Be an advocate for the business (in front of developers) Do what you like to do (once in a while) Make sure the general direction is clear (make decisions or delegate), Ensure shared tech vision Make sure, I can still write code (delegation), writing code, if possible: pair with all devs, know what’s happenning in the codebase Expectation management Work closely with PM Working with BAs/PM on story priority, explain stuff to non-technical people, learnt o draw and explain properly, explain technology and architecture to the client, explain technolgoy and architecture to the sbuienss Influence prioritisation Be a representative inside TW and outside (talks, etc) through blog posts Be an advocate for developers (in front of the business), Represent dev perspective, Fight for dev concerns reporting (when are we done? Do we really have to pay off tech debt?), Perhaps CST stuff Shaman

After the brainstorm (and a break), I then proceeded to present a few different Tech Lead models. Specifically: Dan Abel’s The Well-Rounded Technical Lead (A Model for Technical Leadership) | Engineering and Careering The contents of the book Talking with Tech Leads by Patrick Kua [Leanpub PDF/iPad/Kindle]; and the contents of The Geek’s Guide to Leading Teams Establishing a Tech Vision

We discussed the idea of a Tech Vision and using diagramming as a way of communicating an architectural Tech Vision. We briefly discussed Simon Brown’s 4C model http://www.codingthearchitecture.com/2014/08/24/c4_model_poster.html to introduce how to draw good diagrams. Diagramming.JPGDiagramming2.JPG

We found that there were a few things that helped/hindered effective communication with diagrams. HelpedHindered.JPG

Helped

Single level of abstraction Explain why Business context 1st Talk about constraints (CFRs) Start fresh End architecture vision Overall goal Practice Ask questions/invite questions Conrete examples Personalised The ‘right’ level of detail Not putting everything on one digram Named diagram Start with real/end users (use case walkthrough) Multiple user journeys Tech Stack/Libraries/Tools (later) Patterns/Layers New vs Old world architecture Colour for different things OVerlaying diagrams (different views) Keywords Hindered Too abstract Drawing small boxes Too much jargon

Your Support Network

For lonely roles like the Tech Lead, PM, BA, it’s important to realise that you are not alone.

Support.JPG The support network you can rely on is:

The team Sponsor Former Tech Leads Other people I know as Tech Leads PM/CP People team/Staffing TEam/RM Partner my.tw/SW Dev Tech Council Tech Lead Pairs Tech Lead from close projects Personal coaches Retrospective

Keep Doing RetroKeepDoing.JPG

Most of the content from us Open format Discussion involvement/rather than “top down” Pointing to official resources for further learning, list of resources Providing great resources as sharing points for further reading into the topic Invite all stages/grades (grad, consultant, senior). Also other (Tech) Leads The whole thing Paradox discussion Mixed group(from different teams) Breaks Very clear agenda Practical Exercises Great atmosphere/great explanations

Do Differently

RetroDoDifferently.JPG Less talking from Pat - more discussions Give time to prepare architecture diagrams

Try Next Time RetroTryNextTime.JPG How does the journey continue now? What to do with the knowledge we now have? Collect expectations before More concrete examples on some models (e.g. situational leadership model) Certified Thoughtworks Tech Lead ;-) Some kind of roleplay More pair exercises More real life examples People’s personal goals Maybe one or two ‘difficult’ subjects (like dev not performing/conflicts, etc) : Alternatively offer a fllow up workshop Add sessionf or subjects that were brought up by the group Resources

Secrets of Consulting (Consulting tips) - http://www.amazon.com/The-Secrets-Consulting-Getting-Successfully/dp/0932633013 Six Thinking Hats (Thinking/Facilitation Book) - http://en.wikipedia.org/wiki/Six_Thinking_Hats Pat’s Blog - http://www.thekua.com/atwork Dan’s Blog - http://engineeringandcareering.co.uk Onboarding People - http://www.infoq.com/articles/pat-kua-onboarding-new CFRs Deck - https://my.thoughtworks.com/people/dabel/blog/2014/09/16/evolving-cfrs-deck Behind Closed Doors (Book about management tips) - https://pragprog.com/book/rdbcd/behind-closed-doors Belbin’s Team Roles (Team model) - http://www.mindtools.com/pages/article/newLDR_83.htm Talking with Tech Leads - http://leanpub.com/talking-with-tech-leads/ Geek’s Guide to Leading Teams - http://www.slideshare.net/thekua/the-geeks-guide-to-leading-teams Strengthsfinder 2.0 (Model about people’s differences) - http://www.strengthsfinder.com Software Architecture for Developers - https://leanpub.com/software-architecture-for-developers The Difference (Book about strength of diversity) - http://vserver1.cscs.lsa.umich.edu/~spage/thedifference.html The Unspoken Truth about managing Geeks - http://www.computerworld.com/article/2527153/it-management/opinion–the-unspoken-truth-about-managing-geeks.html Flow (Book about achieving flow) - http://www.amazon.com/Flow-The-Psychology-Optimal-Experience/dp/0061339202 The Wisdom of Crowds (http://en.wikipedia.org/wiki/The_Wisdom_of_Crowds) Adaptive Leadership - http://assets.thoughtworks.com/articles/adaptive-leadership-accelerating-enterprise-agility-jim-highsmith-thoughtworks.pdf Waltzing with Bears (Book about Risk management) - http://www.amazon.com/Waltzing-With-Bears-Managing-Software/dp/0932633609 Getting to Yes (Book about Interests vs Positions based negotiation) - http://en.wikipedia.org/wiki/Getting_to_Yes Crucial Conversations/Confrontations (book about tough conversations with people) - https://www.vitalsmarts.com/crucialconversations/ and http://www.amazon.com/Crucial-Accountability-Resolving-Expectations-Commitments/dp/0071829318 Vroom Yetto Jago Decision Model - http://www.mindtools.com/pages/article/newTED_91.htm Belbin Team Roles - http://www.belbin.com/rte.asp?id=8

https://thoughtworks.jiveon.com/people/pkua/blog/2014/10/21/one-day-tech-lead-course-in-germany