2021 Year in Review
Entering the Workforce – Sudo
From starting my internship in 2015 until now, over six years have passed before I even realized it.
In my junior year of college, an opportunity led me to become an intern at Sudo. For more details, you can refer to the articles I wrote on Medium and an article once written by Denny.
At the time, I was still very unfamiliar with frontend development, lacked experience, and was essentially still in the phase of merely absorbing information.
The software development community has no shortage of prodigies who started coding and freelancing at a young age. My own understanding of programming stemmed from my major—Information Management. It wasn’t until my university courses that I gradually began to understand the mechanics behind web development.
There were many things I didn’t handle well back then; my data structures and algorithms were a total mess, and I didn’t even really understand why I had to learn such boring stuff. Now that I realize the importance of these fundamentals, I do feel quite a bit of regret.
However, thanks to the internship experience, I became one of the more experienced individuals among my peers (though of course, there were plenty more experts at Taiwan Tech).
The engineers at Sudo were developers truly passionate about technology. I was fortunate enough to work with cutting-edge tech early in my career—technologies like React when it was still very young (back in its 0.x versions), Redux, Webpack, and RxJS before it even caught on in Taiwan.
The Second Startup
After Sudo shut down, I joined another startup where I was responsible for maintaining the platform’s website and developing new features.
The development work was fairly standard. Because it involved responsive web design (RWD), there were more factors to consider, making writing CSS a bit more challenging.
Beyond frontend development, I helped design layouts for email newsletters and even tried introducing Heaven—an automated deployment tool for Ruby on Rails.
The website’s frontend foundation was relatively solid. With SCSS, it was much easier to maintain, and I spent a smooth, stable year continuously developing and learning.
Looking back, that period went by quite fast. Every day was spent heads-down building web pages, slicing layouts, and shipping new features. I really loved web development back then: I’d read web dev articles over lunch at work, and catch up on new knowledge or modern CSS techniques after getting home.
Founding Japanese Yaoya
It was also during this period that I founded Japanese Yaoya Weekly. I built my own newsletter service using Ruby on Rails to send out my Japanese study notes and curated articles on Japanese culture to subscribers.
In the beginning, I spent almost every week agonizing over what content to curate. My life was essentially working, writing the newsletter, relaxing on weekends, and rushing to meet deadlines. I still remember sitting on the bus every Monday morning, constantly checking the metrics of that week’s issue to see which link got the most clicks.
After building up more frontend experience, I started filling in my computer science knowledge gaps. I took courses like CS50 and nand2tetris, tackled Introduction to Algorithms, studied system design, and more. It was during this period that my own perspectives and taste in technology began to take shape.
Joining 17LIVE
After working there for a year, I joined 17LIVE.
At the time, because I had failed some internship, general education, and required credits, I had to delay my graduation by a year.
After discussing this with the hiring manager, I was lucky enough to receive an offer, and they were willing to take me on despite my situation. Looking back now, it still feels incredible.
Time flew by at 17LIVE. Every day, I genuinely looked forward to going to work—chatting on Slack, debating tech, having lunch together, and sharing bits of daily life. Finding a group of colleagues you click with so well at a company is such a rare and precious thing. Even now, I still miss the days of building things, discussing tech, and shooting the breeze together.
Initially, my work mainly involved building campaign landing pages. During that time, I brushed up on various SQL topics and discussed all kinds of fancy query-writing techniques with colleagues.
Later, I transitioned to working on internal dashboard systems. Because the backend integration used GraphQL, I had the opportunity to work with the Apollo ecosystem on the frontend, making every day feel very fulfilling. (Looking back now, it might have been a bit of over-engineering, though.)
I still remember spending a whole day refactoring the codebase of the old lunchbox ordering system into a drink ordering system, making it much more convenient (hopefully) for everyone to order boba. I heard it eventually evolved into something handled directly inside Slack—definitely a win!
Afterward, I helped develop and maintain the web version of the live-streaming platform. It incorporated a lot of technologies from the React ecosystem and required handling video streams and complex data flows. On one hand, the senior engineers had already laid down a solid architectural foundation; on the other, I was grateful that my manager gave me the opportunity to take it on.
That period was arguably when I grew the fastest. It was an absolute pleasure working alongside such a talented team. Although I’ve since moved on, we still keep in touch and occasionally catch up over dinner.
Military Service and Reflection
Around May 2018, I enrolled in conversational Japanese classes at JPTIP to prepare for my future plans of working in Japan.
The teachers at JPTIP are all native Japanese speakers, allowing for authentic conversations and making it easier to create an immersive, all-Japanese environment. The only downside was that larger class sizes meant speaking time was divided.
I originally planned to go to Japan on a working holiday visa. However, after talking with friends, I realized going directly on a work visa was also a great path—having two days off each week and a full-time salary would give me more leeway to truly experience life in Japan.
After finishing my university studies, I was drafted into the military.
A four-month service sounds short, but inside the military, each day truly felt like a year. Every single day, I was just counting down to when I could get out.
Since I had registered for the JLPT N1 exam long before, I had to take a day off from my company to sit for the test. Surprisingly, despite cramming in the military during downtime, I managed to pass by the skin of my teeth.
After finishing my service, we planned a two-week trip to Tokyo, visiting Enoshima, Hakone, Tokyo, and Karuizawa. Once back in Taiwan, I focused entirely on finding a job in Japan.
Job Hunting
Since I had already set my mind on going to Japan, I only considered jobs there. Through headhunters, direct applications, and referrals from friends, I received four offers and ultimately secured a visa. You can check out the detailed process in an article I wrote previously.
While waiting for my visa to be issued, I signed up for unlimited classes at JPTIP and hired a personal trainer for strength training. My daily routine basically revolved around Japanese classes, working out, writing code, and prepping paperwork and logistics for moving to Japan.
Starting work in a Japanese workplace was still quite a culture shock for me. My previous companies were relatively small, and my coworkers were naturally on the same wavelength.
In Japan, however, the first hurdle was the language barrier. Beyond that, not every coworker shared the same values or background, which easily led to friction.
This was something I struggled to adapt to, and communication barriers often left me feeling frustrated.
After reading several books on communication and management recommended by a coworker, things gradually improved, and I became better at communicating and collaborating with people holding different opinions and styles.
Because the company was much larger than my previous employers and had considerably more resources, I gradually learned what a comprehensive product development lifecycle actually looks like.
I truly admire the meticulousness of Japanese engineers when writing specification documents; I really hope this spec-writing culture can be brought to Taiwan as well.
My manager gave me plenty of freedom to pursue what I wanted to do—such as helping introduce CI/CD pipelines, developing new features, setting up a server to introduce SSR, creating internal testing tools, and more. He also had me serve as a Tech Lead on projects, where I was responsible for scheduling, timeline estimations, and providing team members with necessary support.
From the start of my career until now, I feel very fortunate that every manager I’ve had has been a great one, helping me grow tremendously in the workplace.
There was one manager I became especially close with. We played Splatoon together, went to Itoshima to eat pudding, hit up Costco, and shopped for lumber. Whenever I hit a roadblock at work, he was always there to offer support. Although I felt he had room for improvement when it came to project management, all in all, he was a great manager.
He has left the company now, and looking back, I don’t think I ever properly thanked him. I hope we can grab a drink at an izakaya and catch up sometime soon (though lately, I haven’t been drinking alcohol—coffee works too).
Beyond that, taking advantage of the vast resources across different departments, I learned Kotlin, Swift, and various other new technologies. Having colleagues around made it super convenient to ask questions, and if all else failed, I could just look directly at how internal projects were built.
In 2021, I was invited to speak at two conferences. Thanks to receiving an honorable mention in the 2020 Ironman Contest, I seized the opportunity to publish a book, spending the middle of the year rushing through drafts until it was successfully published.
Perhaps having accumulated more experience, my perspective on things seems to have broadened. In 2020 and 2021, I began exploring a wide range of fields—such as Arduino, tinkering with Raspberry Pi, diving into AVR, picking up STM32 dev boards to play with, and learning PCB design and 3D printing. I hoped that beyond frontend development, I could integrate with other domains to create more of what I truly want to build.
Now in 2022, after two years of exploration, I hope this becomes a breakthrough year where I can produce tangible results.
Related Posts
- 2025 Year in Review My wish for myself in 2024 was to avoid returning to a corporate job in 2025 while still being able to support myself. Although I didn't achieve that goal, I consider 2025 to be one of the biggest years of growth in my life.
- 2024 Year in Review & 2025 Outlook Instead of forcing myself to set rigid goals this year, I want to take a different approach to reflect on my 2024 and share my hopes for 2025. Moving forward to become a better version of myself.
- 2021 Year in Review I originally planned to organize everything I did this year and write a post about it, but after gathering my thoughts, I realized there wasn't really that much worth bragging about. So I decided to just record things casually like a running journal.
- 2020 Year in Review — Tech Edition Looking back at the tech-related things I did in 2020~