A Year in Cloud-Runtime: Navigating as a Beginner

Evan Sthapit
OneFootball Tech
Published in
9 min readFeb 23, 2024

It has been one year since I started working with the Cloud-Runtime Team in Onefootball. Although it has not been long, I feel like I already have the experience of someone who has been in the industry way longer. Working with a team consisting only of senior engineers was not the easiest as a working student in the beginning, but I was able to overcome the difficulties. I have my mentor, Andrea Benfatto, and my seniors, Raghavendra Tandon, Sunny Kumar, Bruno Costa, and Kareem Mohamed, to thank. Even if I am technically not at their level yet, I can collaborate with them and work on projects that have actual impact, with less confusion and quick adaptability.

I decided to write this blog to hopefully help future junior engineers who might feel lost in the beginning and don’t know how to move forward or feel stuck. I am not someone who can code professionally like a senior engineer yet, so in this blog, I will be talking more about how I developed my soft skills than how I developed my technical skills since I still have a lot to learn. And how sharpening my soft skills is helping to sharpen my technical skills.

I will try to break down some of the main points that I think a junior engineer should start with.

Find a mentor

Image Source: https://onlinemba.wsu.edu/

This is the most important step that any beginner should take, in my opinion. As a beginner in software engineering, we might know how to code in C, Python, or any other programming language and know a bit of the technical stuff, like how the Internet works. But let’s be honest, we don’t know what to do with these skills unless we are born as geniuses. This is why I wanted to look for someone who helps develop not only my technical skills but also my soft skills.

In my case, it was my manager, someone who has 20+ years of experience and who has infinite knowledge in comparison to me. Having a mentor has helped me develop way faster than working alone in a corner and learning from YouTube or any other sources. This is one of the main reasons why I feel like I have grown so much more in one year than in my five years at the university. This does not mean my mentor is perfect, but he was also once in my shoes and knows the mistakes that I am making because he has made those mistakes at one point and knows how to take care of them. He knows what it takes to reach his level, and he wants me to grow more efficiently.

A mentor should not necessarily be someone with many years of experience. It could also be someone who is only a year older than me. But I need to have the feeling from this person that they are trying to help me and that the advice they are giving me is guiding me to the right path.

Embrace Feedback

Building tough skin in the industry is also very important. Not all feedback is going to be positive, and as a beginner, when I think that I did something good, I often get the feedback, “It can be done in a better way”. 99% of the time, when your senior says this to you, it does not mean that you are stupid. It means that you are moving in the correct direction, but you can still grow. I have learned to acknowledge my weaknesses and listen to my seniors. And I also learned that not doing so is only hurting myself and not helping me grow.

While I was learning how to crack an egg, my seniors were already baking huge wedding cakes and shipping them to the customers.

I am an open-minded person by nature, and listening to the people who are trying to help me and trying to see it from their perspective instead of being closed-minded has helped me unlock my skills to work more efficiently and cleaner than I used to. I am grateful to all my colleagues, who have always given me advice on how to move forward.

Active Participation

Since I began, I have tried engaging in meetings as much as possible, even if it is about a topic that I am not familiar with. What I do is take notes. I write down the terminology that is alien to me and do my own research. Google has been my best friend for this. And if I still did not understand something like SLI, SLO, and SLA, I would ask my teammates if they could explain it to me.

When I first started, I was afraid to ask questions like these because I had a fear that they would think less of me. I realise now that it was nothing but a delusion in my head. As time went by and I asked more questions, I understood that they understood that I was just a beginner and that these kinds of things were new to me. So it was ok for me that they treated me as someone who did not know anything about a certain topic because they intended to make it clear to me down to the basics.

Participation in meetings might not always be as productive as one might want, but I guess it depends on what one might perceive as “productive.” For example, sometimes we would be stuck on a simple problem for hours and not even solve it. On one hand, it can be perceived as “I learned or solved nothing today. And I could not solve this because I am not good enough.” On the other hand, it can be perceived as “so even people with years of experience can make mistakes like this or not solve them as quickly as expected. So it is normal for me not to be able to do it too.” And with this mentality, I know that I should not give up and continue to try to solve the problem.

Initiate Communication and Building Trust in myself

Image Source: https://www.linkedin.com/pulse/start-up-communications-russell-pollard

I have also realised that I don’t always need to wait for people to ping me. It is also okay for me to ping people and schedule meetings with them myself. Communication is the key to success. Be it in a relationship or at work, without communicating my problems, people don’t know what problems I am facing. “Um.. Duh?”. But what beginners do not realise is that sometimes it is alright to disturb people.

