· patched
An Agile study path for lead developers
This is a learning path every developer looking to become “tech lead” can follow.
This is a learning path every developer looking to become “tech lead” can follow.
This path reflects agile culture and values, which have their roots in the agile manifesto, as well as in those of XP, and in the software craftsmanship manifesto.
This study path is not meant to teach specific languages and tech stacks: rather it reflects how to builds all sort of software according to reusable agile, clean code and design principles.
Yes, it is a lot of content. No, you don’t have to have read all of it before you start your career growth to the next level. However, you should at the very least be comfortable explaining each and every topic in this list. If you are not, then that should be considered a knowledge gap.
This study path is adapted from a battle tested one https://github.com/xpeppers/starway-to-orione and is composed of basic reference literature, articles and videos for each topic. After following this, you should be able to hold your own and provide meaningful references in any conversation with your peers.
It is meant to be consumed in sequence.
1) Teams
1.1) Leading teams
-
Read these parts of the the Coaching Agile Teams book
- Part 1: It starts with you
- Will I be a good coach?
- Expect high performance
- Master yourself
- Let your style change
- Part 2: Helping the team get more for themselves
- Coach as a coach-mentor
- Coach as facilitator
- Coach as teacher
- Coach as problem solver
- Coach as conflict navigator
- Coach as collaboration conductor
- Part 1: It starts with you
-
Learn about Host leadership and the six roles of a host leader
-
Read these chapters from the book Radical Candor
-
2 Get, Give and Encourage Guidance
-
3 Understand what motivates each person on your team
-
4 Drive results collaboratively
-
-
Do some introspection: browse the archetypes in the Clifton Strengths References (from the book) and reflect on your strengths and the strengths of your team mates
-
Learn about different styles of delegation
-
Learn about leadership time management using the Eisenhower Box
-
Read some first hand experiences from Pat Kua’s Talking with Tech Leads (optional)
1.2) Structuring teams
- Read these series of articles by Sriram Narayan on
- Read this article by Martin Fowler to learn the difference between Product and Projects
- Read the book Team topologies, or alternatively learn about the basic concepts on this section of the authors’ website
- Read this article about Conway’s Law
- Learn about Brook’s law
- Learn about the 2 pizza team rule
1.3) Influencing
- Watch the talk Being right is only half the battle
- Learn about the push and pull models
- Learn about different influencing styles and reflect on which one is yours, and which ones are appropriate depending on context
- Learn about conflict management strategies and reflect on when it is appropriate to use each one
2) Delivery
2.1) Inception
- Read the book The Lean Inception by Paulo Caroli, or alternatively read this collection of articles on the Martin Fowler blog
- Read this article about User story mapping
2.2) During iterations
- To streamline delivery according to Lean principles, read these chapters from Principles of Product Development flow by Donald Reinertsen
- 3. Managing queues
- 5. Reducing batch size
- Read these chapters from the book Accelerate:
- Measuring performance
- Measuring and Changing culture
- Technical practices
- Architecture
- Integrating InfoSec into the delivery lifecycle
- Management practices for software
- Product development
- Making work sustainable
- Employee satisfaction, identity and engagement
- Leaders and managers
- Learn the concept of cost of delay
- Learn about the cost of bugs
2.3) Metrics
- Learn about the most common Agile Team Metrics that you might come across
- Learn about the 4 Key metrics
3) Building production-ready applications
3.2) Building for production
-
Read these parts from Release It!: Design and Deploy Production-Ready Software
- Introduction
- Stability
- The exception that grounded an airline
- Introducing stability
- Stability antipatterns
- Stability patterns
- Capacity
- Trampled by your own customers
- Introducing capacity
- Capacity antipatterns
- Capacity patterns
- General design issues
- Networking
- Security
- Availability
- Administration
- Operations
- Phoenomenal cosmic powers, itty-bitty living space
- Transparency
- Adaptation
-
Read these parts from Google’s SRE Book
- Part II – Principles
- Chapter 3 – Embracing Risk
- Chapter 4 – Service Level Objectives
- Chapter 5 – Eliminating Toil
- Chapter 6 – Monitoring Distributed Systems
- Chapter 7 – The Evolution of Automation at Google
- Chapter 8 – Release Engineering
- Chapter 9 – Simplicity
- Part III – Practices
- Chapter 10 – Practical Alerting
- Chapter 11 – Being On-Call
- Chapter 12 – Effective Troubleshooting
- Chapter 13 – Emergency Response
- Chapter 14 – Managing Incidents
- Chapter 15 – Postmortem Culture: Learning from Failure
- Chapter 16 – Tracking Outages
- Chapter 17 – Testing for Reliability
- Chapter 18 – Software Engineering in SRE
- Chapter 19 – Load Balancing at the Frontend
- Chapter 20 – Load Balancing in the Datacenter
- Chapter 21 – Handling Overload
- Chapter 22 – Addressing Cascading Failures
- Chapter 23 – Managing Critical State: Distributed Consensus for Reliability
- Chapter 24 – Distributed Periodic Scheduling with Cron
- Chapter 25 – Data Processing Pipelines
- Chapter 26 – Data Integrity: What You Read Is What You Wrote
- Chapter 27 – Reliable Product Launches at Scale
- Part II – Principles
-
Make sure you are familiar with (or at least have heard of) all the patterns from the book Patterns of Enterprise Application Architecture, which you can also find in this catalog
3.2) CFRs
- Make sure you have an understanding of the most common Cross Functional Requirements, or the “-ilities”
- Read this article about Three ways to handle CFRs
7) Business strategy and organisational politics
- Description of roles in a C suite
- Make sure you can argue about build vs buy trade-offs
- Read this article about business strategy
- Learn about OKRs
- Read these chapters from Measure What Matters by John Doerr
- 1 Google, meet OKRs
- Resource 1: Google’s OKR Playbook
- Resource 2: A Typical OKR Cycle
- Read the book Radical Focus (optional)
- Read these chapters from Measure What Matters by John Doerr
7.1) Agile Transformation
- Read about the different change management models
- Read the mini-book Agile Transition
- Read the mini-book An Agile Adoption and Transformation Survival Guide
7.2) Enterprise-y stuff to be aware of
- Learn how to manage compliance and regulations in an Agile way with this article by Dave Farley
- Read about the types of resistors when adopting agile
- Read about Fake agile
- Be aware of SAFe by watching this 5 minute overview
- Learn why SAFe has been put repeatedly on hold in the Thoughtworks technology radar
- Read this article about why SAFe is an unholy incarnation of darkness
- Read this article about comparing teams
- Read this essay about the cost center trap
- Read this article about the unintended consequences of Goodhart’s law
- Read this article about one person bottlenecks
- Read The Phoenix Project book (optional)