Skip to content

2023 Recap

Posted on:December 31, 2023 at 03:00 PM

It has been possibly the most impactful year in my life in terms of growth. With the lack of any recent blog activities… I’ve decided to write a recap of 2023, and where I want to go from here.

Table of Contents

Open Table of Contents

Switching to a new job

If I had to choose exactly one event that had the single most impact in 2023 for me, it would be switching to a new job. I had been working at my previous company for exactly a year, finally getting a grasp of how I should work as a software engineer.

2022 - Backend Engineer for FinTech

Although this probably belongs in a 2022 recap, to summarize what I learned from my previous job:

Luckily for me, the company culture for software engineers was extremely friendly towards for tech-savvy people, which enabled me to learn a lot of things that I would have never been able to learn in a typical company. I was freely talking with seniors from other frontend / backend / data engineering teams, which heavily grew my interest in the field of software engineering itself. Prior to this my sole field of interest was in competitive programming & game dev, but this free-talking culture helped me start to appreciate different fields of software engineering, and more importantly, I was actually having fun discussing all sorts of topics with my colleagues. I was thankful I could work there; not because of the pay, but because of the people I could work with.

However, disaster struck. The company was affected by numerous search and seizure operations due to an allegation regarding the connection with the downfall of Terra/Luna, an infamous cryptocurrency that had a huge crash in the middle of 2022. Our team was disbanded, I had to work at a separate team for a while(which still had the same culture with the same great people for the most part), things started to look worse as time went on. When the atmosphere was becoming tense enough that most of the great people I looked up to were leaving the company, I decided to leave as well.

After a few months of applying to a few positions, I was lucky enough to find a suitable position at a new company. Despite their somewhat infamous reputation for a high hiring bar with ‘unnecessarily hard’(This is a story for another time..) coding interviews, after 2 coding tests and 5 interviews, I was able to join the company.

2023 - Software Engineer @ Moloco

My new workplace, Moloco

My new job was a complete 180 from my previous job. Although I wasn’t hired for the exact job description of what I ended up doing, I basically worked as a fullstack engineer for an internal experimentation framework/library that was used by the entire company. The framework was responsible for handling statistical distribution & parameter injection of various experiments applied on the company’s services, mostly focusing on all kinds of A/B tests. The team was also providing a data analytics dashboard for these experiments, where managing it was also a part of what I was doing. Due to the scale of the systems I was working with, the way I ended up working was a lot more conservative compared to my previous job.

The single most major difference that I have been feeling ever since I moved to a new company, is that I was extremely lucky at my previous place to find such colleagues that I can freely share technical knowledge with. The healthy exchange of knowledge and ideas, both related / unrelated to work, with no barriers regarding higher seniors(in fact, one of my most favorite people to talk to was the CTO), is something that I have been missing for a long time now. It is not to say that my current colleagues are bad, they are excellent teammates in terms of technical skills and teamwork, but it was only very recently that I was able to find a single similar person that I could feel the same bond with.

However, this doesn’t mean that my decision of moving to a new workplace was bad. In fact this was the single most helpful move I have made in my life that had boosted my growth so much.

Another section of what I had gained in 2023 from my current job:

And in terms of technical skills:

The best I had gained from this experience was a huge boost in the ability to learn. I had to search & learn on various uncommon topics from scratch for various reasons during work, which naturally helped grow a lot of confidence whenever I have to challenge something unfamiliar again. Because I was working on a framework/library, I was no longer fearing doing technical implementations that you would typically use a 3rd party library for. Naturally my interest in open source had grown as well, and I was able to contribute to a few major projects in the past few months.

Open Source

To me, open source is one of those hot buzzwords that people like to tell you whenever you’re trying to learn or improve your skills as a programmer, but rarely know what they are really talking about. I’m glad that several other public figures in the community have also begun to share the same take on this topic as I had for years:

it’s simply not easy to contribute to open source(most of the time), and it’s not something that everyone should be aspiring to do.