I am guilty of this myself. Even though my mentor told me to write to people who could help me, I was always afraid that I might just be disturbing them during their work on some other project. So I was always shy about initiating communication and would ask my mentor to do it for me. As time went by, I realised that I was not developing my communication skills at all, and enough was enough. Maybe I am just lucky to have very understanding colleagues because every time I wrote to them, they would reply positively. Having teammates like these, who have the willingness to help others helps. Of course, most of the time they could not help immediately, but we would find time and schedule something. The more I wrote, the more I got help. Just by improving my communication and building trust in my communication skills, I was able to become more efficient and productive at work.

Continuous Learning

Image Source: https://theroanokestar.com/2021/08/20/ways-to-promote-continuous-learning-in-your-organization/

I think this is something that any software engineer should realise before beginning their lifelong journey. We should always be ready to learn something new but focus on one thing at a time. The main reason for me to feel lost was multitasking on things I did not understand yet. Especially in the DevOps sector, where one is working with hundreds of different tools and software, although I knew how to code in a high-level language like C or Python, I came to realise that more skills are required to learn to work for any company.

  • Basic Tooling: I had to learn Git and GitHub for version control of our software.
  • Scripting: I needed to learn basic Linux or Bash for shell scripting.
  • General Knowledge of the Internet: I had to research some stuff like the OSI Model, how HTTP(s) and DNS work, and how APIs are built on top of them with standards like REST, RPC, and Graphql.
  • Internal Monitoring System: I had to know how to use a frontend like Grafana to observe our infrastructure.

I am not an expert on any of this stuff. I have crammed so much stuff in my brain that something falls out from the other side. It is normal to feel overwhelmed when learning to code.

What I do is try to get good at one thing at a time. This has helped me learn and grow faster than when I was jumping between Git, Github, Terraform, AWS, Backstage, Grafana, and Kubernetes, all in one day. Of course, it is good to get introductions to what they are, but it is better to dive into one subject first. And I digest what I did previously before moving on to new things. Every time I learn something new, I will take an hour to think about how I started to get where I am now.

Value Experience

Image Source: https://integralcareer.co.uk/how-to-value-your-work-and-life-experience/

In the world of software engineering, learning and experience are more valuable than money, especially when starting. This advice is echoed by many successful professionals, both inside and outside of Onefootball. It means that even though learning can be tough and frustrating, the experience you gain is worth more than any paycheck.

When I was starting, I focused on growing professionally rather than just chasing a higher salary. This mindset helped me stay motivated even when faced with challenges. Having a mentor who emphasised the importance of being open to learning was crucial. He compared it to being a sponge soaking up knowledge, which stuck with me.

This approach has made a big difference. Now, I feel more confident in my abilities and less worried about finding new opportunities if things don’t work out. Knowing that my skills and experience are valuable assets gives me a sense of control over my career path. It’s a reminder of the importance of mentorship in shaping our professional journeys.

Take action

Image Source: https://medium.com/the-ascent

As Shia LaBeouf says, “Just do it!”. Through my 1 year of being a software engineer, I have learned not to fear experimentation. I have learned things like Terraform, Git, and Github by doing it myself rather than by just observing. So my advice would be to just start doing something rather than spending days and weeks observing others like your co-worker or YouTuber doing these things. Doing it myself has helped me understand the software I am using better and have my own opinion about the software and tools.

So my advice to any beginner would be: Don’t be scared. Do not fear experimentation, but ensure safety by testing in a non-production environment. I cannot emphasise this step enough. I think a lot of young engineers are always stuck because of this step, and they might feel intimidated by these tools.

“The hardest step for a runner to take is the first one out the door.” — Ron Clake

Demonstrate Interest

“If I don’t show interest, why should someone else? A person who does not want to be helped cannot be helped”. This is a piece of advice that my father gave me when I was young, and it could not be more true. My mentor and my seniors are not there to help me find my interests but rather to help me develop myself within my interests.

In my case, I got lucky and joined the right team, but this might not necessarily be the case for everyone. When I joined Cloud-Runtime, I noticed that the things I was doing were fun, and I can see myself doing this for at least 5 more years.

But even after months of practice, if you find yourself not happy doing what you are doing, consider changing paths since this will be a big part of your life moving forward. You might simply be in the wrong area. Software engineering is a vast field where you have a lot of choices; not everyone has to be a platform engineer. Watch YouTube videos on how other developers work and their daily lives. Or talk to them if you know someone in real life. Another path might be more fun and interesting for you.

--

--