6 min read
Learnings over the past year

May of 2022 is when I finished my university education in the field of Computer Systems Engineering. I was taught a whole bunch of things - networking, working with FPGAs, and a whole bunch more. The most interesting of those subjects was application development. The primary language was Java (not Spring Boot, just plain old Java) and well, I wasn't very fond of it.

As soon as I graduated, I found out about web applications and got hooked. Picked up the basics of HTML, CSS, and JS in a couple of weeks, and built a dummy website to put my newfound knowledge to use. It was OVERLOADED with animations that added nothing, but it was all so new and shiny 😆

Got my first full-time job at a startup based in Oman (my place of birth and residence from 2000 to 2023). Long story short, I picked up React, Next, Express, and even some AI fine-tuning in the one year that I worked there. It was a good run, but I couldn't continue working there due to a bunch of reasons.

VĂ€lkommen till Sverige!

spinal tap GIF by Comic-Con HQ

That translates to "Welcome to Sweden!".

December 16, 2023 is when I landed in Copenhagen and headed to Malmö for my new and shiny job as a Consluting Fullstack Developer at Curamet. I already had a project waiting for me, and it was at IKEA. I was excited, but I kept thinking - "what kind of tech does IKEA have, that it needs to hire consultants?" I mean it's a retail company right?

Turns out IKEA, even though not a tech giant, has a crap ton of tech things going on across the company. My project was with the "Customer Rewards" team which, as the name suggests, is responsible for the tech behind giving rewards to customers in return for loyalty.

The senior engineers and my manager, over the past 9 months have exposed me to a plethora of things I never even thought would exist in software engineering. All I knew up until I came to Sweden, was how to build CRUD applications. Even if I was under pressure at the startup, I was always in my comfort zone, doing the things I know and nothing else.

Since day 1 of my project assignment, I was exposed to things I couldn't even begin to understand. What the hell is Domain Driven Design? Why are there `fixup!` commits in open PRs and what do they mean? Why is the code composed like that? It was a lot to take in, and I was lost in the mayhem.

Turn it up to 11!

Being lost was not gonna help me. I needed to start being annoying now if I was to make good use of my time. I started with some very tame tasks like bumping versions, reviewing PRs, etc. The tasks were actually so simple that I whipped up a bunch of bash scripts to do them.

Things were a little quiet over the next few weeks, with me just doing these simple tasks. But then my manager told us about a new application we need to build. From a high level, it seemed pretty straight-forward since I was thinking in terms of CRUD-based applications and nothing more. But then we got into a long design discussion. It was fascinating, and it kinda scared me. I was a new joiner and knew maybe 1% of how the system worked.

If it wasn't for the absolutely amazing team, I think I still would have been getting onboarded.

This new application needed to interact with other parts of our system. Parts that I had never interacted with before. In the 4-5 month stretch that I was hyper-focused to finish this new app, I feel like I learnt more about the system than if I would have directly worked on those "other" parts. Not only that, I understood why the team does certain things in a certain way. I learnt how to use Terraform (which was surprisingly SO MUCH more simpler than I imagined lol), I learnt the nuances of working with a cloud provider, and how Terraform behaved in them. I finally understood what CQRS meant. I realized why Domain Driven Design was important, and how it was leveraged in our complex composition of services. Everything started to piece itself together.

Most of this work I did was very backend-heavy - I was not and still am not complaining, something about writing business logic hits the spot for me. The app we built was called "the best tool we have used so far" by the consumers. It was an amazing feeling to say the least.

11 is where I thrive

Over the past year, I have come to realize that 11 is where I thrive. I haven't had a single moment since joining this team, where I have felt at ease (and I mean that in a good way). I'm constantly learning new things whether it's related to work, or just tech in general.

But you might be wondering - did I really learn anything new? I know for a fact I did. There are so many things I would do differently at the startup if I had the knowledge I have now.

The next 1 year

I really do not know what I will be doing a year from now, but I know for a fact that if I don't get to turn it up to 11, I will eventually just lose interest in whatever it is I will be doing. I'm not a veteran in the field, I'm a rookie that wants to find his footing, and 11 is where I will find it. Not 9, not 10, but 11.

Thank you for reading my first attempt at a proper blog post. I don't have comments on this site yet, but if you want to talk about what I wrote here, or just anything at all, feel free to reach out to me!