In this job change story, AR, a late 20s software engineer from Hong Kong shares his experience changing jobs in Japan during the global pandemic.
-- What made you decide to work in Japan?
At a young age, I had already decided that I would work abroad. I was a big fan of anime and it inspired me to learn Japanese. I have actually been learning Japanese since 2003. I think I can express myself in greater detail in Japanese than in English. It started with phrases that I would often hear from those anime shows to eventually picking up a grammar book in university and then studying intensively to pass the JLPT exam. Naturally, I had this inclination towards working in Japan so when I was offered a job in Japan after graduating from a foreign university, I had no hesitations accepting it – that was in 2015, the start of my professional journey as a software engineer in Japan.
-- How is it like to work as a software engineer here in Japan?
I think your success and job satisfaction would really depend on whether your values and preferences align with the values and work structure of the company you work for. Personally, I have always had a preference for companies that allow their technical staff to contribute and weigh in on technical decisions instead of solely relying on non-technical business leaders.
Also, I think many companies in Japan are already hiring foreigners. In fact, in the past, I’ve had the opportunity to be part of an international team where the language we used at work was English and most of my teammates did not speak Japanese. This is no surprise since the programming tools and language we use as software engineers are mostly in English so there would be minimal use of Japanese. However, I would still often translate between my international team and the Japanese-speaking business team. There are also companies that require a certain level of Japanese such as JLPT N3, N2, N1 – it depends – wherein Japanese is the working language used because the majority of your teammates are either Japanese or speak Japanese. At my current company, our CEO told me in my final interview that many foreigners have failed the interview stage due to their lower-level Japanese ability.
I feel that having a good grasp of the Japanese language, specifically spoken Japanese, is a great plus when finding a job in Japan because it gives you more flexibility and more options. If you are bilingual in both English and Japanese, you will be able to climb up the corporate ladder because your language ability will allow you to communicate directly with the Japanese-speaking business leaders.
Why did you decide to change jobs and what were your expectations when you started looking for a job in the middle of a global pandemic?
As you probably know, the travel industry was badly affected by the global pandemic. Unfortunately, my previous company is in the travel industry and it wasn’t immune to the effects of the global health crisis.
When I found out about my circumstances, I quickly applied to companies directly and also had some help from some recruitment agencies. Initially, I was worried. My plan was to find a new job in three months, and I was also prepared to accept a salary lower than what I was earning.
Were you able to change jobs as you had planned? How is it different from your previous job changes?
I had originally hoped to find a job within three months – I wasn’t expecting that I would be able to get a job in only one month.
During my previous job change in 2019, it took me about two months and a half to get an offer from my previous company. But back then, I wasn’t focusing on changing jobs. I just scheduled one or two interviews per week.
My job change in 2021 was very different since there was full transparency that I was looking for a job. I didn’t have to hide it from my company so I could actually focus on applying and getting interviewed. You can also add the fact that most interviews were conducted virtually, where I can schedule two interviews next to each other – something that was not possible in the past. Through these circumstances, I interviewed with 30 companies and got six offers in one month.
I partnered with a few recruitment agencies but in the end, I had chosen the job introduced by RGF Professional Recruitment Japan. With the help of your recruitment consultant, we were able to get a job offer in the span of only one week.
I had my first interview on a Monday, my second interview on a Wednesday, and my third interview on a Friday. My recruitment consultant was also able to efficiently coordinate with the company and was also able to negotiate the salary on my behalf, allowing me to get a 17% pay rise despite the seemingly disadvantageous circumstances caused by the global pandemic.
-- As a software engineer, what are the most important factors that you considered when changing jobs?
Two key deciding factors were career path and the company’s standing. Coming from the travel industry, which was affected by the pandemic, this time around, I wanted to ensure that the company I would be joining would be stable and would eventually connect to my ultimate goal of becoming a systems architect. I’m fortunate that the company I work for now is a strong innovator in the tech and logistics industry, and has a prevailing culture of openness which helps me get a step closer to becoming a systems architect.
Another key element that some recruitment companies failed to consider when they introduced jobs to me was my preference for the programming language Golang. I wanted to use Golang but unfortunately, they introduced job descriptions requiring Java instead. Fortunately, RGF Professional Recruitment Japan was able to introduce a job that utilized my preferred programming language.
Although I am proficient in Java and most software engineering jobs require Java, I prefer Golang because I was already using it in my previous company and it’s a more efficient language for me.
Golang is a newer coding language. It addresses the shortcomings of older languages like Java, which take up a lot of computing resources to run a program. Golang, on the other hand, takes up less. To start a Java program locally, it took me 20 seconds but for Go, it starts instantly – in one second.
You see, software engineers don’t always write correct code, and debugging is part of our daily work. We need to figure out what we have done wrong and to do that, we need to restart our programs again and again. If I can start the program quickly then I can debug quickly.
Currently, the most efficient language is C, another old language, but there are only a limited number of programmers that can code in C. Golang is slightly slower than C but is a lot easier to write in - so it is a good trade-off.
A lot of startup companies, including my company now, have adopted Golang and a few other newer languages like Rust or Scala. These newer languages are getting more and more popular and I think that in the coming years, these more efficient languages’ market share would grow exponentially.
-- What’s your advice for foreign software engineers who are currently trying to get a job in Japan?
I think that your location plays a huge role if you are aiming to get a job in Japan, particularly because of the visa. If you’re outside of Japan, working for a startup company might not be the most ideal situation for you because often, startup companies have never applied for a foreign employee’s visa. That process may be very time-consuming and requires a lot of paperwork. However, if you’re a foreigner and you’re already in Japan with a work visa, then that makes it a lot easier for the company since you already have a work visa and the company will only need to extend the validity of your visa. That is a lot simpler compared to starting from scratch. If you are outside of Japan but would like to work here, I would recommend applying to bigger companies that may have a designated department in charge of setting up working visas for foreign employees.
Finally, most software engineering roles now require coding tests – this applies to companies in Japan, too. These coding tests not only determine if your coding ability can solve the problem but they also determine how quick and efficient you can solve the problem. You may be able to solve the problem but you might end up failing the test because your algorithm wasn’t efficient enough. To pass the tests, my advice would be to practice by taking a lot of coding tests and always be mindful of your algorithm’s efficiency when taking these tests.