A new chapter, from the previous chapter
Every chapter has a beginning. The journey of a thousand miles starts with one step. Today I start a new journey(or really, it started a few weeks ago, today I am just making a public commitment).
This month of April 2024 marks my last month of employment. I started working for Smartpension in the summer of 2022, relocating to London, UK, from Alkmaar in the Netherlands, where I worked for Bettyblocks alongside 30-some other engineers.
I had a short stint in the Netherlands because, after working with them for a few months, I realised it may not have been the right fit for me given the technologies they used. I know we're all tech-agnostic and all, but somehow I just could not get myself to enjoy working with Elixir at Bettyblocks.
Elixir definitely has a lot of good parts. I have worked with many languages and had no issue with them - Python, Golang, C, C++, Javascript etc. Elixir just somehow didn't stick. So when I got the earliest chance to exit, I jumped ship.
Joining Smartpension and having to work with Ruby was such a joy. I had to relocate again but I was more than happy to. Relocating from country to country is such a hectic sport, perhaps someday I will share more about it, but it's a lot! And so funny at times as well, every country has its quirks.
I joined an investments team at Smart. It was a domain I had no idea about - lots of business and investments lingo here. I also had to learn how investments work in the ground, and it's a lot! In fact wo years later, I still had not grasped everything there is in that space.
But basically, my team, being part of other teams on the investments domain, was responsible for writing software that enabled our core product offering, pensions, to offer our members investment opportunities with their pension money! It was a pretty interesting space.
I also had one really cool team. My team lead was a Samson of Ruby code, he had about twenty years of Ruby experience and could write really sweet idiomatic Ruby! It was sad to see the whole team get let go all at once. But I know they will all go on to do great things.
It was a purely backend role, so my role involved, majorly - creating, reading, updating and deleting investments data (CRUD oh yeah). That was basically it. It may sound bland, but it wasn't. One lovely thing we did was to scope out some functionality of our domain into it's own gem, mostly because this functionality was re-used in projects, so we had to duplicate code every time. But after this gemification, we only had to install the gem everywhere it was used! This work inspired me to create my own blogging gem later on.
I forgot to mention, it was a 100+ engineering team, so we had well established best practices and such. We also had some cool principal engineers who seemed to know everything! I learnt a ton from these folks. But to summarise, it's that to be a well established engineer, you need to not only write good code, but be able to see how your code affects number one the business and number two other teams and three your own team.
You have to start seeing things holistically and not just as mere tasks to be done and checked. What is the impact? Who is the beneficiary? Do we have to do this right now? Do we have to do this at all? The goal is to have the most impact, with the least of effort, while still keeping other important factors such as performance and efficiency intact.
You also have to learn to have a "reviewer's eye" when reviewing other people's code. You have to understand what the author wants to achieve here (and sometimes that is different from what the task was supposed to achieve!), and once you have a good understanding of that, you can review if the code does that and if it does it rightly.
I could go on and on, but my pen is running out of ink so let me halt it there. All in all these past two years have been great. I am grateful for the chance to experience the UK for the first time in this manner. I am confident more and even better things will come out of this. So let's see what the next chapter looks like! Come with me as I will keep sharing more from this series.
This month of April 2024 marks my last month of employment. I started working for Smartpension in the summer of 2022, relocating to London, UK, from Alkmaar in the Netherlands, where I worked for Bettyblocks alongside 30-some other engineers.
I had a short stint in the Netherlands because, after working with them for a few months, I realised it may not have been the right fit for me given the technologies they used. I know we're all tech-agnostic and all, but somehow I just could not get myself to enjoy working with Elixir at Bettyblocks.
Elixir definitely has a lot of good parts. I have worked with many languages and had no issue with them - Python, Golang, C, C++, Javascript etc. Elixir just somehow didn't stick. So when I got the earliest chance to exit, I jumped ship.
Joining Smartpension and having to work with Ruby was such a joy. I had to relocate again but I was more than happy to. Relocating from country to country is such a hectic sport, perhaps someday I will share more about it, but it's a lot! And so funny at times as well, every country has its quirks.
I joined an investments team at Smart. It was a domain I had no idea about - lots of business and investments lingo here. I also had to learn how investments work in the ground, and it's a lot! In fact wo years later, I still had not grasped everything there is in that space.
But basically, my team, being part of other teams on the investments domain, was responsible for writing software that enabled our core product offering, pensions, to offer our members investment opportunities with their pension money! It was a pretty interesting space.
I also had one really cool team. My team lead was a Samson of Ruby code, he had about twenty years of Ruby experience and could write really sweet idiomatic Ruby! It was sad to see the whole team get let go all at once. But I know they will all go on to do great things.
It was a purely backend role, so my role involved, majorly - creating, reading, updating and deleting investments data (CRUD oh yeah). That was basically it. It may sound bland, but it wasn't. One lovely thing we did was to scope out some functionality of our domain into it's own gem, mostly because this functionality was re-used in projects, so we had to duplicate code every time. But after this gemification, we only had to install the gem everywhere it was used! This work inspired me to create my own blogging gem later on.
I forgot to mention, it was a 100+ engineering team, so we had well established best practices and such. We also had some cool principal engineers who seemed to know everything! I learnt a ton from these folks. But to summarise, it's that to be a well established engineer, you need to not only write good code, but be able to see how your code affects number one the business and number two other teams and three your own team.
You have to start seeing things holistically and not just as mere tasks to be done and checked. What is the impact? Who is the beneficiary? Do we have to do this right now? Do we have to do this at all? The goal is to have the most impact, with the least of effort, while still keeping other important factors such as performance and efficiency intact.
You also have to learn to have a "reviewer's eye" when reviewing other people's code. You have to understand what the author wants to achieve here (and sometimes that is different from what the task was supposed to achieve!), and once you have a good understanding of that, you can review if the code does that and if it does it rightly.
I could go on and on, but my pen is running out of ink so let me halt it there. All in all these past two years have been great. I am grateful for the chance to experience the UK for the first time in this manner. I am confident more and even better things will come out of this. So let's see what the next chapter looks like! Come with me as I will keep sharing more from this series.