New Software Engineer in Training (4): Promoted to Mid-Level Engineer, Quitting to Start a Company (Finale)
¶ Foreword
Without realizing it, it’s been almost three years since I entered the workplace. This series, “New Software Engineer in Training”, has also approached its end as I continued to improve. Today I’m no longer the clueless newbie engineer who just started working. After these years of training, I successfully got promoted to a mid-level engineer.
As my capabilities improved, my growth within the company gradually slowed down. Mujin is a good company, but I need a better stage. Around the same time, a friend invited me to start a company around AI. After carefully evaluating things from multiple angles, I decided to join the startup and go all-in!
This series:
- New Software Engineer in Training (1): My First On-the-Job Experience at Mujin in Japan
- New Software Engineer in Training (2): Workplace Socialization and Survival
- New Software Engineer in Training (3): Breakthrough Growth and Becoming an Open Source Maintainer
- New Software Engineer in Training (4): Promoted to Mid-Level Engineer, Quitting to Start a Company (Finale) (this post)
(A photo with the Mujin backend team when I resigned. Over my three years at Mujin, coworkers came and went, and the team looked very different from when I first joined.)
¶ Finishing the book
Starting last year, I spent a full year writing Programming Is More Than Just Writing CODE!. Fortunately, it even ranked on the bestseller list for three months. I recorded the details in “How hard is it to become #1 on the technical book bestseller chart? My one-year writing journey for Programming Is More Than Just Writing CODE!.”

