Today I witnessed a C++ developer explaining the essence of Test-Driven Development (TDD) to a Haskell developer. And a bunch of other developers pitched in! It was over lunch. We don't talk about TDD everyday while eating. But when we do, we do it purposefully and we call it “Lunch & Learn”. Lunch & Learn is an inhouse event I introduced 6 months ago to our company.
I learn a lot from visiting local meetups, such as Softwerkskammer. Clean Code is “a thing”: I was not the only one who was aware of SOLID, DRY, TDD, etc. But: Not everybody has the time to visit such events in their spare time. Especially since many of these meetups take place in the evening or during weekends. So my idea was simple: the people at work can eat lunch, and learn. During their lunch break. It's still spare time, but a lot easier to fit into a normal work schedule.
Lunch & Learn
We try to meet for an hour during lunch break once a week. Before each meeting we decide on a topic: Everything from classic Coding Katas with mob-programming, to discussing new technologies, or pain points in our projects. We normally have around 5 to 20 attendees and we organize food for everybody.
The company I work for employs hardware and software developers/architects. Imagine a dozen developers from different fields (enterprise OO, FP, C/C++, experts and novices), starting a TDD session. Each with different TDD and mob-programming experience. So why do I and a couple of colleagues of mine burden ourself with this extra unpaid work?
Here are just a few of the reasons I find this format so rewarding:
- Everybody can practice their communication skills in a familiar environment.
- People who normally do not engage with each other starting a conversation about something like “best practices”, but from very different points of view.
- Junior developers slowly getting the hang of topics like Clean Code.
- Seasoned developers pitching in with additional information (f. ex. pros and cons of certain techniques).
- In the long run, having a well trained team will make everybody's life easier. Ask yourself: Who do you want to work with in the future?
For me, one of those moments I witnessed last week: A C++ developer explaining the essence of TDD to an FP developer. And everybody pitched in! Another discussion was on it's way!
Give it a try!
Try it in your company!
Pro tip: Ask your boss to sponsor the food for the session! As soon as your boss sees that people are investing their spare time to become better at their job, he/she will probably notice that spending some money on pizza is a good long term investment.
Questions: Don't hesitate to contact me!
(Article rewritten on 2018-03-18 after valuable feedback from Tim).