Reasons for this are more than well explained in the videos I have linked above, but one of my biggest pet peeves was that people were often telling me back when I was a beginner to “go make a new project” or “contribute to open source” without even knowing what it takes to actually do a meaningful project/contribution.

Open source is hard, and rightfully so. Collaborating with a worldwide range of strangers, to create a product that is again used by a worldwide range of consumers(mostly developers) cannot be easy. There’s all sorts of problems you may run into as you take the perspective of a maintainer, problems that weren’t so obvious when your goal was just to make a few simple contributions for the sake of it.

However I still had huge interest in several open source projects, for the reasons that they harnessed deep technical knowledge that I was interested in, which cannot be obtained so easily by watching another tutorial or reading some book/article.

Luckily I had a wonderful opportunity to contribute to the Pyodide project, which is a port of CPython to WebAssembly(Emscripten to be exact). One of my colleagues at work happened to be one of the core maintainers of Pyodide, and offered me a helping hand to get started with contributing to the project and learning its internal details. I was able to contribute a few patches to the project, and learned a lot of things that I wouldn’t have been able to learn otherwise.

Due to my lack of experience with the Python ecosystem, I wasn’t able to keep up my interest with the project as a contributor for long, but it vastly helped me getting used to the open source community and the process of contributing to a project, or even maintaining one. I’ve been contributing to a few other projects on my own for other languages as well, and I plan to continue on doing so in the future. Perhaps I may start my own project or aim to become a maintainer of a project for deeper learning, but I’m not quite sure yet.

Community Events

Conferences

After the pandemic, live on-site conferences have finally begun to take place again in 2023. I was able to join a few of them, and it was a great experience to be able to see lots of people who are enthusiastic about the same topics as I am. I’d have to admit: part of the reasons I love to go to such events is the swag provided by the sponsors, which have now taken up a major part of the items I use in my daily life. But I’d love to see more of these events in the future in south korea, as currently it feels like most of these conferences are focused around more generic subjects that often don’t provide much value to me. If I were given the chance to partake in hosting / presenting at such events, I would also love to do so in the future. Perhaps that may become one of my personal goals for 2024.

Aside from local conferences, larger conferences held in Europe or America also highly piqued my interest. Major events such as Github Universe really caught my attention, and I’d love to personally attend such events in the future. I can’t be for certain if I would be able to attend them in 2024, but I’m always looking for others who may also be interested in attending such events, so that we can go together. :)

Hackathons

I have been participating in competitive programming contests ever since I had graduated high school, but I hadn’t really tried other types of programming contests, namely hackathons. With my prior experience with online game jams, I was already quite fascinated by the idea of product development under a competitive environment, so I decided to try them out this year! It wasn’t quite easy to join hackathons while working full-time as most of these events require participants to pull an all-nighter(…), but after seeing some juicy opportunities, I ended up using my PTO just to join them by myself.

Mobility SW Hackathon 2023

This was my first on-site hackathon event that I had decided to join, which naturally brought a lot of excitement. I thought I was more than comfortable with my ability as a developer to take part making the server/web frontend, but things turned out to be a lot different than I had expected. Although most participants including myself had only expected to build a web/native app, the event organizers had a different idea in mind to encourage embedded development.

Because of the huge mismatch in expectation during the event, no one was really able to deliver a product that was satisfactory to the judges, and it felt like the event ended up being a weird disappointment to everyone. I still feel somewhat sorry for my teammates during the event as I had also failed to perform as well as I had expected, but it was a good experience to mentally prepare myself for the next hackathons that I would join.


Junction Asia 2023

Now was the time for my first solo on-site hackathon event. I was able to join a random team before the event through their community discord, and met them for the first time at the event in Busan.

Despite the fact that the event was mostly south korea-based, 2 of my teammates were from Kazahkstan, so I sort of had to act as a translator between my korean teammates in english. Although we had a lot of technical difficulties during the development period as I ended up doing most of the development by myself, we were able to deliver a product that was satisfactory to the judges(thanks to an unique idea that stood out), and we ended up winning the “Track Winner” prize for the event(Essentially 2nd place).

