The same day I became a father, I became a software engineer.
This wasn’t the plan.
Back in school, I was fascinated by AI’s potential to change the world. My first machine learning class was taught by Prof. Hsuan-Tien Lin at National Taiwan University. We covered everything from Occam’s Razor to the curse of dimensionality. We built toy neural networks from scratch (this was before PyTorch or TensorFlow were even a thing). Eventually, I became a teaching assistant for the course and later contributed some problem sets to Learning From Data - a Caltech Course hosted by Prof. Yaser S. Abu-Mostafa. Working closely with these fabulous thinkers, the path seemed obvious: get a PhD, become a researcher.
Years later, I landed a PhD internship at Google. It was my first glimpse into AI at scale. The Google infrastructure blew me away. All I needed was a Chromebook—yet behind the scenes, I was orchestrating MapReduce jobs across data centers.
The algorithm itself? It didn’t quite feel like the frontier I had imagined. (Especially now, looking back from the LLM era we live in.)
Then came the moment I met Jeff Dean—legendary engineer and head of Google Brain. His talk was electrifying. But it also made something thing painfully clear: the most groundbreaking work wasn’t necessarily happening inside PhD programs. It was happening wherever three things converged: massive data, advanced algorithms, and serious computational power.
That’s when it hit me: a PhD wasn’t a golden ticket. What mattered more was what you worked on, and how you worked on it—regardless of whether you were in academia or industry.
By then, I had lost interest in my own research in medical imaging. On top of that, my wife and I were expecting our first child. Life was moving, and so was I. I told my advisor I'd finish my thesis remotely for the master's degree I needed to work legally in the U.S.
Starting out in the Bay Area wasn’t easy. We were preparing for a newborn and needed to find housing for a family of three for the first time. During the internship, we had rented a unit with a shared bathroom—something that clearly wouldn’t work going forward.
In the Bay Area, rent was high even for a single-room unit, and most apartment complexes either asked for a six-month deposit or proof of a full-time job. I had neither. All I could offer was: I interned at Google, I’m actively interviewing, and I promise I’ll pay rent on time.
I was doing everything I could—sending out applications, interviewing—but time was running out. As my wife’s due date approached, our savings were almost gone. In a moment of despair, I even stood in line to apply for a “white card” (public assistance). But looking around, I saw others who needed the help more than I did. I walked away.
On the day my child was born, I got a phone call from a fintech startup. I got the job.
I was thrilled, but I asked to delay my start date by a few days to focus on our newborn. When our $2,400 rent came due, I had only $240 in my account. I started work just in time to cash my paycheck and cover the rent.
That’s how my career began—not in a research lab, but in the real world, where systems are messy, constraints are real, and every line of code counts. I started as a full-stack engineer. Not the path I expected, but exactly the one I needed.
A colleague at Anthropic recently told me that Learning from Data—the same NTU class where I was a TA—was his very first machine learning course. He still remembers grinding through those SVM problem sets. He encouraged me to take his GPU class at MIT. Like me, he also left his PhD behind. Funny how those early foundations ripple forward in ways you never expect, connecting paths that seemed completely different at the time.
This is Liu’s Log—a space where I write about the edge of tech and the stories that stick. If that resonates, I’d love it if you subscribed.