Early this year, we set out on a journey to onboard a new cloud engineering team at JFrog. Many can relate to the challenges involved with onboarding a new team, these were amplified even more during the pandemic. However this blog post is not about COVID-19, it is about sharing our experience of fine-tuning the onboarding path for this unbeatable group.
TL/DR: What it takes to build and onboard a team of junior engineers into the existing JFrog Cloud engineering team. Including a tailored bootcamp with academy training, real experience and much more.
But wait, what is Production Engineering @JFrog?
JFrog’s Production Engineering team is responsible for the efficiency, scalability, performance and reliability of all our production services on AWS, Azure and GCP. Combining software and systems engineering, Production Engineers develop tools, processes and technologies that operate on hyper-scale environments.
JFrog Production Engineering Team
JFrog CloudOps Academy
With an increasing need to hire tech superstars, we decided to bulletproof our tech stack and build an internal “JFrog CloudOps Academy” as part of the Production Engineering group. The academy was designed to introduce new engineers from diverse backgrounds and experiences to the JFrog team.
Over a timeframe of about 10 weeks, our new engineers were able to build up their cloud DevOps skill-set. We designed customized learning paths that included guided, self-paced theory lessons, as well as much needed hands-on experience with our live cloud environments.
The program allowed the new team to fast track into a working environment where they work together, complete each other, take a concept and work on it together. Essentially, this represents the human side of things, just like Jane Groll talks about in her DevOps for Humans talk. The participants not only acquired technical skill set, but also day-to-day work methodologies with iterative work and short agile feedback loops.
Ongoing Feedback Loop – Learning/Teaching Methodology
Here are the highlights of what our academy enabled our team to do.
Build a solid agile foundation
The way each team practices agile is unique to their needs and culture. We created JIRA EPICs which are large bodies of work that can be broken down into a number of tasks (called stories). We work with sprints (short, time-boxed period) to make the onboarding stories more manageable. Each story was marked as completed only after the engineer completed a final required technical task.
Gain meaningful experience
One of the sole purposes of Cloud Engineering is to continuously deliver value to everyone in the organization and everyone using the product that the organization delivers.
Throughout the program, the new engineers got hands-on training with systems and infrastructures. For example, the team got to design automation for existing manual testing processes for our cloud environments. To do this, they broke down simple tasks such as deploying new JFrog Platform cloud environments, creating JFrog Pipelines source/integrations with GitHub, and JFrog Xray policies/watches, into automation scripts. The automation of these deployments and configurations has become one of the most used pipeline jobs.
Our training program was based on engineering fundamentals with a proven path to cloud fluency. Here are the details on what it included.
Build services at scale with expert guidance
While the new engineers gained technical experience directly supporting and maintaining the many services that power JFrog Cloud, they also had a dedicated mentor to lean on. This provided them with technical guidance and support to navigate through their challenges.
So how did it work for us?
The academy streamlined the onboarding process, enabling the new engineers join our globally expanding production group and establish a 24/7 production reliability routine by maintaining tools to automate operational processes. They also take an active part in participating and now owning some of the cloud maintenance tasks.
“Talent without working hard is nothing.” –
We’re still in the process of blending the juniors with the seniors, but this academy resulted in a significant increase of knowledge sharing docs, sessions, passion and curiosity to the workplace.
There is a positive impact on other channels, for example, our juniors engineers can spot new solutions to old problems, Mentoring is a rewarding opportunity for the mentee and the mentor, This relationship does not have to be specifically between one mentor and the mentee: rather, multiple cross team members, or even the company as a whole, are playing a mentorship role.
Want to run a similar training program?
Do you want to take a similar leap to find and train cloud engineers? Here’s our main takeaways from this incredible program:
- Identify the right audience
Our excellent HR process at JFrog enabled us to find amazing frogs. We were able to build a team from professionals of diverse backgrounds, skill sets and experience levels: IT, Solutions, DevOps, Systems engineers and nurture them to the new role.
- Define the required skills and experience
For our program, we set out to find good coders that have experience in at least one non-shell language, mostly around automation and tooling. Also, have knowledge of real world Linux, networking, distributed systems, design and debugging.
- Build a learning path
You will need to build your own program. Start by making sure the syllabus includes the things that are important to you and represent the core components that you would like to achieve. Continue to drill down the learning according to your actual day-to-day operation and needs.
For core learning resources you can utilize a 3rd party learning platform like A Cloud Guru, which gives you an easy way to continuously develop modern tech skills.
- Take a CloudOps training approach
Our team focused on learning, took the time with the courses, and understood the importance of hands-on experience. Special emphasis was given to practical knowledge. Everyone worked really hard on the training and we do expect from the engineers to also put equal effort. The engineers are expected to practice as much as possible and raise questions/doubts.
The process allowed us to identify the gaps or additional training that is required personally for each participant. The program is generic, but the approach is personalized. Here are the soft and technical skills the team acquired.
LEAP and the rest will follow.