From Frontend Developer to Principal Software Engineer

From Frontend Developer to Principal Software Engineer

My journey is a bit of a bumpy one and full of learnings. I'm so grateful for the experience and the people that help me along the way.

I recently joined a European public company as a Lead Software Engineer. The role is part of the leadership model in the company with a responsibility of Principal Software Engineer and Senior Engineering Manager. It's as challenging as it sounds to shift from being an individual contributor to having a duo responsibility, but I was prepared. I want to share all the resources that have a tremendous impact on my road to tech leadership with you.

My hope is that regardless of your background or where you are in your career, some of these resources here can help unblock you or offer you inspiration when you need them.


  • 👯 Value relationships. Not just with others, but with yourself too.
  • 🚀 Find your leadership style. It multiplies your impact.
  • 🦄 Stay true to your craft. It's the cornerstone of your value proposition.

This article is also available on

Feel free to read it on your favorite platform

Valuing Relationships

Your relationship with yourself is as important, if not more, as your relationships with others.

After I found my center, I noticed a clarity to communicate authentically. It helps me discuss without arguing from ego, and provide candid feedback during 1:1s with my peers and talents. I'm able to form more meaningful relationships and communicate more effectively.

Some of the books at home

The books that helps me understand myself

The books that helps me stay consistent

The resources that helps me stay consistent

The books that helps me forming meaningful relationship with others

Finding Your Style

It's important to think about your way of scaling your influence and impact.

I started off my leadership journey by helping a small but important project without a lead title. I took care of the tedious work no one wanted to do like organizing documentations, taking meeting minutes, and following up on actions. As I got more years under my belt, I was involved in bigger projects. More teams, higher stakes, longer time budgets, higher complexities. My focus turned to how to empower all parties involved to iterate and deliver, and at the same time be helpful in alignment on tech excellence.

Tech leadership is not one size fits all to me at all. I'm not the most outspoken engineer. I listen. I'm empathetic, thorough, and unwavering, and I believe my best work comes from solitude.

I have no doubt that you can be true to who you are and be an outstanding leader.

The books that helps me find my leadership foundation

Staying True to Craft

It's clear to me that building a consistent product people love correlates a company culture that values tech excellence. Ari Balogh, CTO at Airbnb, wrote the article "Commitment to Craft" and it captured my notion. I believe the pursuit of craft not only facilitates an individual's lateral and vertical growth, but also equips a company's economic growth.

Always learning😎

My curiosity took me on a wild ride in tech.

  • I started out wanting to make beautiful websites, and now I'm building packages, release pipelines, API gateways and services, and CLI applications.
  • I was trained to be an UX researcher, and now I'm doing performance monitoring and optimization, SEO, CDN integration, and performance marketing.
  • I was told that I wasn't good enough, and now I'm mentoring, coaching, and sharing my learnings in the tech community.

Commit to your craft.

The resources about web architecture & infrastructure

The resources about programming languages

The resources about UI/UX

Final Thoughts

The potential in tech is limitless. Sometimes your journey might be rough, but don't be discouraged. There are so many amazing wisdom in books and articles within your reach to help you accomplish your vision.

Let's get it🚀



Online Resources

Here you have it! Thanks for reading through🙌

If you find it useful, please share this article to help more people in their engineering journey.

Feel free to connect with me on twitter!

My previous article "Binary Tree Insertion in Rust" shared my struggle when I was implementing a Binary Tree. It took me some time to have a grasp on Rust's ownership.

If you're interested in Unicode in Rust and JavaScript, I wrote an article "Indexing Strings in Rust and TypeScript: A Case Study of String". There we discussed how Rust and JavaScript handle strings with a classic algorithm.

If you're interested in writing a CLI with TypeScript and implementing a real-world CLI application with Google Lighthouse integration, check out my previous article "Writing Your Own TypeScript CLI".

Happy coding!

Daw-Chih Liou
Daw-Chih Liou

Daw-Chih is a software engineer, UX advocate, and creator who is dedicated to Web engineering. His background in Human Centered Computing has led him to work with startups and public companies across North America, Asia, and Europe. He is passionate about meeting business trajectory with user journey and utilizing engineering architecture and performance monitoring to provide optimal user experience.