So you’re a developer living overseas and looking to come to Japan as a programmer. You've looked around, and seen that most companies are looking to hire people already living here. How do you get over this catch-22 and land your first job here? Your options depend on a combination of how desirable your skills are to potential employers and how much risk you’re willing to take to get here.
This article is based on my own experiences working as a programmer in Japan, and from talking to countless other international developers about how they got their start here. I’ll help you understand what your chances of getting a job here are, and what options you have for getting here in the first place.
Evaluating your employability in Japan
The first step in your journey to be a programmer here is to take a look at your employability from a Japanese employer’s perspective. The more attractive a candidate you are, the less risk you’ll need to take to land a job here.
A precondition of getting a job as a developer in Japan is eligibility for a valid visa. Typically this means being eligible for an Engineer visa. The most common way to get this visa is to have a university degree in a related field. So as a bachelor's degree in computer science will count, buta diploma from a two-year technical school won’t. Alternatively, ten years professional experience will also qualify you.
There is a third way of obtaining Engineering visa, but it is not so well known, and I’m still fuzzy on the details. Apparently if you pass the Japan Information Technology Engineers Examination, which is offered in English twice a year in the Philippines, you’ll be eligible for an Engineer visa even if you don’t have a relevant degree or professional experience. I do know one developer who got a visa after passing this exam, but as it is a relatively unknown option and can take some time to get, you’ll probably need an employer who is quite enthusiastic about you to go down this route.
Japanese language ability
The greater your Japanese ability, the more job options you’ll have. If you’re a fluent Japanese speaker, you’ll be eligible for technical jobs that don’t require much in the way of development abilities. On the other hand, if you don’t speak any Japanese at all, you’ll be limited to a handful of companies, and need exceptional technical skills.
If you don’t have any Japanese ability yet, and are thinking about moving here, at the very least do something like enrolling in a weekly Japanese class. Demonstrating you’re willing to make the effort to learn the language reflects positively on you as a candidate, and regardless of your employer’s requirements, it will help your daily life go smoother when you move here.
The greater your technical ability, the less Japanese you’ll need. If you’re perceived as an exceptional developer, you’ll be able to get jobs that don’t require any Japanese ability. Otherwise, you’ll need a greater level of Japanese to make up for it.
Doing a self-evaluation of your perceived technical ability can be a bit challenging, but I’d start of by looking at your career so far. If you struggled to find your current job, you’ll probably have an even harder time finding one in Japan. You can improve your chances by getting better at marketing yourself as a developer, something that will not only help you get a job in Japan, but anywhere.
Routes to your first job in Japan
The more attractive to an employer you are, the less risk you’ll need to take to get here. If the prospect of coming here, living here for a year, and not finding a job doesn’t bother you, there are plenty of options for you. On the other hand, if you need a job offer before relocating here, your options are more limited.
Receiving a job offer while overseas
The holy grail. More overseas developers want to work in Japan than there are companies willing to hire them. Because of this, and the extra risk associated with hiring someone and relocating them to another country, companies are only willing to hire people who are provenly exceptional developers, and aren’t looking for people who can grow into great ones.
Specifically, you’re only likely to get a job offer while overseas if you have extensive experience with technology relevant to the position, or if you can signal you are an exceptional developer. One signal is working at a company famous for their developers, say Google or GitHub. Another is having significant open source contributions. Having presented at a conference is another. Basically, the company needs to think you’re going to be an exceptional addition to their team to get an offer while overseas.
Even if you are a talented developer, you’re going to need to work harder to get an offer than you would in your own country. So I’d treat applying for a job here like you would as a junior developer, and be sure that your application demonstrates why you’d be the perfect person for the job, rather than sending them something generic and leaving it to the company to work out why they should hire you.
One thing that will increase your odds of landing a job from abroad is being able to demonstrate a strong connection to the country. Having a Japanese spouse helps, as it indicates to the company you’ll have someone to support your transition to life here, and makes it less likely you’ll get overwhelmed by life here and flake out. Any past experience living here, such as an exchange student, is also a big plus, as it demonstrates you have a more realistic picture of life here. On the other hand, if you’ve never even visited Japan, it will reduce the willingness of companies to hire you.
If you really would like to move to Japan, this option is probably not for you. Compared to other options, the barrier of entry is just too high for you to have a good chance of landing something.
Working Holiday Visa
I first came to Japan as a developer on this visa. If you’re eligible for it, this visa gives you the best chances of landing your first job as a software engineer here. Only some countries countries participate it (as of writing this article, Australia, New Zealand, Canada, Korea, France, Germany, The United Kingdom, Ireland, Denmark, Taiwan, Hong Kong, Norway, Portugal, and Poland) and you need meet the conditions which vary from country to country (typically that you’re under 30 years of age).
The great thing about this visa is that it doesn’t require a sponsoring company, and allows you to do basically any kind of work on it. The concept of the programme is to provide you a way to support yourself during a holiday to Japan, but there are no strict limits about how much you work, and you can get a full time job with it.
From a potential employer’s perspective, having this visa takes away the risk associated with an overseas hire. You’re already here in Japan, so they can just put you through their normal screening process. You’ve demonstrated you are committed enough to living here to take the leap on your own. Furthermore, should the company choose to hire you, you’re allowed to start working full time, without needing to change your visa.
One thing to keep in mind is that you’re only allowed to do a working holiday once in your life in a given country, so timing is important. I think there are two optimal times to take one: when you’ve just graduated from university and after you have a couple years working experience.
I came to Japan just after graduation. My thinking was if I didn’t end up getting a job here, it wouldn’t be a big deal to my future career, as it is fairly common in Canada to take some time off between graduation and your first job. I was lucky enough to land a job as a junior developer here. The combination of having a working holiday visa, having a natural aptitude for programming, and being able to convey to the company that I really wanted to work with them got me the job. If you’re someone who excelled at programming during University, and are willing to put in sustained effort to find a job here, you’ll probably be able to find one too.
The other option is to wait until you have some working experience. It will be much easier for you to get a job locally than in Japan, so if you aren’t so confident about your technical abilities, this could be the way to go. Most positions hiring international developers are looking for people who are already experienced, so if you’re battle-tested, it can boost your odds of getting a job here.
Should you go down the working holiday route, I’d approach it as the visa intends: as a one-year holiday. That way you’re prepared for the possibility you won’t manage to find something, and landing a programmer job becomes a bonus.
Teaching languages, especially English, is a relatively easy way to get an overseas job offer in Japan, and I know some developers who started their life in Japan this way. Though this is an area I don’t have so much experience with myself, if you’re someone without any teaching qualifications, there are two main paths: the JET Programme and teaching at a conversation school.
The JET Programme is a Japanese governmental programme that brings university graduates to Japan with the aim of providing exposure to international people to Japanese citizens, primarily school students. Most of the positions in the program are teaching related, though if you have strong Japanese skills, there are also some bureaucratic positions available.
Although you can have some influence of where you’ll be placed, you’re most likely to get a position in a small rural town, rather than a metropolis like Tokyo. This means you’ll likely make few job related connections while on the programme unless you really go out of your way to do so. The flip side is that it is a great opportunity to improve your Japanese abilities, as there won’t be many fluent English speakers around you, and you have a relatively large amount of time to use at your discretion, where you can work on bolstering your Japanese or technical abilities.
One restriction of the programme is that you agree to a one year contract, so you are making a commitment when you enter it. Because of the fixed recruiting cycle of the programme, should you drop out, there won’t be any replacement for you, so unless you’re serious about completing the full contract don’t join the programme.
I do know Japanese who through their interaction with teachers in this program became interested in English and life outside of Japan, so I think participating it is doing a service to Japan. Because it is a government run programme, I have a hunch you’ll also get a bit more respect from potential employers over a conversation school job. Had I not had a working holiday visa, the JET programme would have been attractive to me personally.
The other option is teaching a conversation school. While enjoyable to some people, others find it soul crushing. The quality of schools varies quite a bit too, ranging from caring about teaching to practically being scams. The advantage over the JET programme is there are more opportunities available, and you have a decent chance in finding a job in a place like Tokyo, where it is much easier to get into the developer community. Also, because these schools are businesses, and teachers frequently change, should a developer job opportunity come up, you’ll be able to take it.
While teaching at a conversation school for a year or two probably won’t affect your career much, any longer and it will put a blight on your resume. So if you go down this route, I’d put a deadline on yourself to transition out of teaching, or return to your country.
Attending Japanese language school
If you’re wanting to live in Japan long term, you’ll want to improve your Japanese skills anyways, so attending a Japanese language school is one option that lets you live in Japan and get into the local developer community.
While on a student visa, you can work part time, which theoretically would let you do some work as a developer. Because you also need to be attending school full time, finding employment might be a bit challenging, as you’d need to convince a company to be flexible on working hours,at least until you get a working visa.
If you do decide to enter a Japanese language school, I’d count on spending at least a year at it. This means you already need to have enough money saved up to both cover costs of tuition and your living expenses.
Attending a Japanese University
I know a number of developers who have came to Japan initially as a graduate student and then found a job. Japanese employers do place a lot of value on the name of the university you attend, so I’d aim for a top tier one.
Postgrad studies is a better way than doing an undergraduate degree in Japan. Generally speaking, the quality of undergraduate education in Japan is pretty low, with most students not taking it seriously. On the other hand, interesting research does happen at the graduate level. Furthermore, while an undergraduate degree at a top tier school would require you to do it in Japanese, at the graduate level you can get by with English (though don’t be surprised if some of your classes turn out to be in Japanese).
While a Japanese university does have the potential to provide connections, your best bet is still to find something yourself. So in addition to your studies, make use of your time to build up connections to the local development community.
Since you have a student visa, you’ll also be able to work part time. As a university student, you’re also more likely than someone just studying Japanese to be able to obtain a software-development related internship.
There are a number of scholarships available for international students studying in Japan. If you manage to obtain one of them, while you might not be able to save money, you at least shouldn’t be losing it.
Give a presentation at a developer event
Knowing what I do now about getting hired, a strategy I would use is giving a technical talk at a Japanese conference (or even more casual event). Doing a presentation is one of the most effective ways you can demonstrate your skills as a developer, and you’ll be able to meet many potential employers or colleagues in one fell swoop.
Most of the major programming languages have annual conferences where anyone can apply to be a speaker. The ones that come to the top of my head are Ruby Kaigi, PHPcon Japan, PyCon JP, Scala Matsuri, and Node Gakuen. If you get selected to speak at one of these conferences, you’ll be able to reach many of Japan’s top developers, and should be able to turn your presentation into getting multiple interview offers.
In addition to these major conferences, there are countless technical events that happen in Tokyo. While they don’t necessarily have as big an audience, most organisers have a tough time finding presenters, so you’re almost guaranteed to have the opportunity to do a presentation. This is a great option if you happen to visiting Japan on holiday. If you’re passing through and would like to present at an event, send me an email, and I’ll help you figure out what your options are.