Six Years as a Software Engineer: My Journey and Why I'm Moving On

By Shane

Growing up, I was influenced by computer games and my early experiences with HTML. I remember learning basic HTML to create my own Blogspot blog and adding extensions to make it look prettier. I was always interested in computers and how they worked, so naturally, I decided to pursue a Computer Science degree at Monash University.

Unfortunately, over those three years of studying, I realised that I didn't enjoy Computer Science as much as I thought I would. I struggled to pass my exams and understand algorithms the way they were taught. At one point, I even considered changing courses. However, knowing how much my parents had already invested in my education, I didn't want to burden them with that financial decision, so I decided to persevere and see it through.

During my final year, I took a Software Engineering elective instead. This was something I had always been interested in, and I had a lot of fun learning it. Although Computer Science and Software Engineering overlap in many ways, I realised that I was more interested in the practical application of what I learned than the theoretical side of things.

After graduating, I was conflicted. I wondered whether IT was really the right career for me, or whether I should look elsewhere. But I had spent three years earning a degree in this field, and I felt that I owed it to myself to give it a proper chance before calling it quits.

And so, I began my career as a junior backend engineer in Kuala Lumpur, specialising in the Django framework.

Finding My Footing as a Software Engineer

My first job taught me things that university never really had. I learned how to build APIs, structure databases, implement basic security measures to protect a backend, and build websites using Django's templating system alongside JavaScript, HTML and CSS.

These were things I hadn't really learned in university, but I found that I could pick them up relatively quickly. More importantly, they made sense to me. I was having fun learning new skills, figuring things out, and seeing the things I built being used by actual people.

I knew I might not have been the best coder, but I had the drive to learn, improve, and learn from my mistakes. That, to me, was just as important.

And so began my journey as a software engineer.

At the time, I gave myself a new career goal: to learn as much about software engineering as possible, climb the ranks, and eventually move into a more client-facing role. I wanted to be the person talking to clients, gathering requirements, and refining them into something the engineering team could build.

But before I could do that, I wanted to learn the technical side of things as thoroughly as I could.

Moving On to the Next Chapter

Unfortunately, the company I was working for wasn't doing particularly well financially, and I knew I couldn't count on having a stable future there. On top of that, I wanted to expand my skill set and gain experience in frontend development so I could eventually become a full-stack engineer.

However, I wasn't getting the opportunities I needed to explore that side of development.

After two years, I felt that I had reached a point where I couldn't learn much more from the company. It was time to look for an opportunity that would allow me to grow further.

That's how I ended up at Lizard Global.

Although I started out as a backend engineer there, I was given the opportunity to work on frontend development as well. I was assigned projects that allowed me to learn frontend engineering more thoroughly, and over time, I began to understand how full-stack development worked as a whole.

I also transitioned from developing with Django and Python to working with JavaScript across the stack. Within less than two years, I had grown into a full-stack developer working with JavaScript.

Looking back, I'm proud of how much I managed to learn during that time.

I learned how to build responsive frontend interfaces that adapted to different screen sizes, including mobile devices. I explored animations using GSAP and Framer Motion, learned how microservices worked, and used open-source message brokers such as RabbitMQ to facilitate communication between services.

I also worked with databases, learned how to structure them, and integrated cloud storage for images using services such as Amazon S3.

The projects I worked on were varied, too. From e-commerce platforms like Drinkies to landing pages like the HES website, dashboards like MyNewBehavior, and even mobile development for Zeno AI, I had the opportunity to work on different types of products and solve different kinds of problems.

There was always something new to learn, and I enjoyed that.

I was proud of myself for having the drive to pick up all these skills, for being able to adapt to different technologies, and for finding enjoyment in the process of figuring things out. It felt good to look back and realise just how far I had come from the university student who wasn't even sure whether IT was the right career for her.

And then AI became part of our everyday work.

When the Enjoyment Started to Fade

Like many other IT departments, my workplace began incorporating AI into the development process. AI has gradually become the norm, and I understand why companies want to adopt it. It can help streamline workflows, reduce the time spent on certain tasks, and make development more efficient.

I get it. I really do.

But somewhere along the way, I started to lose the enjoyment I used to find in software engineering.

Instead of starting my day by writing code, figuring out how something should work, and working through problems myself, more and more of my work began to revolve around writing prompts for AI to do the work for me.

And slowly, I felt myself losing the interest and drive I once had.

The process that used to excite me started to feel different. The satisfaction of figuring something out, learning something new, and seeing my own work come together didn't feel the same anymore.

Everything started to feel a little dystopian to me, and I began questioning whether this was really the future I wanted for myself.

Perhaps the industry was moving in a direction that made sense from a business perspective, but I wasn't sure it was a direction I wanted to follow for the rest of my career.

After months of introspection, I started asking myself some difficult questions. What kind of career did I actually want? Where did I see myself a year from now? If I continued down this path, would I be happy with where I was heading?

The more I thought about it, the more I realised that software engineering had never really been my endgame.

Choosing a Different Path

I had always imagined myself eventually moving into a more client-facing role. That goal had been there since the beginning of my career, even when I was focused on learning as much as I could as an engineer.

And perhaps this was the catalyst I needed to finally make that change.

I knew there would be risks involved. I might have to take a pay cut, start over in a new role, and rebuild my experience in a different career path at 28. There would be a lot to learn, and there was no guarantee that I would enjoy the new role as much as I expected to.

But I also knew that if I had already spent years thinking about moving in this direction, it would be better to take that leap now rather than keep putting it off.

One of the reasons I believe I might be better suited to a client-facing role is that I genuinely enjoy talking to people. I'm comfortable talking to strangers, building connections, and developing good relationships with the people I meet. I enjoy making people feel seen and understood, and I value the relationships I build along the way.

Having a technical background also gives me an advantage. I can understand what is technically feasible, recognise limitations, and help set realistic expectations from the beginning. Rather than simply agreeing to what a client wants, I can have informed conversations about what can and cannot be done, and work towards a solution that makes sense for everyone involved.

Of course, I know that client-facing roles aren't as glamorous as I might imagine them to be. There will be difficult conversations, competing expectations, and challenges that I haven't experienced firsthand. I'm not expecting the transition to be easy, and I know there will be plenty of things I'll have to learn along the way.

But despite the risks and uncertainties, I feel happy with the decision I've made.

After six years of being a software engineer, I'm ready to explore a different side of the tech industry. I'm ready to take the skills I've built, the things I've learned, and the experiences I've gained, and apply them in a different way.

I'm not sure exactly what the next chapter will look like yet, but I know that this is a direction I want to pursue.

And for now, that's enough.