In mid-late 2020, I left what most people would consider a very cushy and stable job: a software engineer position at a big tech unicorn. It definitely was not an easy decision to make, but considering that I tend to overthink and worry about stuff, it was a decision that I was surprisingly very confident in.
This writing serves as a personal reflection and retrospective of my journey from the past couple of years, which hopefully might be of interest to some people.
The whys
Every decision starts with a reason. For me, these were the few reasons why I decided to look for a new job.
Sometimes, we might not be fully objective when thinking about these reasons. That could lead us to make bad decisions. So, I did a routine self-check-up to ponder on these reasons for a few months. I wrote down the reasons I had for looking for a new job in a document. After 2 weeks, I went back to the document, re-read them and see if anything changed. Were the reasons still valid? Were there new reasons I discovered in the past 2 weeks?
It was only after 3 months that I was confident in the reasons I had, and I was fully convinced that I needed to make move.
Self-growth
The primary reason is self-growth. I have always wanted to try working with people outside my own country. I thought that by being able to do so, I would be able to observe and learn how different people around the world work. Cultural differences definitely affect how people think and how they interact with one another. I felt that by having the experience of both working with local and foreign people, I would be better equipped to work in whatever different setting I might have to in the future.
I also wanted to be able to improve my communication skills. I was looking forward to seeing how people interact and communicate with each other effectively. Also, having to speak and write in English every day is definitely very helpful in the long run!
Essentially, I wanted to be able to work with people globally, and I hoped to be able to learn from them, and eventually, become an engineer that could hold my own at the international level.
The timing
Truth to be told, I had been thinking about getting a new job since early 2019, but the timing wasn't quite right. It was only in mid-2020 that I started to feel that the timing was better. Most projects I was working on were near completion, a lot of other smart people were still going to be around even if I left, and things were pretty stable.
The pandemic was also just starting, which made me think: "There is probably going to be a whole lot more remote jobs in the future. I need to prepare myself from now".
Finally, I was also still relatively early in my career, which mean I could afford to take more risks. I had a lot of fear that I might fail and then end up in a job that I didn't want to do. I thought that I might be much more hesitant if I waited until I am older, so I thought: "This is the time to try".
Unmotivated
I was getting unmotivated in my previous job. I felt that my personal goals were getting more and more different from those of the company. This resulted in me being burnt out pretty easily, limiting myself from giving my best work.
The why-nots
I tend to overthink. I was always thinking about how things could go wrong.
Is leaving a cushy and stable job a good decision to make?
Will the new job be stable?
Is it possible that I get scammed?
What if I turned out to be not good enough?
These are some of the things I was worried about. I also did a routine check-up for these as I did for the reasons above. Eventually, I was able to make peace with these fears with the help of my partner and friends.
I learned that I just have to live with it. A lot of things in life that are worth it rarely come risk-free, and this definitely felt worth it.
The search
In total, I think I spent about 6 months looking for a new job. I wasn't fully active for the whole 6 months though, it was more of an on-and-off thing. I also interviewed at some Indonesian companies as well in the first 2 months, just to have a sense of how things were in other local companies.
One company actually required me to do unpaid trial work for them for 2 days! I actually did it for them, only to end up getting rejected for culture-fit reasons. That's probably going to be the last time I'd ever do that. ๐ฌ
I don't have the exact numbers, but I probably applied to 25+ companies, only getting interviewed in 7 of them, and got offers in 3 of those.
I wrote a post last year about things I learned during my search. I will try not to repeat stuff from there here, as this one focuses more on my experience in the past year.
The experience
The early days
When I first started, I was super anxious. Every day, I would be thinking that the company probably made a mistake in hiring me and once they find out about my incompetence, they would immediately fire me. Thankfully that was not actually the case. Otherwise, you would not be reading this right now. ๐
On my first day, I was greeted with an onboarding call, and also some small tasks for me to get more familiar with how things work in the company. This involved reading a lot of documentation, and also merging my first PR! I also had some routine calls during the first month for check-ins and to see how things were going.
I had major impostor syndrome early on. ๐ฅธ I kept thinking about whether I was doing a good enough job or not. Also, we had the last 2 weeks of 2020 off, so I was essentially only working for 2 weeks during my first month. Now, you might think that's a good thing, and it is! But, for someone who was in a state of constant self-doubt and anxiety, it made me feel very guilty. It felt a bit like I am just collecting my paycheck without actually contributing much. ๐
I eventually managed to get over my impostor syndrome. I feel that as I completed more tasks and projects, I started to give myself more credit. My colleagues also helped a lot with some affirmation, making me doubt myself less. Don't get me wrong, I still doubt myself from time to time, but it does get more manageable as I gain more experience in the company.
Communication differences
Obviously, the language is different. The fact that I had to start to write, listen, understand, and speak English daily was a challenge. Thank God for all the hours I spent watching American TV shows and playing video games! I believe after doing this for a year, my English has improved a bit. I still struggle at times to find the words I am looking for, but for the most part, I can have a conversation sufficiently well.
The fact that we are an international company and have people working from a lot of different countries, makes the people much more understanding as well. We don't sweat it when someone (me) is having trouble saying something, as we all understand that English isn't the first language for most of us anyway. Having that kind of a safe environment for me to learn and improve has been huge!
Most of the conversation happens in written form because of the time-zone differences. Written communications happen primarily on Asana and Slack. Asana is used to encourage asynchronous communications, but we do have several synchronous communications via Slack/GMeet at times. This is different from how I worked at my previous jobs, where synchronous communications happen much more often because everyone works in the same building, and at the mostly same hours. I had to work on my writing skills a lot; having to be very conscious of my word choices and trying my best to help readers understand the point I am trying to make.
Frankly, the way that I improve my communication skills is simply by imitating my colleagues! Most of them have been working remotely for far longer than I have, so I just observe what they're doing: how they review PRs, how they write comments and documentation, etc. When I found something that's nice and helpful, I try to imitate it and see if I can do the same. At times, other colleagues might thank me for a helpful comment I left, and that would be a good confidence boost and a nice affirmation that I am indeed on the right track. ๐
We also have non-work-related conversations such as about cuisines, hobbies, music, etc.! It is in these kinds of conversation that I realized that I know very little about non-tech stuff. Not that I know a lot about tech stuff, but my knowledge regarding non-tech stuff can be borderline concerning at times ๐ . These conversations are also very helpful for me to learn more about the world, especially as a person going through the "adulting" phase of life.
Organization culture differences
This one is highly dependent on the company, so do not think that all foreign companies will have the same culture as the one I describe here.
The pace of the work is just right, not too fast or too slow. This allows me to put more time into tasks, resulting in higher quality work. The effect of this is huge, IMO. People tend to put more time into reviewing code and they also put more time into polishing the code and documentation. People are very supportive in helping each other understand any particular thing. The humility and thoughtfulness of everyone help everyone to grow and learn. ๐
I tend to have a "ship-fast" mindset, and that caused me to have to really try adapting to the new working environment. At times I would still feel like I need to ship faster, but I remind myself: that is not the goal. I learned to spend more time polishing my tasks, understanding the codebase and the team more, and contributing the best I can while aligning with the team goals. Shipping fast isn't necessarily a bad thing, but it depends on the situation. Depending on the state of the company you're joining, this can vary wildly. Early-phase startups usually want to ship faster, so they can re-iterate and achieve market-fit.
One thing that I really appreciated is how I was being reminded (multiple times) to stop working during non-work hours. It was a gesture that I really appreciate and it helped me a lot, particularly in making myself feel less guilty about feeling not contributing enough. I would name them to give a shoutout here, but I wouldn't want them to be poached away and lose my favorite colleagues. ๐ข
(You know who you are!) ๐
The tech culture
I feel like the tech culture is something I definitely want to take note of. People are very thoughtful and really try to think about how their work might affect others. This helps a lot in writing documentations or even just general code comments or comments on Asana. I believe a major part of this is in the ability of the company to hire people that hold the same values we hold.
We also have a CI and CD setup. Anything that is merged to the main
branch is automatically deployed to production. Though, we still
do not generally merge on Fridays ๐. Developments are done locally with Docker. In production, services are managed by Kubernetes.
I remember when I first joined, I thought that the SRE team here is very good at what they do, allowing the other teams to really focus
on building their project without having to worry much about the infrastructure. Though, this does not mean the knowledge is
siloed to the SRE team. Sure they are the expert on these things, but the infrastructure is documented and everyone can read them.
Anyone can also ask questions about it and get answers. I asked a lot of questions in a public Slack channel and was always
given answers. People are very humble and respectful to each other. There is no shame in asking questions. ๐
All in all, if I ever got another job, I would definitely be looking for an environment with similar tech culture. If I would ever be put in a position where I have the power to establish the culture in a tech organization, I would definitely be applying most of the things I experienced here. I truly believe it makes for an environment where people are happy to be working in for a long time.
Managing flexibility
At my current job, I work on a flexible schedule. I have some overlaps with the team which I usually use to sync-up when required, but for the most part, I am just working a typical Indonesian work hour. Sometimes, I start working later and end work later as well. Because all the team works in different time-zones, this is never a problem. Other times, I might also run some errands during the day and continue working later at night. One time, I just went to a basketball court at 3 PM and play basketball for a couple of hours because the weather was nice!
I felt like I joined the company at a good timing, which helped me to adapt to the added flexibility and responsibility. If I were just a fresh graduate and got into this job immediately, I might not have fared as well as I did.
I know a lot of people who are looking for jobs that give them time flexibility to do their job. To those people, I ask, "How responsible are you with your time?". People tend to see having flexibility as having freedom, and that is absolutely true. What people might not think about is that freedom only comes with responsibility. Freedom, essentially, is the power to be able to choose how/when you do the things you want to do. More power naturally comes with more responsibility. If you want to work on a flexible schedule, prepare for the responsibility of managing yourself.
In a way, it is interesting to think about flexibility and responsibility this way. Flexibility feels like we are getting more freedom. But with it, the additional responsibility feels like we actually have more boundaries we should not cross. I like to think that the things that I can do in my power are enclosed in a circle. More flexibility means more power, which makes the circle grows bigger. This means I can do more things! Though the boundary (circumference) of the circle will also grow larger as the circle grows. This represents the growing amount of things I need to be responsible for.
I believe the two things correlate with each other. As you become more responsible, people are more likely to trust you with more flexibility, which means more freedom, and more responsibility too.
Closing thoughts
There are many things that I like about my current job. I love the flexibility that allows me to better manage my life and work together. I love the culture and the practices that we do.
Do I think I should have started looking for the job earlier?
Not really. I believe if I had done things differently, things would turn out differently as well. For instance, if I looked for the job earlier, the timing of the job opening might not have aligned and I might not get the same job. I also might not have enough experience and skills to do the job well.
I also feel that my time at Tokopedia was a good preparatory experience. I got to work with a lot of good people, understood more about what I was looking for, and had a lot of opportunities to gain exposure by writing and speaking publicly.
I do miss some stuff from my past jobs, particularly being able to just talk and grab some lunch with my colleagues in person.
In (ahem) retrospective, I feel like I am on the right track. What I am doing right now aligns with my personal goals and growth plan. I am looking forward to improve more and share more as I go through my journey. ๐
Try pressing Ctrl + K and type in "share"!