2022 in review

Wow, another year has passed. And now another review.

It's time for the list, that I usually compile monthly for my newsletter.

January

February

March

April

May

June

July

August

September

October

November

December

Work and unemployment

After working for almost 3 years with work-from-home and sometimes-work-from-office arrangement, it gets pretty tiring. The first year (2020) was cool as everyone starts to learn how to juggle things around. The second year became pretty distressing for me, especially when I got hospitalised (not due to that disease).

This year is supposedly better in many ways as it's almost "post-pandemic" with lesser restrictions, but the tiredness start to kick in for me. A lot of things happen, a lot of problems to be solved, a lot of uncertainties. Despite seeing other folks moving on with new plans ahead, I felt like I'm stuck. In this pandemic or post-pandemic sense, I feel like I'm still in 2020. In the career side of things, I feel like I've been stuck for more than 10 years.

On April, I tweeted:

Been working for 16 years (first web dev job, excluding my part-time freelance work while schooling) Seems like my career ladder has been flat for the past 10 years. Maybe my approach has been wrong all the while.

There's a few good replies, though sadly some were like "me too" answers 😢.

On July, I posted this on Hacker News, answering the question for "Ask HN: Where are all the senior front end engineers?":

I'm a senior FE engineer in Singapore, been doing FE since 2000, here's what I think:

  1. Job descriptions and interviews now are skewed towards "full-stack" or backend. Most interviews are lacking or outdated due to the fast and volatile nature of FE.
  2. Literally no career progression if you're specialised in FE. Most BE or "full-stack" devs will be given a chance to become principal engineers, tech leads, engineering managers, CTOs, etc. I've seen folks with "FE Team Lead" titles but never goes beyond that.
  3. FE is a subconsciously looked-down field. Neither a designer nor an engineer. Product/design team won't involve you in meetings (but will treat you like a code monkey). BE/"full-stack"/API engineers will think your job is easy and keep throwing business logic stuff to FE.

This got reposted on LinkedIn and gained quite a few reactions.

Overall, I'm not really looking for an answer. These are just rants. It may not apply to all other companies and of course, there are many other factors besides these areas. I can complain all day long but life goes on and I'll still need to do what I need to do. These feelings probably have escalated due to anxiety and recent incidents all over the world.

I needed a break.

So I quit my job and became unemployed since July. It took quite a long while for this feeling of unemployment to kick in, after all these years of working from home. When I have a job, I work from home. Now that I don't have a job, I'm still… at home 😂. I guess it became very obvious that my work and personal life are not properly separated.

I've talked with a few people and there are two kinds:

  1. People who also felt like quitting and asking me how I manage to quit without any plans, regarding my career and my budget to sustain 😅.
  2. People who told me they've done it before, and it was liberating for them 😇.

This isn't the first time I have a career break. My first time was in 2015. I personally describe it as "school holidays for working adults". At that time, I travelled to Tokyo and San Francisco. This time, I chose not to travel anywhere. I get asked why a lot of times and I mention that travelling is actually more tiring. I mean, it's tiring in a good and enjoyable way, but I don't need that now.

Being unemployed is a double-edge sword. It feels great not to think about work, but at the same time, it feels bad because everything needs money and it gets worse with the recent wake of mass tech layoffs. I personally know how this feels, not very affected by them, and have learned to prioritise my own mental health. I don't have the capacity to save others if I don't save myself first.

It's been 6 months of unemployment. I don't have plans yet but I'll just do what I can do.

Projects

This year started great for my side projects.

On January, Wordle became popular, so I made my own variant of Wordle called Chengyu Wordle and it got mentioned by the Prime Minister 😱!

Facebook post by Lee Hsien Loong, with the content “Many Singaporeans have joined in the fun of playing Wordle - an online word puzzle game, where the goal is to guess a five-letter word within six tries. This game has become such a viral sensation that it was recently purchased by The New York Times. I’ve even noticed some ministries and agencies using the green, yellow and grey squares to liven up government messaging! I was pleasantly surprised to find out that there are Chinese and Malay versions of the game. Give it a go – a simple but fun way to keep the mind engaged. Original https://www.powerlanguage.co.uk/wordle/ Chinese: https://cheeaun.github.io/chengyu-wordle/ Malay: https://www.projecteugene.com/katapat.html – LHL”

I was thinking of printing this screenshot and hang it on the wall or something 😂.

On June, I made a Spiral Emoji Wallpaper Generator. It got quote-tweeted by @hrdbacot, a Twitter user account with 800K+ followers 😱.

Twitter post by @hrdbacot, quote-tweeting my tweet about my Spiral Emoji Wallpaper Generator project, with a generated wallpaper of spiralling "🙏" characters. The quote-tweet received up to 200+ retweets, 30+ quote tweets and 600+ likes.

This was super fun and hilarious, as I could see how others were playing around with the wallpaper generator.

On December, I soft-launched a new Mastodon web client called Phanpy. It was also mentioned by Tobias Bernard which gave it a lot more attention. 😱

Mastodon post by @cheeaun, soft-launching a new Mastodon client called Phanpy

I spent quite a good chunk of time on this, typically enjoying the process as it reminded me of the time when I was building my own Twitter client 13 years ago.

As always, I learn a lot whenever I work on new side projects. Many more to come.

3D Designs

Last year, I made quite a bunch of 3D-based maps. I'm especially proud of my Apple-Maps-like 3D trees work 🤩.

This year, I went all in 🏋️‍♂️, using a cool 3D design tool called Spline.

Geekcamp logo

I designed the Geekcamp logo back in 2017 and has been wondering if it would look cool in 3D. So, here goes…

