Impressions from the paid Juniors training at DevOps Academy
DevOps Academy was a 3-month long training for Junior DevOps with little or no experience. Three members - Ola, Hubert and Wiktor - participated in the training under the supervision of mentor Grzesiek, who coordinated and managed the program.
During the training, the Junior DevOps could learn best practices from members of the DevOps team, master their skills and gain experience.
The main project Junior DevOps worked on was the latest version of the Mqperf. Mqperf is a set of tools for evaluating the characteristics and overall performance of message queues. The latest version introduces the possibility of setting up Kubernetes clusters of various message queues with Terragrunt for different cloud providers. The cluster setup is automated by the Python script.
Aside from working on the Mqperf, which combines multiple key technologies like Kubernetes and Terraform, the Junior DevOps team got hands-on experience while completing several tasks related to the internal infrastructure. One of such tasks was to move the Shelly instances from one cloud provider to the other.
In my previous job as a System Engineer, I worked with technologies like Docker and Kubernetes. I had some experience in automation, CI/CD, or monitoring. My daily tasks were related to system administration and I wanted to shift my career more into a DevOps role, so I decided to look for new job opportunities.
SoftwareMill’s offer for a Junior DevOps seemed like an excellent opportunity to pursue my career. I took that chance by applying for the job.
The first step of the recruitment process was the knowledge test, where I got questions about technologies like Docker, Kubernetes, Terraform, or cloud providers. The next step was an interview with two DevOps Engineers.
At the beginning of the interview after a short introduction, I gave a summary of my experience. After that Grzesiek and Adam asked me a few questions related to technical knowledge about Docker, Kubernetes, CI/CD or Terraform. The whole interview felt more like a discussion about different technologies, concepts and methods rather than the questoning.
To sum up the interview, Grzesiek told me about the plans for the three-month training in the DevOps Academy. In the end, I also got the chance to ask additional questions about the position or the company.
Soon I got a positive message that they wanted me to join the SoftwareMill.
That's my impression :)
I was browsing job offers for some time. I was looking for a company that is seeking out people who have barely started a DevOps career and need to get some training and experience. SoftwareMill posted its offer on a very popular website with IT job offers. There were only a bunch of offers strictly for Junior DevOps positions so I applied without hesitation. Especially since SoftwareMill offered 100% remote work, which was critical for me.
It started with filling out the form provided by SoftwareMill HR in response to my application. It contained questions regarding my previous experience (...) motivation and hobbies. You know how these HR questions can be tedious and disconnected from reality. But… not in this case. They really made me think about the answer. They made the impression they were thoroughly composed into something that is supposed to test your approach to the future position. And, in my opinion, it did.
After a few days I received an invitation to a technical test. I guess this HR form didn’t go so badly ;) I didn’t know what to expect, so I procrastinated. But the deadline was coming…
I took the test after a few days of getting myself together. It was hard, it was cross-sectional and it was time limited. My knowledge let me answer part of the questions, but for most of them, I had to rely on my intuition and some fragmentary information in my mind.
After taking the test I was sure I blew it. I thought - another company looking for experienced employees for junior wages. Practically after a day or two, I put it out of my mind and tried to go on. But… somehow during the next week to my surprise, I received another invitation for technical review.
In a quick call, two gentlemen were rather trying to know me better than prove my incompetence, which was not so often an approach if I may say so. The review took rather the form of dialog than a series of questions written down on a piece of paper between completing one task and starting another. It made me feel that my initial impression was completely wrong and I started to think that working here may be quite refreshing. I was optimistic, but not sure until SoftwareMill got back to me with their decision ;)
In retrospect the recruitment was coherent and the candidate was guided through it well.
I used to work as a software developer, but always enjoyed doing DevOps-like tasks and liked to read more about technologies used in DevOps. When my old job got a little stale I started to think about changing my role from developer to DevOps. I started looking through job offers. I instantly noticed SoftwareMill since I recognized the company from Java Conferences I attended in my developer days.
I remember talking with SoftwareMill at the conferences and was impressed with their technical knowledge and fully remote philosophy at the company even before the pandemic when a lot of companies adapted it.
So when I saw that SoftwareMill is hiring junior DevOps I thought it was a perfect opportunity to shift my career in a different direction.
I sent my CV and received a simple HR questionnaire after which asked about my previous experience and how I found out about the company. After that, I received a short 30 minute test on the devskiller platform. It was quite challenging and after taking it I wasn't sure how it went, but after a few days, I received an email saying it went pretty well.
Next step was supposed to be a screening call with HR but since there were too many applicants I was informed that HR and technical will be merged into one meeting.
Technical interviews really stress me out and I'm not that good at them but Grzesiek (our academy mentor later) and Krzysiek were great and the interview went quite well. I was asked about some of my previous experience, some key concepts in DevOps and some questions regarding the test I took before. Then I got some time to ask all the questions I had. After the interview, I already decided I want to work at SoftwareMill so I was really happy when I got an offer a week later.
DevOps Academy started with onboarding to the company. There were three of us Juniors, and our mentor. For the first few days, we’ve been doing pair programming just to be on the same page with technologies used in SoftwareMill. After that, we built a backlog and assigned sprint tasks to every Junior. At the end of the first month, there was the first demo of our project, which allowed us to get feedback from the product owner. At the time of DevOps Academy, there were two demos. During the next month, the project was expanded and we developed a CI test.
With every week our work became more self-reliant and we needed less supervision. Of course, there were technical issues as always during the process, but teamwork allowed us to overcome them, and present the final product on the Friday Market.
During the Academy We were given a task to migrate an existing open-source project called mqperf. It's a project created to evaluate persistent, replicated message queues. Our goal was to automate creating environments for running these queue tests. The starting version was using pretty old technologies like Ansible that we migrated to terraform. We developed functionality to create environments on all three main cloud providers like GCP, AWS, or Azure and currently available queues are Kafka, RabbitMQ, Mongo, Posgresql.
During the development we decided to use a terraform wrapper called terragrunt which helped with communication between different terraform modules and allowed us to easily deploy all the infrastructure with a single command. We also created a bash script which was later switched to a python script which allowed us to parse config files to create customized environments. The architecture of the new mqperf is a Kubernetes cluster created on one of the cloud providers on which we install a specified queue. Then we deploy an app created to run tests on the queue which is monitored by prometheus + grafana stack.
It was a really interesting project that allowed us to use a lot of different technologies.
The training was engaging and challenging - I have not expected to work on SoftwareMill's public project such as mqperf so early in my new job, and especially not during the training. But I wasn’t stressed out - I think the mix of deadlines, expectations, but also the support and guidance I received was just right.
During these three months of DevOps Academy, I came across multiple technologies - it was an ideal opportunity to expand the technology stack with new tools like Flux CD and Kustomize. I learned how to implement GitOps practices with the Flux CD, while with Kustomize I could simplify my Kubernetes configuration.
I improved my skills in provisioning IaC with Terraform and Terragrunt - in the Mqperf project we provisioned the IaC for the AWS, Azure and GCP cloud providers. I also contributed to the SoftwareMill side-project Shelly - I created a new Grafana dashboard with the Prometheus data source.
We got along pretty well with Hubert and Wiktor. Cooperating with my new trainee colleagues and our mentor was a great trailer of how working in SoftwareMill is going to look like. Having diverse academic and professional backgrounds meant that we had different ideas and perspectives on some subjects. It was a great opportunity to learn from each other - often we would work together to find the best solutions in many cases.
DevOps Academy was a great hands-on experience. Not only 3 people guided by their mentor have been trained but also delivered usable project. Besides technical knowledge we gained a bit of self-confidence which is also very important in commercial projects. Through all the time we were supported in our tasks and problems, and we developed an atmosphere of cooperation and trust. No one was left alone with his/her problem. It is worth mentioning that during DevOps Academy we had a chance to work with a bunch of various technologies that are currently top of the market. This is a huge advantage for a person who is making sort of first steps in the DevOps world.
DevOps Academy was great and it was a perfect fit for me trying to shift my role from developer to DevOps. I got hands-on experience in a lot of modern technologies used in the current DevOps world. We were guided by a very experienced mentor and could always ask for help without any issues. The project we worked on was also an open-source project which was a bit of a surprise but it turned out to be a great idea and was really motivating to try your best when the project will be available for public use. In my 3 months at SoftwareMill's academy, I can say I learned and used more technologies than in a year in my previous job. I highly recommend the next editions for anyone trying to start or shift careers into scala/DevOps.
It was a great adventure!
I have to say it was a challenge. Combining work in a project with mentoring 3 persons was definitely not an easy task. 3 different persons, 3 different personalities, 3 different characters - my role was to adapt to, and adjust the tempo and the momentum of the work. But on the other hand, it was also a very positive experience - watching how the trainees are getting familiar with those complicated technologies. Watching how those puzzles start to match. Watching how they grow.
In my opinion it was great we had well-defined goals. It was a proper project, not a “hello-world” style task nobody really needs. SoftwareMill is probably the only place in the World where you can learn and be an Open Source Software contributor at the same time!
Not everything was perfect: I wish I had more time as a mentor, in the future I’d like to focus only on this task, without sharing my time with other professional activities. But if someone asks me if it worked - definitely! Of course, the trainees need still to learn a lot, but in my opinion, they have really good foundations to build their careers.
Follow us on Twitter to not miss next edition of DevOps Academy!