Recapping ~2.5 Years as an Engineer

28th August 2023 — The Day It All Began

28th August 2023 marks the first day I stepped into an office as an engineer.

I still remember standing inside the elevator, nervous yet excited, not fully realizing how much that day would shape me — both technically and personally.

Since then, I have spent over 2.5 years working across two different companies. I began my journey as a Software Development Engineering Intern at DANA Indonesia for 1.3 years, and I am now working as a Backend Engineer at Kredit Pintar Indonesia, where I have been for 1.5 years as of this writing.

There were highlights and lowlights throughout my journey between these two companies. Looking back, I realize those moments — both the good and the difficult ones — have slowly built who I am today and shaped what I am capable of.

DANA Indonesia: First Look at the Corporate World

My first day at DANA Indonesia was a unique experience. I remember reaching the office floor, being handed my own MacBook and ID card — I was genuinely surprised to be given a Mac by the company. It felt like a milestone moment.

Then came the team introductions. I was nervous. I’ve never been particularly sociable, and stepping into a professional environment straight from university felt intimidating. But that nervousness quickly faded. The team was welcoming and supportive, which made the onboarding process smoother than I expected.

Coming from a university environment into a professional workplace brought several culture shocks. The first one hit me when I was granted access to the code repositories.

In university projects, you typically work with one repository — and it’s usually manageable in size. But at DANA, I was given access to six repositories. Not one. Not two. Six.

And the codebase wasn’t static — it was actively growing. At the same time, I was still trying to understand the business flow. It felt overwhelming at first. However, as time passed, I gradually began to understand the core business logic and how the services connected together.

During my time at DANA, I was exposed to technologies I had never used before — message queues like Kafka, CI/CD pipelines using Jenkins, Spring Boot as a production-grade framework, and gRPC for inter-service communication. More importantly, I was given opportunities to contribute to real projects, from small adjustments to entirely new product features.

But beyond the technical exposure, one of the most valuable lessons I learned was about communication. I observed how engineers raised concerns during discussions, how QA collaborated with developers, and how frontend and backend teams aligned their expectations. That was my first exposure to cross-functional collaboration in a real-world environment.

That said, I also recognized areas where I could have done better. I was often too observant and not vocal enough. I listened more than I spoke. While observation helped me learn, it sometimes made my presence feel nonexistent — as if I wasn’t fully engaged. In hindsight, I realize that being present isn’t just about understanding; it’s also about contributing.

Kredit Pintar: Refining Skills and Identity

In late October 2024, I transitioned from DANA to Kredit Pintar. The decision was simple — I wanted to move into a full-time engineering role. DANA was in a hiring freeze at the time, and I had already spent around 1.3 years as an intern.

The onboarding process at Kredit Pintar was smooth. I received the necessary equipment, gained access to repositories, and began working shortly after.

I assumed that since I had already experienced the corporate environment at DANA, adapting would be easy.

I was wrong.

For the first three months, I struggled deeply to adjust. The difficulty wasn’t technical — it was internal. It took me nearly a month just to regain composure.

At the time, my mind was constantly wandering. I had just finished a period where I was simultaneously working as an intern, completing my thesis, and coping with the loss of a family member. During that year, I poured most of my energy into work and academics, suppressing everything else.

When I joined Kredit Pintar, everything caught up to me.

The emotional weight I had carried quietly began surfacing. I felt impostor syndrome intensely. I questioned whether I was suited for the role. I even considered quitting, believing I wasn’t capable enough.

That internal struggle slowed my adaptation and affected my performance. It wasn’t fair to myself, and it certainly wasn’t fair to my manager or team.

But gradually, through conversations, self-reflection, and allowing myself to process those emotions instead of suppressing them, I recovered. And today, I stand with over 1.5 years at Kredit Pintar — proof that the doubts were louder than the reality.

Growth in Technical and Professional Maturity

At Kredit Pintar, my responsibilities shifted significantly.

At DANA, I mostly implemented features based on system design documents created by senior engineers. I focused on execution.

At Kredit Pintar, I began spending more time thinking before coding.

I learned more about system design — how to plan solutions that not only meet business requirements but are also scalable and maintainable. I started considering trade-offs, edge cases, and long-term implications. I realized that the real challenge in engineering is not writing code — it’s designing systems that survive real-world complexity.

I was also exposed more deeply to DevOps practices, including Kubernetes. Understanding how applications are deployed, monitored, and scaled gave me a more holistic view of backend engineering.

Beyond the technical growth, I became more proactive in communication. I contributed more during discussions, collaborated more actively with cross-functional teams, and tried to ensure alignment before implementation began.

One unexpected discovery during this time was that I am relatively strong at debugging production issues.

There was one incident where I traced a production problem back to an uncovered edge case within 1–2 hours — by reading through the codebase, analyzing related data, and communicating with relevant teams. Another engineer implemented the fix, but I was genuinely surprised that I could identify the root cause that quickly.

The first time I truly recognized this strength was during a one-on-one session when my manager pointed it out. Sometimes, others see our strengths before we do.

If you’re unsure about what you’re good at, consider asking your manager or close colleagues. Their perspective can reveal strengths you may overlook.

Key Reflections from 2.5 Years

Looking back, here are the most important lessons I’ve learned:

University projects focus on completion. Enterprise systems focus on sustainability, scalability, and collaboration. Working with Spring Boot in real production systems and implementing asynchronous communication using Kafka and RabbitMQ showed me how complex systems interact at scale.

Coding is implementation. Design is responsibility. The shift from implementing someone else’s design to creating my own solutions changed how I approach problems entirely.

Being able to read unfamiliar code, trace logic, analyze data, and narrow down root causes quickly is invaluable — especially during production incidents.

One time, I discovered that several schedulers had been stuck for hours — even days — simply because I casually checked the dashboard. There were no alerts. Everything seemed “normal.” That experience taught me that silent failures are often the most dangerous. Proactive observation matters.

A simple clarification about an API contract can prevent weeks of misalignment. I learned this through both observation and experience. Communication isn’t optional — it’s foundational.

When I joined Kredit Pintar in a poor mental state, my performance suffered. Energy, focus, and confidence are deeply tied to emotional health. Seeking support, reflecting honestly, and allowing recovery were necessary steps for growth. If you’re going through something similar, please seek help. When you’re at your lowest, the only direction left is upward.

I joined both companies with no real-world experience. Every mistake became a lesson. Every new technology expanded my perspective. Growth only happens when curiosity outweighs fear.

Despite the lows, I am deeply grateful for these opportunities. Not everyone gets the chance to work in environments where they can grow, fail safely, and receive mentorship. I am thankful for the mentors and colleagues who supported me throughout this journey.

Conclusion

If you are a fresh computer science graduate or just beginning your software engineering journey, I hope this reflection offers some perspective.

The path will include uncertainty, self-doubt, and challenges — both technical and personal. But it will also include growth, discovery, and moments of quiet confidence where you realize you are capable of more than you thought.

Looking back, these 2.5 years were not just about becoming a better backend engineer.

They were about becoming more self-aware, more resilient, and more intentional.

And if I was able to move through those difficult periods and grow from them, I believe you can too.

Keep learning. Stay curious. And keep walking forward.

*side note: this is my first time writing a blog so pardon me if the contents are all over the place

Back