Originally published on the Japan Dev Blog
Finding a job as a software developer in Japan can be tough for foreigners. There are a lot of great opportunities, but they're often hard to find. Especially for developers searching for their first job in Japan. The language gap combined with a lack of online resources makes separating the good tech companies from the less desirable ones a challenge.
It's not that there are no resources available. In fact there's a myriad of Japan-focused job boards and recruitment agencies out there. The problem is that the data you actually want can rarely be found online at all, let alone in English. And while the reports of "black companies" may be overstated at times, it's true that you need to be selective when choosing an IT job in Japan. Especially when you're a foreigner.
In places like the US software engineering has become one of the most popular careers, but this isn't the case in Japan. Many Japanese companies see programming as a necessary evil. To them it's low-level work that's not worth investing in. However, as Japan's internet tech industry matures, more and more companies are seeing the value of software development and things have improved rapidly in the last 5-10 years. I feel the industry has reached a point where there's a critical mass of good software jobs for foreigners that want to work here.
So the question is: how do you find the good jobs? In this post I'll explore this question and offer some resources and advice based on my own experiences searching for jobs as a developer in Tokyo. I know for a fact that working in Japan can be a deeply fulfilling experience, so my hope is that I can help other foreigners avoid the pitfalls I've faced and achieve success here in Japan.
This is not a guide on the mechanics of physically moving to Japan. That's not specific to software engineers, and many such guides have been written already. You can find them online, and the requirements will be pretty much the same for everyone. So if you're looking for general info about the logistics of your move to Japan, then I recommend consulting them instead.
For example, TokyoDev's guide on finding your first programming job in Japan is a good place to start. You can also check out BFFTokyo for most anything else related to moving (such as visa info). These topics are important too, but in this post I'm going to try to avoid them. I won't go into how much money you should bring or what visa you should get. Instead I'd like to focus on how to find a software development job that you'll actually enjoy and avoid the ones you won't.
If you want to find a software job in Japan (that's actually good), the first step is research. In order to thrive as a developer here, it's crucial for you to understand what kind of job you want. You'll then need to determine which tech companies in Japan are actually willing to hire foreign engineers for that position, and most importantly, which ones can actually provide the type of environment you expect.
Maybe in part due to Japan's historic culture of "lifetime employment", I feel that tech recruiting here is still in its infancy. There are a few general Glassdoor-like sites like OpenWork and EN-Hyouban, but they're all in Japanese. The data collected there is somewhat useful, but it's often not relevant to non-Japanese engineers. That's why I built Japan Dev as a resource aimed directly at foreigners who want to work at tech companies here.
I recommend browsing the Japan Dev company list page to get a holistic view of the foreigner-friendly companies hiring developers in Japan. Everyone has their own criteria, so you should decide yours and then research which companies meet them. Whether you're looking for an English-speaking environment, remote work or visa sponsorship, you should be able to come up with a list of tech companies in Japan that fulfill your requirements.
Pro tip: Know what kind of job you want, and spend time researching the best companies offering those jobs. Don't set yourself up for failure by assuming you'll be happy with any old job as long as you're in Japan.
Here are a few more hand-picked resources that you can use to improve your understanding of the programming jobs available to you:
Japan Dev - We offer the most exhaustive list of top foreigner-friendly tech companies hiring developers in Japan. There's also salary data for most companies as well as "pros" and "cons" for each.
LinkedIn - Many top companies in Japan advertise software jobs here. LinkedIn also recommends companies based on the info in your profile, which is useful.
Pro tip: Set your LinkedIn location to Tokyo even if you're not here yet. You'll get more interest from recruiters.
TokyoDev - Great resource for programming jobs in Tokyo. Pretty much all jobs posted here include visa support and most don't require Japanese skills.
AngelList - More startup jobs. Most are globally-minded companies.
Justa.io - Focused on Japanese startups (and not just for software developers), but leaning toward English-friendly companies.
HN Tokyo Slack - Connect directly with fellow developers in Tokyo. This is especially valuable for people who are not in Japan yet.
StackOverflow Jobs - StackOverflow is an English site, so the companies in Japan posting jobs here are typically pretty global.
There are tons of other more generalized job boards (Gaijinpot, Daijob etc.), but they can be overwhelming. The above resources either curate jobs for English-speaking developers or attract the type of company interested in hiring foreign developers, so I recommend focusing your efforts on these sites (and others like them; let me know if you have others!) as they provide a better signal to noise ratio for those specifically seeking programming jobs.
In general, the more you educate yourself at this stage, the better off you'll be when you're talking to recruiters and actually meeting with companies. So definitely take the time to vet companies and gather as much information as you can.
The above set of resources should provide you with quite a lot of data about companies as well as specific job opportunities. Once you're confident that a given company is a good fit, applying directly through one of those sites can be a good option. But this should not be your only plan of attack. If you're in Japan already, then events are invaluable for finding jobs. It's a well-known fact that many of the best jobs will never be posted online, and this definitely holds true in the Japan developer community.
There's just no replacement for physically coming to Tokyo and meeting people in person. You can get the latest information from fellow software developers already working in Japan, and they'll be much more likely to refer you to their company if they have a chance to meet you first.
Did I mention that companies in Japan love referrals? Because they do. A lot of companies here get 50%+ of their employees from employee referrals because it's a win-win for the company and the employee. Even if the company has to pay a fee to the employee, it's usually much less than what they would've paid to a job board or recruiter. With a referral, the employee gets money and the company gets to reward one of their members and create some good will in them towards the company. This means that many companies' employees want to find people looking to work with them and are even financially incentivized to do so.
In other words, the more people you can talk to at your target companies, the better your chances will be of landing a development position with them. And referrals are one of the best ways to make connections with many companies.
Tokyo has a never-ending stream of programming and IT related events, so there should pretty much always be something, but here are a few of my personal recommendations for software developers interested in attending events in Japan:
TokyoTech - This isn't actually a meetup, but it's my favorite resource for finding meetups in Tokyo. It showcases most of the upcoming tech-related Tokyo meetups in one place so you don't need to go hunting for them across the internet.
Tokyo Tech Meetup - A recent addition, this bilingual event is great for meeting fellow developers -- plus it's free!
Hacker News Tokyo - This is a great event for networking in Tokyo. There are always plenty of software engineers and designers as well as entrepreneurs and anyone else interested in tech or startups.
Dev Japan - Originally an event where programmers could go to work on projects, Dev Japan has been expanding lately and sponsoring more and more events in Tokyo.
Meetup.com - Many of Tokyo's developer events can be found here. There's something pretty much every night.
Doorkeeper - Doorkeeper is another site for organizing meetups; it's home to events like the venerable Tokyo Rubyist meetup.
Recruiting firms can be a valuable tool for finding software engineering jobs in Japan. In fact, anecdotally speaking, I think this is one of the most popular ways to find jobs here. However, I feel it's important to understand how recruiting in Japan works before enlisting their help. I would also advise against using recruiters as your only avenue when searching for jobs.
The thing about recruiters is that each recruiter only works with a subset of companies. Recruiting firms have contracts with specific partner companies, and those are the ones they'll introduce you to. Thus, it's usually a good idea to at least talk to a few different recruiters to get as wide of a view as possible of the jobs available to you before signing a contract.
Good recruiters will be honest with you about your options and not try to push you toward a company unless it's a genuinely good fit, but you do need to be a little careful. Recruiting fees can be 25-50% (or more) of an applicant's yearly salary, which means recruiters have a massive financial incentive to convince you to join one of their companies. This is why you shouldn't put all your eggs in one basket and make sure you talk to several different ones.
When working recruiters, always do your own research and only agree to deals that are mutually beneficial for you from a business standpoint. And make sure you arm yourself with knowledge so you can avoid falling for sales tactics.
No, but the more Japanese you speak, the easier finding a programming job in Japan will be. This may sound obvious, but it's profoundly true in my experience. The number of software development opportunities available to you will correlate directly to your Japanese level. As your skills improve, doors will open. However, this doesn't mean you're totally sunk if you don't speak any Japanese. It just means that you'll need to compensate by being stronger in another area.
For example, the stronger your technical skills, the more acceptable it will be for you to not speak Japanese. In fact if your Japanese skills are non-existent and you want to move to Japan and work as a programmer ASAP, then it might make more sense to drill Leetcode and brush up on your technical interviewing skills than to try and learn Japanese. You can also work on improving your communication skills and ability to sell yourself, as these will also have a direct impact on your performance in technical interviews with Japanese companies.
Pro tip: No one in Japan cares about the JLPT.
Well, some other foreigners might care a little bit. But very few Japanese companies even know what the JLPT is, let alone what the different levels actually mean. And if it matters, yes I'm speaking from experience here (I have N1). What I found was that the higher levels might help you get from the resume stage to the interview stage at certain companies, but it's literally useless after that (not that you'd need to rely on a resume screening anyway since you got a referral, right?). The JLPT still has a lot of value as a way to measure your learning progress and keep you motivated, you just shouldn't expect companies to roll out the red carpet for you because you passed it.
The only thing that actually matters after the resume screening stage is your communication during the interviews themselves. At the end of the day, companies have requirements, and either you fulfill them or you don't. And when it comes to Japanese skills, this means you need to show one of two things to get hired: (1) enough Japanese skill to do the job or (2) enough passion that they're willing to trust that you'll learn. If a company requires Japanese and you can't show either of these, they won't hire you. So if I were you I'd focus on practical speaking skills and company research rather than test prep.
This really depends. I personally believe that being in Tokyo (as opposed to somewhere else in Japan) increases the chances of finding a fulfilling job as a development job by magnitudes. Which is not to say that there are no good jobs elsewhere. There are tech companies throughout Japan, it's just that the vast majority of foreigner-friendly ones are in Tokyo.
There are a handful of big companies with offices in places like Fukuoka (LINE, Mercari) but the number of programming jobs that provide the type of environment sought by most foreigners will be much smaller.
Outside of Tokyo, salaries will also usually be lower, even relative to the lower cost of living. There will be fewer events and the ones there are will have fewer foreigners and less English. Having said that, there are still foreign software developers working happily from places like Fukuoka and Osaka, and the number of progressive startups is continuing to increase and the situation outside Tokyo seems like it will continue to improve. Fukuoka recently introduced a special visa to encourage people to open startups there, and Kyoto has also become somewhat of a hot spot in the last couple of years.
So it's up to you. Being in Tokyo will make it a lot easier to progress in your career, but it's at least worth searching elsewhere for those who don't want to (or can't) move to here.
While it can be tricky to pull off, working remotely for a foreign company while living in Japan is a viable option for some people. This opens up an entire new set of companies, and is also worth looking into if you can get a visa that allows it and you don't mind the full-remote lifestyle. Keep in mind that while the number of companies allowing remote work is definitely on the rise, most companies still require remote workers to be in the same country as the rest of their team (or at least the same time zone).
It may be fairly rare, but I have heard of people working remotely from Japan, so here are a few resources for finding remote jobs for developers:
- Hacker News "Who's Hiring" threads (Google the one for the current month)
- Github - remote-jobs
- Github - awesome-remote-job
I'm not sure there's much to say about the actual interview process for developer jobs here in japan. If you're applying to companies from abroad they'll typically do at least the first few interviews via video chat, in fact flying candidates out to Japan for interviews is still relatively rare (with a few exceptions). Interview dress code depends on the company just like in the US and most other places. Banks will typically expect you to wear a suit whereas startups won't care what you're wearing.
Hardcore algorithm and data structure-focused interviews are rare, although programming challenges and take-home tests are common. Every company will ask you why you want to work there so you should have a good reason lined up. Many will also ask you specific questions about their product or service so you should actually use it beforehand. Most companies will have 3-4 rounds of interviews before making an offer, and the vast majority will ask you your current and expected salary pretty early in the process, so have your negotiation strategy ready (I'm a proponent of the Patio11 method personally, but that's a whole topic on its own).
Pretty much any semi-skilled, English-speaking software engineer who wants a job in Japan could probably find one if they just search. But foreigners should be careful when looking for a job in Japan, especially in the software industry. It's crucial that you do your own research and find a company that you can genuinely see yourself working for.
A lot of people dream about living in Japan, and some of them get so focused on that dream that they forget to do their due diligence and end up in jobs they don't really want. Working in Japan can be an amazing experience, but the novelty of being here will wear off, and when it does you need to make sure you're in an environment where you'll be okay with that. Being in Japan doesn't remove the need to keep moving forward in your career and learning new skills.
We've all heard the horror stories from engineers who moved to Japan and had bad experiences at tech companies here. The truth is that if you're not careful, it's easy to end up in a poor environment as a programmer here. And this is especially true if you accept an offer from a company just because it's in Japan. As someone who has spent my entire career as an engineer in Japan, the job landscape here for foreign developers has never been better, but you still need to be discerning.
There are still a huge number of companies out there that wouldn't be a good fit for the majority of English speakers, yet may be willing to hire them anyway. So if you choose a company because you're desperate, or move here as an escape, there's a good chance you'll end up at one of them. And then you'll be the next foreigner telling horror stories about Japan's IT industry.
Knowledge is power when it comes to working in IT in Japan. If you do your research and don't compromise until you find somewhere you can thrive, you'll likely have an amazing time in Japan. On the other hand, if you exhaust all of the progressive, foreigner-friendly companies and still can't find a position, consider putting your move to Japan off and spending some time to improve your Japanese or your tech skills. Japan's not going anywhere, and if you really want to end up here, you will.
I think the best litmus test when deciding whether to accept a tech job in Japan is this: Would you be genuinely excited about this job even if it weren't in Japan?
If the answer is yes, then go for it! That's what I did, and I've never regretted it a day in my life.