Everyone has some kind of “plan” / idea to learn new things, yet most of us take far longer to accomplish it or don’t get the outcome they expected. It might be that it’s just not that important to you or that you are distracted by more urgent tasks – all the time! In a way, this is what I’ve experienced with further education inside my team. So there are a few things we did to improve the overall learning experience:
- Set SMART learning goals for each individual and discuss them in our Coder’s Talk The idea is that everyone commits themselves to a specific goal (see SMART goals below) and let’s the rest of the team know. By this, you can always get a reminder by a colleague, but they might also find a way to support you or be a mentor for a specific topic.
- If you’ve learned something new → present it in our Coder’s Talk or a Chapter Forum. This has several benefits. For starters, you harden the knowledge by teaching/presenting it to others. Your colleagues also benefit from learning from you. Additionally, you can practice your (mostly undervalued) presentation skills. So depending on what kind of thing you’ve learned, we will present it in our Coder’s Talk (internal team meeting) or Chapter Forum. If it is very team- or project-specific, it doesn’t make sense to discuss it with everyone. On the other hand, if it is relevant for every one of your discipline/chapter/craft/language (Backend, Frontend, PM, QA, you know what I mean), you should share your knowledge with everyone.
- Set SMART goals for each quarter and revise them monthly. We talk regularly about the goals, how we can support each other, or remind us that there are still things to accomplish.
- Create learning tickets and plan them inside your sprint. We absolutely believe that learning new things is part of your job to stay up-to-date. This takes time, so you might have less time during a sprint to solve your tickets. By creating tickets for your learning task, we make sure that everyone knows this, and no one is overloaded with tickets. “But I had others stuff to do” should not be an excuse not to learn. When you get to the point where you need the knowledge that you haven’t gained – it’s too late.
You might have already heard about this. In case you haven’t, what are SMART goals? SMART is an acronym for Specific, Measurable, Achievable, Relevant, Time-bound. If you want to find out more about the history, I can recommend you to check out Wikipedia (no, really!). But for our purpose, I will just show them applied in an example.
Say your “goal” is:
What’s wrong with that? After all, this is an excellent intention! So, learn about one new function and you’re done, right? Mission accomplished. Oh okay, so you really wanted to learn were Promises, arrow functions, and dive deep into Webpack? Then your goal might have been a bit too unspecific.
I want to learn Promises, arrow functions and Webpack to be prepared for our next client project.
Great! We even added a purpose to the goal. This makes a lot of sense, since: without a motive → no motivation. Alright, so see you in two years and talk about your learnings. Oh, the project starts in two months? Well, you haven’t mentioned that 😉
Until May 31st, I’ve learned Promises, arrow functions and Webpack, so that I am prepared for our upcoming client project beginning in June.
Great! Just one more thing:
- How do you know when you reached the finish line?
- At what point is “learning Promises, arrow functions and Webpack” ready to be ticked off your todo list?
- How do you know you’re prepared for the next client project?
Okay, but how? Have you actually tried to apply your knowledge or is it just in your head? Making it measurable helps you with achieving what you’ve set yourself as a goal. So with the example from above, we could think of a small challenge for ourselves, a PoC of whatever you’re planning to build for the next project, a mini-side project you always wanted to do even, heck – let’s create a Todo-List 😉
Until May 31st, I’ve achieved basic knowledge about Promises, arrow functions and Webpack, so that I am prepared for our upcoming client project beginning in June. I will create a Todo-List SPA in a simple Webpack project to make sure that I can apply my newly learned knowledge.
Compare this again with:
Which one do you prefer?