Picnic’s Tech Academy plays a pivotal role in upskilling our tech team. We’ve previously written about how the Academy’s Java Learning path accelerates the growth of early-career / graduate joiners at Picnic, and how they experience this program first-hand. That’s all well and good, but this still doesn’t tell you much about the other side of the equation: who’s actually teaching them? How does a Tech Academy work at a scale-up like Picnic? Wonder no more! In this post we’ll explain what we do and hear from the people behind the Tech Academy.
What’s the Tech Academy?
Before we hear from them, what is the Tech Academy at Picnic actually? With a tech team of over 300 people, learning and personal development is an important part of our culture. In addition to supporting early-career developers as discussed above, we want to offer growth to developers of all experience levels.
The Picnic Tech Academy, as its name implies, organises learning around technology that Picnic uses. Here’s a small selection of courses to give you an idea what is offered:
- Angular for Backend Developers
- Reactive Programming
- Java Clean Coding & Design Patterns
- Python for non-Python Developers
- Working with MongoDB
These courses revolve around key technologies used within Picnic’s tech team. We encourage people to not just ‘stick to their lane’. With courses like Angular for Backend Developers and Python for non-Python Developers you can broaden your skills across different stacks as (for example) a Java backend developer, and start contributing in more areas of your team.
But it’s not just about the technologies themselves: we also want to improve the way we use technology. That’s why the Tech Academy also offers courses around Incident Response Management, Observability strategy, and Software Design.
Now that’s quite a range of topics to support. How do we pull this off? For some topics we work with external experts, as it can be good to have an outside perspective. The majority of courses, however, are taught by Picnic developers! We truly embrace a ‘for developers, by developers’ approach to learning.
Meet the trainers
So who are these developers who also teach? Let’s meet a few of them, and find out what drives them to contribute to Picnic’s Tech Academy!
Danielle: I’m originally from the US and I’ve worked at Picnic for 4 years as an Angular developer. For the last year I’ve been the tech lead of the Warehouse Systems UI team that builds all of the user interfaces we use in our warehouses. Before that I worked on the FCA project, building our new automated warehouse!
I teach a course called “Angular for Backend Developers”. The pool of Angular developers at Picnic is fairly small so sometimes backend developers need to know more in order to maintain their own frontend applications.
I designed the course to make sure developers can do the most important things in Angular but not to make them experts–we stick to the fundamentals and explain the patterns that they’re most likely to run into. We do a mix of theory and hands on. First I introduce the theory in a couple of slides, then we look at some running examples in Stackblitz together, and finally everyone does a hands-on exercise to try to apply the knowledge on their own.
Pim: I’m Tech Trainer at Picnic, with a passion for software development and knowledge sharing. I have a wide range of experience in various industries, and am currently also working as Java developer on our Warehouse Systems.
At Picnic I provide training to fellow developers, with topics including Clean Code & Design Patterns, Incident Response Management, Infrastructure for Developers, and more. I like to combine theoretical knowledge with the experience I obtained as a developer, to help others avoid pitfalls I’ve come across during my career. To make it most effective, I tailor the training towards the needs and the reality of the day to day work at Picnic.
Franklin: I’m the tech lead for the Storage Team. I have a background as a database engineer and I moved from Brazil to the Netherlands in 2021 to join Picnic.
I’m teaching the Working with MongoDB course. This is a course that covers all MongoDB aspects a developer should know to use this powerful NoSQL database to its full potential.
To support a wide range of participants, attendance on the first day is optional if the learner already has some experience with MongoDB. The idea is to have everyone on the same page so we can dive deeper in the next few days, covering more advanced topics like architecture, performance tuning, data modeling, and general best practices.
Why is teaching in the Tech Academy important to you?
Being a developer in a tech team is already a busy job. So what drives our trainers to contribute their time and knowledge to the Tech Academy?
Danielle: I think it’s important for developers to get a sense of what their colleagues are working on and to better understand their own systems as well. It opens up more understanding and opportunities for collaboration for everyone. That’s why I enjoy teaching courses in the Tech Academy.
Pim: In software development, there’s always something new to learn. Training improves your skills as a developer, making you even better than before. With my Tech Academy involvement I can provide the knowledge for people to tackle real challenges at Picnic, and at the same time kindle the mindset for growth.
Franklin: Making sure that our developers have the necessary knowledge to use their database to its full potential helps my team’s operations to be more reliable and efficient. For instance, many developers are not confident about how to use indexes efficiently or how to design their database for read or write intensive applications. At the end of the training they are much more prepared and learned about, for example, how Mongo’s ReplicaSet architecture works and can impact their systems and how to interpret a query execution plan.
What’s in it for trainers?
Teaching a course obviously benefits learners, but does it help our trainers as well? Turns out, yes, it does! They collectively experience the feeling of “you don’t understand something until you can explain it simply”. Pim: “When teaching something, you have to truly understand it. I would advise everyone to try it at least once.” Danielle has a similar reflection:
My own understanding of Angular fundamentals was strengthened by designing this course. It’s also cool to get feedback, seeing what lands for people and what doesn’t. For example, there were some things I initially left out of my course design because I personally don’t find them helpful, like marble diagrams for Observables. Over time, I’ve found other people can really benefit from them since everyone has different learning styles.
Franklin adds: “you want to be able to answer the students’ questions as well as be up to date with all the new developments on the field/technology you are teaching.”
Creating training material forces you to dive deep and be precise. One of our trainers discovered another side-benefit: since we tailor our training to Picnic’s context, as a trainer you also get to talk a lot to different teams on how they use technology. In turn, this gives you a lot of insight into what’s happening across the whole tech team. Also, during the training itself participants can challenge you, or share their own experience, broadening your horizon even further.
There are many more developers contributing to Picnic’s Tech Academy as trainers in a similar way. That’s why developers on Picnic’s tech team have ample opportunities to learn new skills and improve existing ones. Thanks Danielle, Pim, Franklin for sharing your insights and experiences!
👉 Also want to experience Picnic’s Tech Academy? Then join us!