The Padawan Path17th June 2021
It's been a month since we kicked-off our 5th Padawan generation for Ruby on Rails Web Developer and it's a good time for me to share the details of the process.
I joined the company in June 2017 and we are proud of forming most of our engineers since the early days of michelada.
Up to 2019, the program ran in a combination of semiformal and informal training without a well-defined program, which made the training hard to reproduce with the upcoming generations.
Regardless of the inconveniences, the number of previous generations were promising:
I started working on the current curricula in February 2020, when I became coordinator of the Padawan Program. First draft of the program was created in March 2020 and used for the first time in that year's generation.
I defined four main areas of study:
Command-line interface (Uso de terminal)
Ruby on Rails devs spend a considerable amount of time using our command-line interface and I consider important to be comfortable with its use. Also, since the Padawans use their own computer for the program, we can reduce most of the differences between operative systems by using a common CLI. In this module, we also cover an introduction to git.
Web development (HTTP, HTML, CSS and JS)
The foundations of web development are here. We cover the basics of HTTP and how the web works, correct use of HTML5, CSS3 and basic JS.
Our bread and butter here at michelada. I'm not 100% sure if we are the best Ruby on Rails consultancy in Mexico, but I will bet that we are working everyday to achieve that recognition. We spend a good part of the time learning the basics of Ruby: syntax, testing, standard library, language core, metaprogramming, debugging and Object-Oriented Programming.
Web Programming (Ruby on Rails)
Now that the Padawans have embraced Ruby as their main tool, it's time to create some beautiful web applications with Ruby on Rails.
All things come to an end and this is where the Padawans have the chance to show the company what they have learned. They will work along with a PM, a Tech Lead and a Product Owner to complete a web application. The last day of the program, they will demo the app to their colleagues and respond questions regarding the app.
2020 in a nutshell
With a formal plan created, we ran our first formal generation and these are the results
COVID hit us hard since most of our clients reduced staff and we weren't able to hire all Padawans in the 2020 generation: we had a significant amount of employees without client, which made hiring more people uncertain and risky.
The 2021 generation
The global sanitary crisis demanded us to adapt the program to run 100% remote for the first time if we wanted to have a 2021 generation. This presented pros and cons: now we are able to extend the convocation nation wide and not only to the state where we have offices, but also we needed to adapt the learning acquired during four generations of Padawans into a complete different way of working.
We launched the convocation in our social networks and the first day we had already received around 38 candidates! We realized that, if people wanted to join the program so badly, we were doing something very well.
Two weeks later, we closed the convocation with the stunning number of 288 candidates! I still can't believe such many people wanted to join the company. #FeelingBlessed. We were also disappointed due to the fact that we could only accept up to 6 candidates and we were going to left behind lots of such talented people #Sad. I guess you can't have your cake and eat it
After two months of selection, we kicked-off the 5th generation of Padawans in May 17th and we have some things to share.
The 2021 curricula has some differences compared to last year based on which topics haven't been so immediately useful for a junior (e.g. concurrency and cryptography with Ruby). I don't mean those topics are unnecessary, but a junior/mid software engineer can probably live the first years without those bits of knowledge.
On the other hand, topics such Introduction to JS front-end libraries/frameworks (Vue, Angular and React), CSS methodologies and Rails 6 new features will be included this year.
Even though we are happy with the 2021 process so far, we know that things can always get better.
Two weeks ago, we ran a Retrospective meeting using our in-house tool Retrospect.io to gather feedback among the staff who participated in any part of the process.
We also got feedback from our brand-new Padawans to learn more about how they feel and what we can do better.
- Training people takes resources, but it's worth it.
- If you do a good job training people, they will want to be in our organization for a long time.
- Treat your trainees as if they were employees because... guess what? They are! Integrate them with the rest of the company and make them feel part of the team since day one.
- Offer a fair salary.
- Have a well-defined plan.
- Give and get feedback frequently.
- Assign mentors to help them navigate the journey to become a software engineer.
The program will finish around September 17th and I will follow up this publication until that date with all the details
Thanks for reading! Feel free to reach me out with your questions on how to create a successful training program in your organization.
Until next time!