Between 2024-01 to 2024-05, I was one of the mentors in the Futurice’s Generative AI Group Mentorship program where I mentored 6 software developers from all over Futurice offices in Finland, Germany, Sweden and the UK.
The objective of the program was to bridge the gap in Generative AI core concepts and advanced development by learning to develop advanced Retrieval Augmented Generation applications.
Here is how I did it: With the help of Sanni Moilanen from our Human Care team, we created a plan for the program consisting of 1 kickoff meeting, 5 sessions and 1 final retrospective session across 5 months. The sessions were 1.5 hours long and recurring every 3 weeks.
We framed it like a sprint based learning program. Just like in scrum, we had a sprint (learning goal) planning meeting, tasks, and a retrospective meeting.
Kickoff meeting Link to heading
In the kickoff meeting, I introduced the program and we got to know each other. We had a Miro board with following questions we took to fill for 10 minutes and then shared individually:
- Name of the mentee
- Intro and your story
- Who are you and what do you do at Futurice?
- Where are you located?
- Hobbies and interests
- Last book you read? or podcast? or movie you’d recommend?
- Why did you choose to join this GenAI mentorship program?
- What do you hope to learn?
- What are your expectations and wishes from the program?
- On a scale of 1-5, how familiar are you with AI and Generative AI? (1 being not familiar at all, 5 being very familiar)
- Any past projects? hobby projects?
- Any online courses?
- Frameworks and libraries you’ve used?
- How familiar are you with AI tools?
- When did you last use ChatGPT?
- What’s the dumbest thing you’ve asked ChatGPT?
- Is there an AI project or application that you’ve found fascinating recently?
- What’s one skill or concept you’re excited to learn more about related Gen AI?
- Any tangible outcome or achievement you’d like to look back in the end of the program and say ‘I accomplished that because of this program.’
- What is one aspect you hope this mentorship program avoids so that it remains valuable and engaging for you?
- Any concerns? potential pitfalls?
- Anything else you’d like to share?
I then shared about the main learnings objectives where I introduced ‘What is RAG?’ to get us all in the same page about definitions.
I also shared about the mentorship curriculumn that I prepared beforehand and asked for feedback. People had some good suggestions and I revised the curriculumn accordingly.
Methods of learning Link to heading
I asked everyone’s opinion on what’s the best way to mentor them to understand how they learn the best and how I can best support them. We did a group voting on our choices. I had pre-filled some options and it was also open for them to add their own suggestions.
After that all the meeting invites for the sessinos spanning 5 months were sent out. Also many learning resources and company provided Azure Subscription was give to them for learning.
The first few sessions were focused on just establishing the basic concepts of embeddings and RAG. We also started some sessions by doing a retro of the session before and gauging the understanding of the core concepts before moving on to the next topic.
I also made some custom demos to really demonstrate the concepts of embeddings and RAG. I really wanted to make sure developers with no prior experience in AI or GenAI would understand the concepts of embeddings and and RAG and I tried my best to show the concepts in a way that is easy to understand from a developer perspective. I tried to show the interesting parts and limitations of the concepts too.
The code for the demo is available on my GitHub.
We had also established a Slack channel for the mentees to ask questions and share their learnings. I also shared some of the resources I found useful for learning. I encouraged everyone to keep the channel active by sharing their learnings, starting diecussions and share whatever they find interesting on the internet. One rule however I said was to only share content that is relevant to the learning goals of that particular learning sprint.