There are a few moments in life that quietly change everything.
For me, one of them started with an email.
At the time, I was still a university student. I hadn't graduated yet. My thesis was still waiting to be finished, and only a few months earlier, I had resigned from my previous job so I could fully commit to Bangkit Academy, a program backed by Google, Tokopedia, and Traveloka.
Leaving a job without another one lined up wasn't the most comfortable decision. But I knew I wanted to invest in becoming a better developer, even if it meant accepting uncertainty for a while.
Then one day, while browsing LinkedIn, I came across a remote web developer position at a Singaporean company.
I applied.
Like many other applications I had sent before, I didn't expect much.
Eventually, an interview invitation arrived.
Then another.
Not long after that, so did the offer.
I still remember how excited I was when I read the email. Before telling anyone else, I told my parents. After years of learning HTML, CSS, JavaScript, PHP, building small projects, and wondering whether I would ever become a professional developer, someone had finally trusted me enough to build software for their company.
It felt surreal.
Becoming a Professional Before Becoming a Graduate
One thing I find funny looking back is the timeline.
I became a professional software engineer before officially becoming a university graduate.
During the day, I worked with an international team.
Outside work, I was still writing my thesis.
It was an unusual combination, but it also made me realize that university and real-world software engineering are very different experiences.
University teaches you concepts.
Work teaches you responsibility.
Every task you complete affects someone else.
Every bug matters.
Every missed deadline has consequences.
That was something no classroom could fully prepare me for.
My Morning Starts on a Bicycle
People often imagine remote work as waking up five minutes before the first meeting.
My mornings look a little different.
Around 5:30 a.m., I'm already on my bike.
Cycling has become part of my routine, not because I'm training for a race, but because it clears my mind. A 30-kilometer ride before work gives me space to think before work notifications and meetings begin.
After getting home, I shower, have breakfast, and sit down at the desk in my room.
Only then does my workday begin.
I don't play music while coding.
I like the silence.
For me, taking a shower is the signal that the day has officially started.
Remote Work Is Mostly About Communication
Before getting this job, I assumed software engineering was mostly about writing code.
It isn't.
Writing code is only part of the job.
A surprisingly large part of the work involves communication.
Understanding requirements.
Explaining technical decisions.
Estimating timelines.
Working with marketers.
Talking with designers.
Reporting progress.
Asking questions.
Admitting when you don't know something.
The more I worked, the more I realized that communication is just as valuable as technical ability.
Sometimes even more.
Working in English Was Both Exciting and Intimidating
Our team communicates primarily in English.
That wasn't completely new to me because I had previously worked with people from France, but speaking English professionally every day is different from learning it in school.
There were meetings where I didn't catch everything.
Moments when I wasn't confident enough to interrupt.
Times when I needed to replay meeting recordings afterward just to make sure I understood every detail correctly.
Over time, I became more comfortable asking people to repeat themselves.
I learned that pretending to understand helps nobody.
Clear communication matters far more than protecting your ego.
If I could go back and tell my younger self one thing, it wouldn't be "learn another programming language."
It would be:
Learn English as early as possible.
Not because English makes you a better programmer.
But because it allows you to collaborate with people all over the world.
Transparency Matters More Than Supervision
One thing I appreciate about remote work is the trust.
Nobody is watching my screen.
Nobody checks whether I'm sitting in front of my computer every minute.
Instead, the expectation is simple.
Deliver your work.
Communicate clearly.
Be honest about your progress.
Remote work requires discipline because productivity isn't measured by how busy you look.
It's measured by what you actually accomplish.
I Didn't Just Build Websites
Officially, my title is Web Developer.
In practice, I worked on much more than websites.
Some projects involved WordPress.
Others were Laravel applications.
Some touched Flutter.
Others involved native iOS work.
Maintenance, bug fixing, feature development, deployments, reviewing code, discussing requirements, supporting marketing campaigns. Every week looked a little different.
Outside office hours, I kept building my own projects too.
Those personal projects became my playground. They allowed me to experiment, fail, and learn without waiting for permission.
Ironically, many lessons from those side projects eventually helped me become better at my full-time job.
I'm Glad I Learned Programming Before AI
I started programming before AI assistants became part of every developer's workflow.
Back then, getting stuck meant reading documentation.
Searching Stack Overflow.
Trying different solutions.
Breaking things.
Fixing them again.
Today I use AI almost every day. Claude Code has become part of my workflow, and it's incredibly useful.
But I'm grateful I learned to struggle first.
Because AI is a powerful assistant, not a replacement for understanding.
When it gives the wrong answer, experience still matters.
Looking Back
When I was younger, I thought becoming a software engineer meant learning enough programming languages.
Now I think it's something entirely different.
It's about solving problems.
Working with people.
Being curious enough to ask questions.
Being humble enough to admit when you don't know the answer.
And continuously learning, even after someone finally calls you a professional.
Looking back, getting the job wasn't the finish line I imagined it would be.
It was simply the moment the real learning began.