Just enough preparation guide to land a backend engineer job in Japan (2022 version)

Search for a command to run...

Great content. Thank you for sharing!
Cohere is one of the leading enterprise AI companies, building large language models purpose-built for business use cases. While most people in AI circles know them for their models and APIs, fewer know about one of their most interesting roles: Forward Deployed Engineer.

OpenAI needs no introduction. They're the company behind ChatGPT, GPT-4, and DALL-E. But most people don't know about one of their most interesting roles: Forward Deployed Engineer. An FDE at OpenAI i

xAI has been impossible to ignore. Elon Musk's AI company is building Grok (the AI powering X), running massive GPU clusters, and now expanding into X Money payments. When I got the chance to intervie

Sakana AI's interview process is refreshingly different. The month-long take-home project rewards depth over speed. The technical interview is a conversation about real experience, not a coding exam. And the culture fit round tests whether you can operate in a fast-moving research startup.

Sierra has been one of the most interesting AI startups to watch. Founded by Bret Taylor (former Salesforce co-CEO) and Clay Bavor (former Google VP), they're building AI agents for customer service, and they're hiring in Japan and Singapore etc.

Yes, it is possible. Even if you don’t speak Japanese and as long as you can write code. Not only big names like Rakuten, Line etc but (ex-)unicorns like Mercari, SmartNews are accepting non-Japanese software engineers. Some of them even offer relocation support if you are not a residence. In 2022, we could also observe non-local tech companies starting to set up engineering teams here. Either they are a truly distributed team (GitLab, fastly, CircleCI etc) or they need a dedicated team for the “unique “ Japan market (Stripe, Square, DoorDash etc).
Despite the opportunities, there aren’t a lot of information regarding the software engineer interview process in Japan. Many discussions on Glassdoors, leetcode focus mainly on big companies like FAANG. There are a lot of resources out there but to be honest some of them are overkilled. So hopefully I could give you some insights regarding the technical interview process here, and how I prepared them. The interview process of course varies from company to company. However, in 2021, I applied for more than 10 companies, went through more than 40 times of interviews. So they should cover a lot.
While being one of the weirdest countries, the software engineer interview process here is quite standard. For non-local tech companies, their process is similar around the world. Except that your interview might be conducted in the early morning or late evening because of the time zone. Or if you do not speak Japanese you might have to talk to your interviewer via an interpreter.
Practice on leetcode is the best thing you can do. It really depends on you but I practice around 200 questions. Although some companies offer non-leetcode style coding interviews, in the end, they want you to solve a problem by writing code in front of interviewers under time constraints.
This is a fair process. As your future potential employer, they want to see your ability to write code in a less stressful environment. One caveat about this is some companies have a larger scope of the question and you might have to spend a lot of time on this. Because you don’t know how hard should you try. Personally, I am not a fan of taking home assignments but it’s better to do this under time constraints. Most of the time, these assignments are what you are familiar with. Generating CSV reports, designing an API are a few examples. Besides, understand your own code really well, I don’t think there is a lot of preparation you can do.
This is a rare one but there are few companies in Japan that do this. Basically, they want to test your general computer science knowledge. A few examples of these kinds of questions will be “what is ACID”, “what is the difference between UDP and TCP”. By “general” it could be anything. From database to disk to network to virtualization to consensus algorithm.
A few books I had been reading multiple times including:
Interviewer: Design a NewsFeed
Because there is no right answer (but you can give a lot of the wrong answers!), this is one of the most difficult to prepare. I can’t stress out how important is this round because it could affect your offer at a great impact. You can still pass your interview if you perform averagely in this round. However, if you are outstanding, you might end up getting an offer with a higher engineer rank (which usually needs promotion if you start working in the company). I recommend you to resources like:
Despite the great resources, you need to output what you have been disgesting to measure how much you know. And to achieve greatness, not only do you need to know as much as approaches and their tradeoffs as well, you need to think hard during your interview. Usually, after you have a high-level design you will be asked to make your system more reliable or scalable. Everyone has different opinions. So does your interviewer. So doing these interviews with friends or colleagues are the best way. Also, I found it was weird to talk to myself along with my practices so you really need help on this. Some companies, test your system design knowledge by asking you to describe your past project (for instance: Shopify technical deep dive)
To be honest, it’s a good time. Not only a lot of tech companies are hiring non-Japanese speaking software engineers, but Japan is also one of the top-paying markets around the world.
Subscribe to my newsletter for more things topics like this