What I've learned from my first job as a Software Engineer at Ostorlab

This article talks about the experience of Rabson Phiri who works as a Software Engineer at Ostorlab.

Tue 19 April 2022

We asked one of our recent hires, Rabson Phiri, to share his experience working as a Software Engineer at Ostorlab.

Image of Rabson Phiri
Rabson Phiri

What was it like getting your first Job?

Getting my first job as a Software Engineer was a huge step in my life, and it was also quite terrifying. The job instilled in me a strong sense of responsibility, independence, and maturity. It was like stepping into the unknown, but as you’ll see, the reality is not as intimidating as you might expect.

What made you decide to apply to Ostorlab?

I strongly believe that the first few years of your career can have a tremendous impact on the way your professional life will be shaped. It’s not always the case, but it usually is.

For someone looking for their first job, a major source of confusion can be whether to get a job at a startup or a big company.

There is really no right or wrong way to go about it. Your career/personal goals should help you decide which path you take.

Before getting my first job, my career goals were not very clear and concrete (as may be the case for most recent grads, at least from my experience), so my decision was partially based on what I believed would give my career a good head start and a solid foundation. Here are my reasons for choosing to work at Ostorlab for my first role.

  1. Professional Opportunities Working at a startup can really accelerate your career. You work as a small team and whatever work you do literally has an impact on the company’s success. This gives a huge sense of ownership, responsibility, and motivation, and what better way to enjoy your work than to see your own work have real impact? This is one of the major reasons why I decided to work at a startup.

  2. Working Culture Since I would be working in a small team, there’s a quick and easy way to communicate with other team members. My attitude towards work, performance, and productivity as a whole would change because I would have to get things done quickly, iterate, and improve within a short time.

  3. Massive Experience Unlike at large companies, a new employee doesn’t usually have to go through a long training process. This gives one an opportunity to start working on projects from day one. As someone who loves hands-on experience, this comes as a plus.The dynamic nature of a startup gives you a chance to discover other interests outside your primary work.

What were your expectations when you joined Ostorlab?

Getting into the “real world” can be pretty scary. "How am I going to apply all the stuff I learned at school?" "What if I don’t know how to carry out a certain task?" "What if I don’t 'fit-in'?" Those sorts of questions kept me anxious from time to time.

Frankly speaking, I thought my new Job was going to be all about writing code, like those lone programmers in the movies who write code from the basement.

I also expected to be that Junior developer who would be assigned all bug fixes and nothing else, or given the “not so important” tasks. But as you’ll see later in this article, that has not been the case.

What was your onboarding experience like?

My onboarding was smooth and a bit nerve-racking. I mean, here is a guy who uses one Tech-Stack (React and Node) entering a role that involves using a different Tech-Stack (Vue & Python). That was my first challenge, getting acquainted with the tools/languages.

Everything else was clear and well structured. I realized that I was not just some regular programmer hired to write code, but that I was now part of a huge, caring team, and that each day would bring a new lesson to learn.

What has been your experience so far?

In my 5 months at Ostorlab, I’ve had the opportunity to work with a group of incredibly smart developers, both seniors and juniors such as myself.

Working at a company that focuses on Security Testing has really changed how I approach the whole concept of security. Prior to joining Ostorlab, I had little knowledge and experience in the Security sector but working here has broadened my knowledge and understanding of not only security, but Software Engineering and the workplace.

What do you like most about your job?

Image of Rabson Phiri Working
Rabson Phiri

I’ve always been inspired by the work we do here at Ostorlab. A lot of hard work is put in to ensure that we deliver quality products that meet the needs of our Customers and Community.

I love the fact that my seemingly small contributions end up helping the thousands of people who use our platform.

I’ve come to embrace the challenges, obstacles, the highs and lows, and the wins and losses as part of the journey. Given another chance, I’d still choose to start out my career working at a startup.

Certainly, there’s room for improvement, but I’ve also really grown since I joined Ostorlab.

What do you look forward to learning at Ostorlab?

In my time at Ostorlab, I’ve learned a lot about teamwork and organizational culture. Technically, my whole view of security has shifted.

I look forward to deepening my knowledge in security and evolving with Ostorlab as we pierce through the Open Source Community.

A startup offers a lot of opportunity for growth and this is one thing I’m taking advantage of. For example, I was primarily focused on the Frontend when I joined Ostorlab but I eventually got out of my comfort zone and started working on the Backend as well, a terrifying move because I had to work with a programming language (Python) I had never used before.

What are some key lessons you’ve learned?

I have learned a lot in a short time. But here are 5 key lessons that have been valuable to me and would be valuable to someone else out there:

  1. It’s okay to not know everything Software Engineering is a vast field, and trying to know/learn everything is impossible. When I got my first job, I had very little knowledge about Software Engineering in general and I often felt paralyzed by my lack of knowledge and not really knowing what I was doing. But ask, ask questions, use google, read the docs and realize that not even the oldest engineers know everything. The key take-away? Never stop acting like the new one on the team. Use this opportunity to get hands-on experience and to absorb as much knowledge as you need.

  2. Working at a start-up can be challenging I joined Ostorlab while it was still a small team. This meant that whatever tasks needed to be done had to be distributed amongst the team, from programming to handling support requests, and everything in-between.

  3. Working at a start-up can be beneficial I just talked about how challenging working at a start-up may be, but it also has a lot of advantages. My favorite aspect is that it gives you a chance to make a difference. As in, you get a chance of seeing your ideas come to life, have real impact, and shape the overall trajectory of the company. Another benefit I’ve found of working at a startup is there are a lot of opportunities for learning and advancement. Founders and employees work together, and the knowledge you can acquire from this is very valuable.

  4. Software Engineering is a team sport I’ve learned to adopt the mission of the team. Whatever the team is working on, make that a part of you. Whether it’s bug fixing, a feature release, getting familiar with a particular topic, or simply following the coding guidelines, go along with the team’s mission. This is so important because the overall success of the team comes down to the input of each team member.

  5. You have to push yourself to grow People want to help, and they will help you. But as the old saying goes, “you can lead a horse to water, but you can’t make it drink.” There is only so much people can do to help you grow but you have to put in the work, you really have to. Becoming familiar with the code base, participating in code reviews, being vocal about your opinions, and learning how to communicate well with the team are all ways to grow. Ask explicitly for feedback, and choose to act on it, whether it’s positive or negative. Positive feedback will make you aware of the areas in which you’re excelling whereas negative feedback will help you know which areas to improve.

What advice would you give to someone who’s applying for their first job as a Software Engineer?

So, should one work at a startup or a big company? Sure, working at a startup is not for everyone, but it is a valuable experience to have because you will learn so much more, as long as you can adapt well. There are also a lot of advancement opportunities. If you want to build your skills quickly, have a strong foundation, and have an instant impact, then working at a startup is a good move.

However, if stability, specialization and working in an environment with defined rules are your top priorities, then you should probably consider working for a larger company.

My last point to anyone tackling their first role as a Junior developer is to enjoy your career journey and continuously add value to the lives of people who are affected by work.