I left my job at TIM Group at the end of March, after working there for a bit less than four years. I’m calling it TIM Group University, as my four years there taught me more than I can easily enumerate. Over the years I worked with a huge number of smart people, and felt like was always learning. I gave a valediction message just before I left, but I never did get to write about all the different things that I learned there. It’s a long list, and woefully incomplete, but here it goes:
- No blame – trust and safety win over everything
- Bring the outside in for fun and profit
- How to run a root cause analysis
- The five whys
- Growing object oriented software, guided by tests
- Daily stand up, sometimes twice daily
- Pretty much every XP practice out there. Except metaphor. Scrawlings tried to show me once, but it never did catch.
- How to really do test driven development (TDD like you mean it)
- Behaviour driven development
- Narrative for acceptance tests
- Pairing programming – all the time
- Pair swapping – as often as possible (twice a day in many cases)
- Sharing knowledge with lightning talks
- How to run effective retrospectives
- The importance of slack time
- The importance of deliberate practice, dojos, katas and all the other things we do to keep our tools sharp
- Be happy
- The 15 minute rule (if you’re stuck on a problem more than 15 minutes, stop and ask for help)
- The 900 second rule (check in at least every 900 seconds)
- Good computer equipment makes things so much better
- Remote pairing, and the various technologies required to make it successful
- Continuous delivery, infrastructure as code, and all the benefits they bring
- Release often
- A useful lean product management metaphor: Commando, Infantry and Police
- The Ground Rules for Effective Teams
- Scala is hard
- Working with a designer leads to incredible designs (a.k.a. don’t let the developers design the UI)
- Trust your tests. I mean, really trust your tests.
- Borough market is a good place to go for lunch
My new job involves taking pretty much everything I’ve learned and applying it to a new context. A real challenge!
Reading over the list, I feel I haven’t really given it justice. What have I missed?
Update:
I missed a heap, as Samir pointed out. Here’s Samir’s list from when he left TIM Group: http://monospacedmonologues.com/post/34706515722/what-i-learnt-at-youdevise
Update the Second:
Tom Anderson posted his own take as well: What i learned my last job