New Beginnings

Given my rollercoaster journey to end up where I am, as a software engineer, I am super excited to begin my NUS masters in computer science this week.

Said roller coaster journey involved slogging 4 years through a degree(industrial/systems engineering, operations research in other countries) that was not particularly useful for landing a job in the tech sector, falling in love with software engineering (thank you CS2103) but not having the courage to switch majors, jumping through several data science internships, landing a job as a data scientist at GovTech Singapore and ultimately transiting to a software engineer (my job title still says “data scientists” but 90% of my work is SWE related).

what I do at work

  • 10% data science experiments
  • 90% coding + writing design docs + performing code review

my transition: (tldr; someone left, i had to take over)

A senior engineer who built up an effective game-changing feature (a query DSL not unlike elasticsearch for our geospatial platform) left and I volunteered to take over the development of that feature.

In a short span of 3 months, I picked up Scala, Vue, Typescript to continue developing those features. Shortly after, my team moved from on-premise to cloud, necessitating learning of Terraform and the whole suite of HashiCorp tools. Over time, I picked up more knowledge on Spark too, since my team worked with huge volumes of data.

Other things I picked up: Go, Flow and React (to write a custom-metric nomad scaler), lots of random linux tools that made life easier like find, grep, tree, nslookup, curl and ssh.

New Habit

Part of the motivation behind writing a tech blog lies in improving my written communication abilities. Also, it serves as a scratchpad for me to ask stupid questions, explore them and post my findings here in hopes that my invisible (perhaps non-existent) readers keep me disciplined.

Content

Most of the blogposts will outline snippets of interesting challenges or findings in either my work (without the sensitive/confidential context, purely technical challenges) or studies. So in the next 4 months, I will be likely to post about networking, algorithms and maybe bits of React as my start adding the front end components to the webserver.

I will likely focus on areas like distributed computing, data compression algorithms, networking, low-level OS-related stuff (all crucial to distributed systems which I am interested in). I suspect my regular dealings with Spark may have resulted in Stockholms’ Syndrome but I do feel very strongly that distributed and parallel algorithms/systems will be the future (given how hardware advancements have slowed down tremendously).