"Track Winner" award for the Junction Asia 2023 Hackathon

It was quite unique in the fact that I had to use a lot of english verbally both during development and in presentation, which is rare of me to do in South Korea. Except for the fact that my physical condition was terrible after the event, it was a great experience that I would love to try again in the future.


Elice AI-Edu Hackathon 2023

I’ll admit: the keyword of this hackathon(“AI-Edu”) felt more like a red flag than anything, as I couldn’t really imagine any creative ideas at all stemming from such a subject. Plus given the nature of AI, it felt like everyone would end up doing something similar with no technical diversity due to the time constraint(24 hours). However, the fact that they held a preliminary round with pretty much medium leetcode problems, and the fact that the prizes were quite attractive, plus only individual entries were allowed, I decided to join.

Because no one was allowed to join as a team, things were looking good for me as I had no time to coax anyone else into joining the hackathon along with me. We had a team forming session right at the on-site event, and got into development right away. I had found a product manager who brought an unique idea compared to everyone else which looked plausible to implement within the given time frame, and also was able to find a decent frontend engineer who had the ability to implement the PM’s design. Since I was comfortable with taking any development role, I ended up doing the backend with 1 other person, and an AI developer who was also a part of our team.

3rd place award for the Elice AI-Edu Hackathon 2023

Despite the numerous technical difficulties we had faced during development, we managed to seize 3rd place in the hackathon, which was an unexpected surprise to me. I was personally very unhappy with the result as in brief retrospect, as so many things had gone wrong that we could’ve prevented from the beginning. Here were some of the things that went wrong which I thought I could’ve done better:

  1. The PM’s idea required good use of LLMs, but no one on our team was sufficiently experienced with it(aside from just making dumb API calls to OpenAI). We should’ve looked for the right experienced people when forming a team for the idea.
  2. Most of the other backend developers at the event were only compatible with a single tech stack: Java + Spring. However, it also happened to be one of my most hated stacks to work with, so I had been neglecting using it for a while. I should’ve been more prepared to use it for the event, since most backend developers in South Korea are only capable of using Java + Spring.

ICPC 2023… and Competitive Programming

I had participated in many competitive programming contests as well during the year, but none really yielded results worth mentioning aside from ICPC as my focus laid more on software development in 2023. Because I was technically not an enrolled student at the time of the contest, I was only able to partake in the preliminary contest which is the qualifier for regionals. Thanks to an amazing teammate(shoutout to my friend lmlmlm!), we were able to safely secure the regional spot, although we weren’t qualified to actually participate in the regionals due to reasons mentioned above.

My personal goal ever since I had joined university was to be able to get a meaningful score in a global programming-related event, such as the ICPC World Finals. The naive reasoning behind that at the time was so that I could be acknowledged as a good programmer by others, but I really had no idea how hard that could be. In fact, I had 0 experience with any subjects related to such events such as competitive programming.

Although my path has now diverged enough to “become a good programmer” by other methods through software development rather than competitive programming, I still feel like I have to give a good last try at achieving my initial goal, to fulfill the expectations of myself from the past. My recent read of the famous “Competitive Programming” book had sparked my interest once again, that I really want to participate in the ICPC world finals during my time at university before I graduate and fully commit to being a developer.

Honestly this feels like a bit of an irrational decision, as seriously committing to competitive programming can be incredibly time-inefficient for my current portfolio & my future goals as a software engineer. But at the same time, it feels like I have never really “fully committed” to anything in regards to programming, to give it my all and see how far I could get myself within a limited time frame. So I would like to present this goal to myself as the ultimate challenge as an undergraduate student; to reach the ICPC Asia playoffs at the very least, and see how far I can get from there. With blessings from the previous 2022 ICPC Gold Medalist… I hope I can make it.