What did you learn today?

This is what I’ve asked myself dur­ing one of my run­ning train­ings. I don’t know about the rest of you, but for me, this mod­ern life has become increas­ing­ly com­pli­cat­ed, busy and chaot­ic. I find in my long runs a place where I can tru­ly take a time­out from the dai­ly grind and look with­in, address chal­leng­ing per­son­al ques­tions and reflect on what is hap­pen­ing. Run­ning start­ed to be more about my men­tal state than my phys­i­cal one, it helps me clear my head.

What did you learn today?

So real­ly, what did you learn today? This ques­tion seems quite sim­ple and inof­fen­sive, yet in real­i­ty it is not that easy to respond. I find it quite chal­leng­ing to include in the answer also the bits and pieces of infor­ma­tion that we assim­i­late trough the day but don’t label them nec­es­sar­i­ly as learn­ing. It’s the knowl­edge, infor­ma­tion and skills that we don’t always recog­nise as con­scious learn­ing but every time these are need­ed they are already avail­able. Learn­ing is in every­thing we do, it is every­where, it can­not be escaped, it sur­rounds us.

Why did you learn today?

But before answer­ing the ques­tion about today’s learn­ings, let’s reflect also on anoth­er one: Why did you learn today? What were the moti­va­tors to learn? Was it because you had to? Were you told to? Was it use­ful? Would it make your job eas­i­er? Was it a con­scious choice?

Even if it’s con­scious or uncon­scious, learn­ing is also about the pas­sion for what you are doing. In organ­i­sa­tions, change can­not be done effec­tive­ly if the peo­ple involved are not moti­vat­ed or don’t real­ly care about their jobs. And it will be nev­er pos­si­ble to change an organ­i­sa­tion by forc­ing peo­ple to adopt new process­es or dif­fer­ent prac­tices. Instead, we should cre­ate a cul­ture of learn­ing, where peo­ple can find their own moti­va­tion to do things better.

I was lucky to grow in an envi­ron­ment where the senior peo­ple sur­round­ing me were always try­ing to find ways to get bet­ter at what they were doing, get­ting excit­ed every time they found a bet­ter way to do things or learned some­thing new. They real­ly enjoyed their professions.

With high­ly moti­vat­ed peo­ple who have fun doing what they do and who are con­stant­ly look­ing out­side their box, com­pa­nies could ben­e­fit immense­ly from all the inno­va­tions and effi­cien­cies they would bring. Cre­at­ing a cul­ture of learn­ing is one of the most effi­cient ways of inject­ing pas­sion in a organ­i­sa­tion. This cul­ture though should not be imposed or become oblig­a­tion, but rather be cre­at­ed by all the peo­ple in the company.

How did you learn today?

When it comes to soft­ware devel­op­ers, there are var­i­ous ways on how they can cre­ate a cul­ture of learn­ing in their organisation.

Start a book club

Today read­ing is a huge part of our learn­ing cul­ture. A book club is a sim­ple way to invest time in improv­ing team’s skills. Start by pick­ing a book and tell your col­leagues you will start read­ing it. Tell them what the book is about and check if any­one is inter­est­ed in hav­ing a dis­cus­sion about it. If there is at least one col­league inter­est­ed, then you are ready to start. Agree on when to meet and do it.

Have a Brown Bag Session

Ask your team if, at reg­u­lar inter­vals of time, they would like to have lunch togeth­er while talk­ing about tech­ni­cal stuff. No pre­de­fined agen­da is need­ed, you decide what you want to talk about when you get there. The meet­ing should not be nec­es­sar­i­ly about improve­ments to the projects you are work­ing on. Make this meet­ing about learn­ing, about dif­fer­ent tech­nolo­gies, approach­es, tech­niques, books or what­ev­er else peo­ple want to share and discuss.

Conduct Group Code Reviews

Group code reviews are anoth­er very inter­est­ing way to cre­ate a cul­ture of learn­ing. This kind of code reviews are about debates, about bring­ing the whole team togeth­er; every­one feels respon­si­ble for the deci­sions of what con­sti­tutes qual­i­ty for them. When run­ning this kind of ses­sions, con­sid­er the following:

  • com­ments should nev­er be personal
  • nev­er look at the com­mit his­to­ry dur­ing a group code review. Focus on chang­ing the future.
  • com­ments should be objec­tive and con­struc­tive. The focus should be on how to make the code better
  • If you are the facil­i­ta­tor: don’t expect to make a lot of progress. If devel­op­ers want to spend a lot of time dis­cussing a sin­gle issue, let them do it.
Encourage Pet-Project time

I have to admit, when screen­ing dif­fer­ent CV’s, I like to see can­di­dates involved in pet projects. Pas­sion­ate devel­op­ers love to have a play­ground where they can try many ideas, tech­nolo­gies and tech­niques. It’s like being the Prod­uct Own­er of your own prod­uct: you decide on what fea­tures to work on next, how you want to have then and are not con­cerned about deadlines.

Start Internal Communities of Practice (CoP)

You need two peo­ple to start a com­mu­ni­ty, inter­nal or exter­nal. That’s exact­ly how LSCC, the largest Soft­ware Crafts­man­ship com­mu­ni­ty in the world, start­ed. Inter­nal com­mu­ni­ties also start like that. You just need two peo­ple meet­ing reg­u­lar­ly to attract more peo­ple of time. Make sure though that peo­ple are aware that you are meet­ing and how much you are hav­ing. Share what you are learn­ing and more and more devel­op­ers will be join­ing you.

Engage with External Technical Communities

Exter­nal tech­ni­cal com­mu­ni­ties pro­vide a great way to con­tribute, to get involved, to get exposed to oth­er pas­sion­at­ed and tal­ent­ed devel­op­ers. Addi­tion­al­ly it can pro­vide you with ideas of what to do in your inter­nal CoP.

Despite what oth­ers might think, cre­at­ing a cul­ture of learn­ing is cheap and easy. Hire pas­sion­at­ed devel­op­ers and pro­vide them with a good envi­ron­ment and sup­port, and they will fig­ure out many dif­fer­ent ways in which they can learn, share and bring inno­va­tion and qual­i­ty to the company.


The Soft­ware Crafts­man: Pro­fes­sion­al­ism, Prag­ma­tism, Pride  by San­dro Mancuso

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.