(Screenshot from Tenlong Bookstore. Ranked #1 in January 2025.)
Finishing this book was a huge milestone in my life. I realized a dream I had as a student, and I believe this book will become the “bible” of CS fundamentals in the Chinese-speaking world. Reality repeatedly proves the necessity of writing this book: after I finished it, former coworkers and new coworkers kept asking me questions that are already covered in the book. Since I was still a student, I already knew this book would stand the test of time.
Originally I planned to record a series of tutorial videos to pair with the book, but I haven’t executed on it. The reason is simple: writing books doesn’t really make money. Education itself is more like doing public good, but I also want a more stable stream of passive income, and videos are more promising for that. Books and videos complement each other too—they can make the entire learning package more complete.
The idea is there. Now it’s just a matter of when I’ll act. I also thought about writing a book for years before I actually started. But if an online platform invited me directly, I could start immediately (lol).
If you still haven’t bought the book, go grab a copy!
¶ Permanent residency
Thanks to Japan’s Highly Skilled Professional points system, you can apply for permanent residency after just one year. After waiting one year and seven months, I finally received my permanent residency status. Under this system, the status is basically tied to your company, so once you get PR, you’re essentially free. I can live in Japan indefinitely, and I can change jobs freely—perfect timing to look for my next opportunity.
Strictly speaking, because my wife is Japanese, my status wouldn’t have been a problem anyway. But PR holders only need to renew their status every seven years (a spouse visa is usually three years). And if I want to buy a house or start a company, having my own status directly is the most convenient.
Being able to apply for PR after just one year is incredibly generous. And if you’re not in Tokyo, in places like Fukuoka or Hokkaido, PR might even be granted within half a year. For highly skilled immigrants, this is a great opportunity. Getting to the 80-point threshold is not as hard as you might think. There are many bonus categories, and even if your “innate stats” aren’t good, you can make up points later by passing Japanese language tests, technical certifications, and so on. Overall, I think Japan is very attractive in terms of immigration policy.
¶ Promotion to mid-level engineer
At Mujin, engineering levels can roughly be divided into E1, E2, and E3. If you map that to Google, it’s roughly like L3, L4, and L5. You can think of it as junior, mid-level, and senior. When I joined Mujin, I was a new grad, so I started at E1. I had been waiting to get promoted to E2. When I wrote my previous post (two years of experience), I already felt I should be promoted. Later, at the performance review around 2.5 years, I finally got promoted. This promotion didn’t come with tangible benefits—no raise, no management promotion—but it still felt like recognition and self-fulfillment.
In my third year at Mujin, I could basically take on any big task. My manager would throw me tasks that were all over the place, simply because he knew I could handle them. The promotion itself wasn’t really in doubt, because I could clearly feel my skills had surpassed what a mid-level engineer required. For example, I had a strong understanding of Mujin’s overall system architecture. Implementing a new feature within a complex existing system was no longer a problem. I had also independently built two large systems inside the company. My coding fundamentals were solid. I was confident my code met a certain quality bar. And with my current ability, I should have no trouble mentoring a few junior engineers. In my view, these are the key factors for evaluating whether someone is mid-level. My only weakness is probably still my English—it’s still kind of bad even after three years, with little improvement.
Even though I got promoted on paper, I felt I had hit a bottleneck at Mujin, both in compensation and in title. I believe I could challenge for at least a 30% raise, and I already met the conditions to become a team lead. At Mujin, in general, you can become a team lead once you reach E2. But at that time, there was no opportunity. Some coworkers around my age who didn’t go to grad school joined the company two to three years earlier than me. They happened to catch the perfect wave (rapid org expansion and reshuffling) and got promoted twice within just three years (first to team lead, then to manager). Meanwhile, I might have to wait another one or two years just to become a team lead. The company’s growth had slowed, and hiring was mostly for senior engineers. With fewer new hires, there was also less need to appoint new team leads. I ended up stuck in an awkward “not up, not down” position.
There are two general career tracks for engineers: the management track and the pure technical track (individual contributor). For me, the former feels more meaningful. First, I’ve always dreamed of starting my own company in the future. Second, I believe an individual’s strength is ultimately limited; the ability to lead and multiply through others has limitless potential. That’s why I believe it’s better to start building management skills earlier. Starting as a small team lead and mentoring one or two junior engineers would be a very good beginning—and Mujin clearly couldn’t meet my needs.
Whether you can keep climbing up isn’t only about effort; luck and opportunities matter too. Of course, you also need to be prepared. My later manager was lucky: he joined Mujin before the company’s rapid growth, and with his effort plus that growth wave, he secured a strong position. Now I needed to find my own opportunity—and fortunately, a great one came along!
¶ Starting a company
Since college, I’ve dreamed of becoming a business owner. In college I attended countless entrepreneur talks and read countless entrepreneur biographies. I always felt that in the future, I had to start a company and build something big for it to feel “cool enough.” But at the same time, I also realized I’m somewhat comfort-seeking. A high-pay, low-stress job close to home doesn’t sound that bad either. These two opposite mindsets kept battling inside me: sometimes pushing me toward a more ambitious direction, sometimes pulling me back toward a comfortable, ordinary life.
A few months ago, Ryan stepped in and broke this balance directly. I’ve known him since college. He understands my personality, and he knows I’ve always wanted to start a company. So he came to me with an AI startup idea. At the beginning, I still resisted. Humans are like that—we fear the world outside our comfort zone. Starting a company used to feel so far away from me. I wasn’t even prepared. But when are you ever truly “prepared”? I had no confidence at all in that question.
This is Ryan’s third startup. He failed once and succeeded once. That successful startup gave him enough momentum to come find me for his third venture. At first, I started part-time while being skeptical. Gradually I began to feel that this is exactly what I want to do. AI—or what you might call Software 3.0—is the wave of the coming years, a genuinely transformative new technology for humanity. We’re standing at a historical inflection point. We have to go for it—there’s no other choice.
Another reason I was willing to commit is the people. Ryan’s business experience combined with my technical ability is a classic startup pairing. And I believe this team is strong; success or failure will largely come down to execution.
So I decided to join full-time, and together with Ryan I founded Datra AI. The name comes from Data + Era: the AI era is built on massive amounts of data, and it also reflects the reality that Datra AI focuses on building vertical AI products, which requires a lot of data. Our first AI product will be built on the Shopify platform.
There’s a saying: “You cannot earn wealth beyond your cognition.” It explains why perspective and knowledge matter. After starting a company, I gained a deeper understanding of capital markets. Money and valuations no longer feel impossibly distant. Ryan and I aim to make Datra AI a $1B AI startup. In the past, that number felt astronomical. Now, I think if we work hard, it’s absolutely possible.
Datra AI is hiring (Taiwan, Japan). We welcome generalist engineers. The work includes frontend/backend development, AI model training, operations, UI design, and more. If you’re interested in AI, have a strong startup drive, and love software development, feel free to reach out to me!
¶ Conclusion
For software engineers, it’s pretty normal to change jobs every two or three years. After staying at Mujin for almost three years, I left to start a company. When I resigned, I felt a strange sense of sadness—it was my first full-time job, after all. But at the same time, I’m excited about the future. After solid training over the past few years, I believe I can walk a steadier, smoother path in the startup world. Whether Datra AI ultimately succeeds or not, I won’t regret choosing to start a company today. Life is more fun when you take risks!