My Tech Growth Journey

How did I start? How did I learn and grow? Where am I going?

Life · Created Feb 28, 2026 · Updated Apr 13, 2026 · 1114 words · 5 minutes read

How It Started

My journey with tech was far from love at first sight. Having attended Cupertino High School, which is right next to Apple headquarter and everyone's dad is at some big tech or another, when I started freshman at CHS, many people around my age already knew how to import opencv and build flask web apps. I knew nothing. I struggled with understanding how for loop works. I felt super left behind.

My dad, being an iOS engineer his entire life, pushed me to grind out the basics in Python while I was confused and feeling left behind. This is the only time in life he pushed me; he never pushed me otherwise. The level of non-interference he empowered me with is rare for Asian parents, and for this one and only time he pushed, he did the right thing.

So from Youtube tutorials, GeeksForGeeks, StackOverflow, and all the goodies before ChatGPT, I learned the basics of Python.

Then, later in freshman year, quarantine hit. I had nothing to do, so I kept playing around with Python. I coded CLI games with input(), TKinter apps, simulation for rabbit population, web crawlers using BeautifulSoup... I built so many random Python programs, and they were so fun. Every time a string is printed on the terminal or an UI box is shown, I get excited.

That became a positive reinforcement loop that still drive me to this day: learn something, build something with what I learned, and enjoy the beautiful product I built; repeat. This reinforcement loop fueled my growth in tech, along with competitive programming and research later on.

Web apps, backend, data, and ML

As I am reviewing my /Users/PycharmProjects to write this part of the blog, I couldn't stop but laugh at all the random things I coded back in the day. Then, the theme converged to building web applications for my school, from TinoCS to UCSBPlat.

Web apps need to store data, so I learned about backend engineering. To process all the events a backend system emits, I learned about data engineering. And to go from analyzing events to predicting future events, I learned about machine learning.

Backend became the love of my life, so many of the later endeavors evolved around backend, from my Bytedance internship to all the database internals, system design, and domain driven design I dived into.

My Skills Now

Here's the summary of my current skillset. I rate my fluency with the following rubrics:

  1. I'm a hobbyist
  2. I can survive an interview
  3. I am at the skill of a full-time engineer
  4. I am at the skill of a great full-time engineer
  5. I can steer an engineering organization in that domain
  6. I am a big name in that domain, like, Yuandong Tian level of fame
  7. I created that domain, like, Geoffrey Hinton or Linus Torvalds level of aura

I do not achieve anything past 4 yet, although I hope to become a 5 in backend engineering later in my career.

Engineering domain Score Explanation
iOS engineering 1 / 5 Built Leetdeal and 2 other medium sized iOS app in high school. Can create a functioning, medium-complex app without ChatGPT. Doesn't know the internals of Swift or iOS behind the scene. Never worked on iOS in real corporate environment.
Web engineering 3 / 5 From all the websites I've built. I can build it without ChatGPT. But they are built using Vanilla HTML + JS + Bootstrap without JS frameworks like React or Svelte. Never worked in a corporate environment on frontend though.
Backend engineering 3.5 / 5 Love of my life. Read and coded so much in backend. Can create a functioning, complex backend system without ChatGPT. Knows about the internals of PostgreSQL, Redis, ElasticSearch, FastAPI, etc. and all the components that come up in backend engineering. Knows about domain driven design and system design. Interned for Bytedance's ecommerce backend team and incoming applied engineering (which is backend) for OpenAI. Built many personal projects with sophisitacted backends. However, at this early point in my career, I am weak with large scale distributed systems and I have never architected enterprise level backend.
Data engineering 2.5 / 5 Absolutely strong in concepts that carry over from backend, like SQL, OLTP and OLAP internals. Read about and used Flink and Kafka in personal projects, but not in a corporate environment. Read about but never used Spark, Airflow, or data lakes. Incoming risk engineering (kinda data engineering) intern at Citadel.
ML engineering 2 / 5 Knows about the internals and implementation of non-neural network ML algorithms, from linear regression to the internals of LightBGM. Used LightBGM in UCSBPlat's grades prediction pipeline with feature engineering and all. For neural network / transformers, I used it in SearchGit for neural retrieval and ranking, but that's just calling API without building it from scratch.
Application domain Score Explanation
Ecommerce 2 / 5 Interned for Bytedance ecommerce, my first project was ecommerce, so I know the basics of this domain. Not very passionate about it though.
Search 3 / 5 I never worked for a search organizaiton yet, but when I built SearchGit, I spent days and nights and read as much as I could on it. And from what search professionals told me, SearchGit's architecture is kinda how a mature search engine's architecture is. Absolutely my passion.
Recommendation 1 / 5 Super passionate about it, read some articles on it, but never implemented a end-to-end recommendation system
Web crawling and scraping 2.5 / 5 How I started! Leetdeal was scraping. UCSBPlat was scraping. So many hours I spent fighting anti-bot measures. Read all about it.

What I Don't Know

Never got hands on with any of these:

  • Hardware
  • Low level kernel stuff
  • Computer security
  • Android, iOT, and other frontends
  • Edge computing

What's Next For Me

  1. Continue learning about ML. I've got to convolutional neural networks now, the goal is to eventually understand GPT training
  2. Continue getting hands on with data engineering. I need to get hands on with Apache Spark and Airflow
  3. Finish writing about backend internals. Lucene / ElasticSearch is underway, then I should write about Redis, Kafka, MiniIO, and FastAPI. Writing them aloud weeds out the black spots in my understanding.

Conclusion

There's many more small things I've built along the way, that I have forgot...

Man, I was a different beast back when I started. I was easily curious. I was easily excited. I sat in my room and code for 12 hours a day. Excluding breaks.

I wish I could stay curious. Stay passionate.