This is what I’ve asked myself during one of my running trainings. I don’t know about the rest of you, but for me, this modern life has become increasingly complicated, busy and chaotic. I find in my long runs a place where I can truly take a timeout from the daily grind and look within, address challenging personal questions and reflect on what is happening. Running started to be more about my mental state than my physical one, it helps me clear my head.
What did you learn today?
So really, what did you learn today? This question seems quite simple and inoffensive, yet in reality it is not that easy to respond. I find it quite challenging to include in the answer also the bits and pieces of information that we assimilate trough the day but don’t label them necessarily as learning. It’s the knowledge, information and skills that we don’t always recognise as conscious learning but every time these are needed they are already available. Learning is in everything we do, it is everywhere, it cannot be escaped, it surrounds us.
Why did you learn today?
But before answering the question about today’s learnings, let’s reflect also on another one: Why did you learn today? What were the motivators to learn? Was it because you had to? Were you told to? Was it useful? Would it make your job easier? Was it a conscious choice?
Even if it’s conscious or unconscious, learning is also about the passion for what you are doing. In organisations, change cannot be done effectively if the people involved are not motivated or don’t really care about their jobs. And it will be never possible to change an organisation by forcing people to adopt new processes or different practices. Instead, we should create a culture of learning, where people can find their own motivation to do things better.
I was lucky to grow in an environment where the senior people surrounding me were always trying to find ways to get better at what they were doing, getting excited every time they found a better way to do things or learned something new. They really enjoyed their professions.
With highly motivated people who have fun doing what they do and who are constantly looking outside their box, companies could benefit immensely from all the innovations and efficiencies they would bring. Creating a culture of learning is one of the most efficient ways of injecting passion in a organisation. This culture though should not be imposed or become obligation, but rather be created by all the people in the company.
How did you learn today?
When it comes to software developers, there are various ways on how they can create a culture of learning in their organisation.
Start a book club
Today reading is a huge part of our learning culture. A book club is a simple way to invest time in improving team’s skills. Start by picking a book and tell your colleagues you will start reading it. Tell them what the book is about and check if anyone is interested in having a discussion about it. If there is at least one colleague interested, then you are ready to start. Agree on when to meet and do it.
Have a Brown Bag Session
Ask your team if, at regular intervals of time, they would like to have lunch together while talking about technical stuff. No predefined agenda is needed, you decide what you want to talk about when you get there. The meeting should not be necessarily about improvements to the projects you are working on. Make this meeting about learning, about different technologies, approaches, techniques, books or whatever else people want to share and discuss.
Conduct Group Code Reviews
Group code reviews are another very interesting way to create a culture of learning. This kind of code reviews are about debates, about bringing the whole team together; everyone feels responsible for the decisions of what constitutes quality for them. When running this kind of sessions, consider the following:
- comments should never be personal
- never look at the commit history during a group code review. Focus on changing the future.
- comments should be objective and constructive. The focus should be on how to make the code better
- If you are the facilitator: don’t expect to make a lot of progress. If developers want to spend a lot of time discussing a single issue, let them do it.
Encourage Pet-Project time
I have to admit, when screening different CV’s, I like to see candidates involved in pet projects. Passionate developers love to have a playground where they can try many ideas, technologies and techniques. It’s like being the Product Owner of your own product: you decide on what features to work on next, how you want to have then and are not concerned about deadlines.
Start Internal Communities of Practice (CoP)
You need two people to start a community, internal or external. That’s exactly how LSCC, the largest Software Craftsmanship community in the world, started. Internal communities also start like that. You just need two people meeting regularly to attract more people of time. Make sure though that people are aware that you are meeting and how much you are having. Share what you are learning and more and more developers will be joining you.
Engage with External Technical Communities
External technical communities provide a great way to contribute, to get involved, to get exposed to other passionated and talented developers. Additionally it can provide you with ideas of what to do in your internal CoP.
Despite what others might think, creating a culture of learning is cheap and easy. Hire passionated developers and provide them with a good environment and support, and they will figure out many different ways in which they can learn, share and bring innovation and quality to the company.
The Software Craftsman: Professionalism, Pragmatism, Pride by Sandro Mancuso