In this post, Tara Ojo, Technical Lead, shares the different ways engineers learn from each other at FutureLearn.
At FutureLearn we’re really big on education. It’s at the core of what we do and ingrained into our culture. We make deliberate efforts to make sure our engineers have great opportunities to develop their skills and share their newfound knowledge with the rest of the team.
This works well for us because learning is crucial to the tech industry. Since the industry is constantly evolving and changing, there is always something new to learn to keep us up-to-date. But, sharing that knowledge is also crucial. Learning and sharing go hand in hand as we develop our foundational knowledge and build on it through the process of sharing it with others. We can group these learning-through-sharing opportunities into three categories: writing, teaching, and collaboration.
Learning through writing
There are lots of great bloggers out there that can take complicated concepts and break them down in a way that is simple to understand. One of my favourites is Ire Aderinokun and her blog bitsofco.de; her articles are generally on front-end development, and I learn a lot through reading them.
What I’ve found with writing, is that the process of writing in a way that will be clear to other people helps you learn a lot more about the topic you’re writing about.
At FutureLearn, engineers can learn this way when writing documentation for our codebase, writing posts for this Medium blog, and also writing for our internal dev blog. Each of those three examples provides opportunities for a completely different type of writing.
Documentation is generally quite technical in its nature, so it is a great opportunity for learning a specific skill in another area when you update the docs. Our medium blog, on the other hand, is less technical but a great tool for practicing writing for a large audience.
Though our internal dev blog is still active, it is not updated as much as it used to be. It was introduced as a low-pressure way to write and share with a smaller audience. This was useful at the time but these days we share the same information in other ways, predominately through more teaching style methods.
Learning through teaching
Teaching is probably my favourite type of learning, specifically classroom-style teaching. When you go through the process of breaking down a topic into useful chunks of information to share with others you learn so much more.
We have 4 main ways of teaching at FutureLearn:
- Learning hours
- Tech lightning talks
- Show and tell sessions
- External talks
Learning hours are sessions for a group of people to focus on learning a small topic. As an example, we’ve run them on ES2015, recursion, and hyperbolic crochet! It’s up to the individual to decide what they want to teach, but they’re a pretty popular way to play around with new technologies.
Learning hours can be a great tool as long as you follow these 3 tips:
- Make them interactive — no one wants to sit through an hour-long lecture, give people some exercises.
- Tailor to your audience — if you’re expecting engineers with less experience make sure they can still follow along.
Tech lightning talks
Tech lightning talks are an informal hour of 5–10 minute presentations on something someone has learned. As they’re pretty short sessions, they’re great for first-time speakers and people who want to improve their confidence in front of people. At FutureLearn we’ve seen great talks on Vim tips, an intro to Docker and aframe.io.
Show and tell sessions
Show and tell sessions are an informal event held every 2 weeks to share technical work or thoughts. In these sessions, we usually give a live demo of how we’ve built something recently in the codebase. It’s a great way to hear the processes people have gone through to get something working, whilst also sharing information on what other teams are working on.
We regularly go out to conferences and meetups in the community. This gives us the opportunity to teach and share a variety of topics with people outside of FutureLearn. This has included talks about career development, writing React and how to create great talks. We make sure people get the time to practice and get feedback on the talk before they go out and deliver it at the event, importantly, this all happens during work hours.
Learning through collaboration
Collaboration is a core way of working for us. It’s important for keeping people on the same page. Pairing is part of our everyday culture, we’ll work together in twos or sometimes more on solving a specific problem. We find this is great for reducing the number of coding mistakes we make, but especially good for developing our teaching and interpersonal skills.
We also find that regular catch-ups are great way to discuss specific questions and issues on a deeper level. We have catch-ups for our design-system, discussing front-end best practices and improving accessibility. Individual people add their questions to the agenda and in each fortnightly catch-up, we talk through them. It can be hard to get decisions made in these meetings so try and involve someone that can have the final say.
What I like about all of this stuff is that there are options for different types of people. If you’re not a speaker, try writing. If you’re not comfortable talking in front of a large crowd, practice at a small tech lightning talk session. Otherwise, start pairing more! It really makes a difference in how much you learn.
If you want to go fast, go alone… If you want to go far, go together — African Proverb
If you’re interested in joining the team, we’re currently hiring for several roles, which you can see on our jobs page.