Geekcamp logo in 3D, cartoonish look
Geekcamp logo in 3D, cartoonish look with outlines
Geekcamp logo in 3D, cartoonish look with glass effect
Geekcamp logo in 3D, cartoonish look from a different angle
Geekcamp logo in 3D, with glass effect and dark background

At this point, I thought to myself, why not a 3D Pac-Man? 🙈

Geekcamp logo in 3D, with 3 Pac-Mans hanging out around a campfire
Geekcamp logo in 3D, with 3 Pac-Mans hanging out around a campfire, on Singapore island

TraceTogether otter

I wanted to draw a 3D model of a cute animal and somehow TraceTogether's oTTer mascot came into mind 🦦. It's a conversion of 2D art to 3D art.

Otter in 3D, front view
Otter in 3D, tilted view
Otter's face in 3D
Otter in 3D, side view
Otter in 3D, bottom view
Otter's face in 3D, again

It's also animated! 🤩

Otter in 3D, swimming, animated version

This sort of "went viral" on Reddit /r/singapore (2K+ upvotes), my TikTok video (34K+ plays) and my LinkedIn post (600+ reactions, 43K+ impressions) 😱.

Bun's mascot

After designing the otter, I wanted to try another simple mascot to further spruce up my skills. Bun is a fast all-in-one JavaScript runtime and this is the mascot:

Bun's mascot in 3D, animated

Cute.

Monument Valley level 1

I wanted to try something isometrical, especially ever since my attempt at designing the artwork for RedDotRubyConf in 2016. Monument Valley (game) is definitely something I really, really, really want to try replicating 🤤.

This is a tad more challenging but I manage to re-draw the whole Level 1 of Monument Valley game 🤩.

Monument Valley level 1, in 3D
Monument Valley level 1, in 3D, zoomed-in view

Okay, these probably look like screenshots from the game, right? Wrong. The cross handle is clickable to rotate the path!

Monument Valley level 1, in 3D, with a clickable handle that rotates the path

Rotatable too.

Monument Valley level 1, in 3D, rotatable

I've uploaded a full 5-min time-lapse video of remaking the 3D models from Monument Valley on YouTube, to prove that I actually made them from scratch. 📹

My hand

Okay, this is not a logo or a mascot. Just my hand because I wanted to draw something more complicated. I didn't quite finish this one because there's just too many details 😩. I got pretty close though. 🤚

My hand in 3D
My thumb in 3D

Look ma, one hand!

Microsoft Windows' 3D Fluent Emoji

I reverse-engineered (reverse-designed?) Microsoft's open-source 3D Fluent Emoji. They designed it in 3D but didn't really share the actual 3D files, possibly made in Maxon's Cinema 4D.

I took up the challenge to recreate them in 3D, by referencing the 2D artwork, starting with the most basic "😀" emoji.

Microsoft Windows 3D Fluent emoji; left one showing the 2D art of "😀" emoji, right one showing the 3D version of "😀" emoji
The "😄" emoji in 3D, zoomed-in to the eyes
The "😄" emoji in 3D, zoomed-in above the eyes

The shadows look like freckles there. Subtle yet refined 🧐.

I made a 11-minute time-lapse tutorial video on YouTube.

UI-licious logo

Back to another logo and this time it's UI-licious, a local startup working on a low-code tool for automating UI testing for your websites across browsers (This is not sponsored 😆).

Their logo looks easy for me to test other things out, so why not?

UI-licious logo in 3D, front view
UI-licious logo in 3D, tilted view

Shiny! 💅✨

Again, I made a 6-minute time-lapse video.

Golf game

On September, Spline added physics and I really got to try it out! I made an interactive golf game with a weird slope to prevent the golf ball from falling off the edge.

I accidentally learned how to name parts of a golf club like shaft, clubhead and grip. Even the thing that holds the the golf ball is called a tee.

Golf game in 3D, showing the UI for naming the 3D objects

Yes, I name my layers properly 😉.

Conditional Logic

On October, Spline introduced Conditional Logic, which feels like programming but for 3D objects! 🤩 I played around with it and made some sort of disk trying to make sure the ball doesn't fall over.

I made a 6-min time-lapse video, basically just trying to keep the ball from falling over 😆.

I probably should've written another blog post dedicated to my 3D designs, but I had so much fun that I don't even feel like writing anything. 🤣

Looking back

Flower Dome, Gardens by the Bay, at night in Singapore

Instead of just this year, I start to look back further. I've been thinking about my whole career, my personal life, relationships, friendships and my passions.

I'll be hitting the big four-oh in 3 years (well, actually 2).

It feels kind of scary.

As others have moved on, getting promoted, trying out new roles, gained more responsibilities, moved out from their parents' house, got married, had kids, migrated to other countries, bought a new house, joined another company or found a new one, I feel… stuck.

It's hard to resist the urge to compare with other people's lives, even though I've always been doing things at my own pace.

It was quite timely when I saw this post on Hacker News: "Ask HN: Has anyone here turned around their life in their 40s?". Some responses mentioned that we're not alone as everyone else are also having same thoughts in varying difficult situations. Some people had worse, managed to turn things around and having a better life now in their 50s.

This career break is like pressing the pause button for me to think about what to do now and what I want to do in the future. Honestly speaking, nothing comes into mind, as I'm slowly re-adapting and maybe undoing all the things that has changed in my life thanks to the pandemic. They are not really big changes, but small ones add up.

I do know that no matter what happens, I need to do something. Nothing will change if I don't take any actions. In fact, things around me are constantly changing while I'm doing nothing, and these things will ultimately force or influence me to do something.

Oh well, looking forward to more uncertainties ahead.