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!
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 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?
Well, apart from "logistical" reasons, 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 2 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 a seemingly simple task - upgrade some of our services to use the new LTS of the runtime. How hard could that be? Right?
Well, the upgrade itself was simple. I just whipped up a bash script to do the "steps" for me. But then I realized, I had no idea how to make sure the upgrade didn't break anything. "Well once I raise the PR, someone will verify the changes. I can get some input from them!" - thankfully I did lol.
Things were a little quiet over the next few weeks, with me just upgrading the services, and verifying the changes. But then my manager told us about this new application we need to build - a finance reporting system . From a high level, it seemed pretty straight-forward since we store events for everything. 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 on to finish this new app, I feel like I learnt more about the system that 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), I learnt the nuances of working with GCP's Cloud Run, Secret Manager, and all the other things and how Terraform behaved. 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. I understood why fixup commits are so so so much nicer than a new commit. 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 for finance reporting 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. Command Query Responsibility Segregation, Domain Driven Design, Event Driven Architecture, Event Modelling, nuances of the serverless ecosystem, and so much more that is simply a lot to mention here 😆
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 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!