How to Write Resumes for Jobs in Japan

Photo of Scott Rothrock

Scott Rothrock

Community Moderator at TokyoDev

Writing a resume for your native language and culture is a sizable challenge for many, especially for software developers. The stakes are high (a job you want!), but the advice is uncountable and often contradictory. While many people may first think that it would be natural to submit a resume in Japanese to companies in Japan, the truth is that Japanese companies will sometimes write job descriptions in English—and when they do, that is a sign that you should submit a resume in English. Jobs listed on TokyoDev expect English resumes.

I have looked over pools of resumes when interviewing and hiring applicants here in Japan, and I was also an applicant myself just two years ago. So I have recent experience from both perspectives, as well as feedback from the many people who were kind enough to review my own resume while I was looking for a new job—all of that combined has resulted in my own set of advice about English resumes.

The TokyoDev Discord community has a channel where community members submit their resumes for feedback and review. Many community members contribute their time and experience to help others improve their resumes.

This article covers pieces of advice that show up time and time again. From a high level, these are:

I sort this advice into two categories: optimizing for applicant tracking systems, and optimizing for humans.

Optimizing for ATS

ATS, or Applicant Tracking Systems, are software suites that many companies use to streamline their hiring processes by extracting and normalizing information from resumes and applications. That normalized information is then stored to make it easier for recruiters to query, highlight, and visualize the way each applicant matches various positions.

Imagine that you are hiring for a single position and get 500 resumes on the first day. After reading through the first dozen resumes, you realize that most of them aren’t even suited for the position you advertised. The thought of reading over 400 more resumes that may or may not even be relevant to the position you want to fill can be an extremely daunting task.

ATS scan resumes and extract keywords related to your roles, skillset, accomplishments, and educational background. If you present a resume that ATS cannot parse—for example, one written in crayon with pictograms—no matter how relevant your experience is, your resume may not even make it to human eyes for consideration. These extracted keywords can then be used in your profile in ATS to help people quickly understand your profile without having to pore over your full resume. But if ATS cannot parse your resume and fill out your profile, those reviewers may see a blank profile and drop you from consideration, rather than taking a deeper look at your resume.

Therefore, resumes should be written not only for humans, but also for automated scanning.

Include your basic information

Your basic information includes things like your name, email address and perhaps your phone number (with country code). Make sure that these details are correct so that they can be captured—you don’t want to miss a phone call for an interview because you mistyped your phone number!

When applying to jobs in Japan, it is also helpful to consider the employer’s perspective and include your nationality, any Japanese residency status you may hold (and the term), any past time you have lived in Japan, as well as your Japanese language ability.

Use a common font in a readable size

ATS will sometimes parse your resume using optical character recognition (OCR), which means that they look at your resume as an image and attempt to guess what the text is. Using a common font (e.g.: Arial, Calibri, Georgia, Times New Roman, Verdana) with a readable size (10-12 pt) reduces the chance of OCR errors that could result in your resume being filtered out.

Using a readable font size ensures that your resume is accessible for human reviewers as well.

Use common section headings and formats

Avoid being unconventional. Using emoji or clever phrasing may stand out to human resume reviewers, but ATS will often not understand them, which may lead to it discarding or misfiling all information under that header. Label each section with commonly-used headers, such as “Work experience” or “Internships” instead of “💻🚀” or “My time before the grind”.

Use text, not graphics; be explicit

A popular resume format encourages people to list their skills with “skill bars” or icons. At first glance, it may seem visually pleasing, but it doesn’t provide any useful information due to the lack of context. If someone has ★★★☆☆ in Ruby, does that mean that they’re good, and ★★★★★ is the Platonic ideal of a Ruby developer? Or does it mean that they’re average or below average? A job description will usually ask for “at least X years of experience”, but neither ATS nor humans will understand how ★★★☆☆ relates to that.

Related to this, if you submit your resume as a PDF, do not rasterize your resume. Rasterization is essentially turning your PDF into an image, which makes your resume less parseable by ATS and less accessible for human reviewers.

Use the keywords provided in the job description

Job descriptions are like test cases: they provide the answers that they are expecting. If a job description seeks someone experienced with Django, but your resume mentions how you have contributed directly to Python and have worked with many RESTful frameworks, ATS may drop your resume due to not finding the word “Django”.

Use a spelling/grammar check tool

Both ATS and humans alike may drop a resume if it is riddled with misspellings, albeit for different reasons. Spelling and grammar check tools are ubiquitous and you should take advantage of them to prune all low hanging fruit. Perhaps you were tired when you wrote “prostgreasql”, and you and other human readers may figure out that you meant “PostgreSQL”, but ATS will not be able to parse your mistakes correctly.

Optimizing for human readers

After your resume has passed the basic ATS-powered screening, its next stop will likely be a human being. There may even be multiple people reading your resume and leaving notes as they go through the resume pool and try to narrow it down to the interview candidates. There is no general way to know whether the person reading your resume will be technical or not, or what they value in a resume.

Fortunately, the tips meant for helping your resume pass through ATS filters will also help humans read your resume. This is not to say that we can’t do even more to help your resume pass human screenings!

Context is important, so in the following examples, we will consider the following fictional job description:

Senior Software Developer

Fictional Ball Team is a semi-pro Japanese baseball team with an in-house engineering department that creates and maintains statistical software. Our coaches and front office use this software to collect and view statistics and notations that drive decisions around recruiting and training.

We are seeking an energetic, self-motivated senior software developer who can clean up our legacy application (written in Java) before we start building up a mobile application to replace it.

The mobile application and all legacy data will be deployed to managed devices, so you will be responsible for leading the development of those processes and infrastructure. We are seeking an engineer who is eager to lead a small team in taking responsibility for this product and the future mobile application.

Required experience: Java, Kotlin, JetBrains ecosystem, Android Studio
Nice-to-have experience: Mobile app deployment to managed devices, mentorship, team leadership

If you have that experience, your initial attempt at summing up your most recent role might look like this:

Work Experience

Current Company, Senior Software Engineer (2020-present)

  • Maintained applications written in Java and Kotlin using JetBrains IntelliJ IDEA, fixed bugs and released new features.
  • Led a team of 4-5 developers in writing Android apps.

Our fictional applicant hits many of the keywords highlighted in the original job description with this initial draft. It is typically unnecessary to call out tooling in your bullet points. However, since the job description specifically asks for someone with experience with specific tools, it can be smoother to work those tools into the bullet points than to create an entirely separate section for just one or two items.

Summarize experiences and achievements, not tasks

A resume is generally understood to be a list of jobs/roles that you have held and “what you did at that job” in the form of a bullet point list. The previous example satisfies many of the criteria for passing ATS filters—note the keywords!—but may not be as effective for a human reader.

Almost every applicant who meets that job description is likely to have the exact same keywords. Your experience and accomplishments will make you stand out in the eyes of a human reviewer. A reviewer will have a list of questions, and ideally your resume will answer every single question so that the reviewer finishes and thinks, “This person is exactly what we need! Let’s interview them!”

We can stand out from the crowd by adding more detail about our experience and what we achieved in a way that is more specific to the job description:

Work Experience

Current Company, Senior Software Engineer (2020-present)

  • Maintained legacy desktop application MyApp in Java using JetBrains IntelliJ IDEA by fixing bugs, adding documentation, and increasing test coverage
  • Led a small team to create a replacement mobile app MyApp2 in Kotlin and ensured smooth handover from MyApp to MyApp2

Be specific and add context

We can still improve those example bullet points by adding more detail and context. Many developers suffer from impostor syndrome, so what seems like “just a normal thing” could be impressive to other developers.

The caveat is that you need to know or be able to access the numbers you want to add. If your company tracks and generates statistics, you may find them useful for your resume as you work on it. It is also a good idea to keep a personal log of accomplishments to build your own dataset and remind yourself of what you have done after the days have blurred together.

It may be a simple query to find the number of times your product has been deployed or installed, but it may be tougher to understand how your changes have affected the product if you haven’t kept a personal log.

Additionally, when possible, you can name other specific tools or goals to give context; “fixed bugs” isn’t as meaningful as drilling down and calling out specific types of bugs, such as latency or crashes.

These details may be small, but they can give context to your accomplishments and make them resonate with the reviewer.

Work Experience

Current Company, Senior Software Engineer (2020-present)

  • Maintained legacy desktop application MyApp in Java using JetBrains IntelliJ IDEA; reduced crash frequency by 80% and lowered latency by ~800 ms.
  • Led team of five to develop mobile application MyApp2 in Kotlin to replace MyApp; created managed configurations for deploying to over 2,000 internally-managed devices.
  • Mentored two junior engineers in achieving full test and Javadoc coverage with tooling such as the JavaDoc plugin for JetBrains IntelliJ IDEA and JaCoCo.

Imagine what you bring to the role

The job description is clear and lists several criteria, but perhaps there is more you can bring to the role beyond what is listed. It sounds like the company is going through a transition from an old product to a new product.

If you have experience with older software with an active user base that has reached the end of its lifetime, that is probably something worth going into detail about. Or perhaps you have helped write and scope tickets, or triaged feature requests—both of these are situations that are likely to come up in the situation outlined in the job description.

Given two candidates who seem equal in all technical aspects, the difference in the “out of scope” experience they have to offer will be one of the deciding factors. We can add a new bullet point for that:

  • During MyApp2 development, evaluated the jobs-to-be-done by reviewing acceptance criteria and communicating with stakeholders to reduce scope or improve detail as necessary to ensure that the development team could deliver on expected timelines.

This type of work is usually seen as product or project management work, but it is not uncommon for engineers to pick it up, especially in smaller teams. The job description called out that they are looking for someone to lead a small team, so it’s a good bet that the reviewer will appreciate this detail.

Add personal projects when relevant

Personal projects are another way of standing out from the applicant pool, but they should be relevant to the job at hand. Perhaps you have made a Notion clone or a to-do list manager, but unless there is something outstanding (e.g.: my to-do list app has 50,000 active users!), it probably isn’t worth adding to your resume.

However, if the personal project is relevant, you might want to see if it’s publicly available and is in a condition representative of how you normally write code. In this case, let’s add a few related personal projects, which brings our extremely simplified resume draft to this:

Work Experience

Current Company, Senior Software Engineer (2020-present)

  • Maintained legacy desktop application MyApp in Java using JetBrains IntelliJ IDEA; reduced crash frequency by 80% and lowered latency by ~800 ms.
  • Led team of five to develop mobile application MyApp2 in Kotlin to replace MyApp; created managed configurations for deploying to over 2,000 internally-managed devices.
  • Mentored two junior engineers in achieving full test and Javadoc coverage with tooling such as the JavaDoc plugin for JetBrains IntelliJ IDEA and JaCoCo.
  • During MyApp2 development, evaluated the jobs-to-be-done by reviewing acceptance criteria and communicating with stakeholders to reduce scope or improve detail as necessary to ensure that the development team could deliver on expected timelines.


  • BookSwap: In university, wrote and distributed an Android app to over 4,000 students to facilitate individual used textbook sales; maintained this app for three years until graduation.
  • MySabermetrics: Wrote an API to extract US college baseball statistics from official sources in order to generate data and graphs per published information regarding PECOTA.

Focus on content, not length

A common worry for many people, especially for those in the early stages of their careers, is that their resume does not fit into one page. This is due to a general guideline that resumes should be one page.

Rather than focusing on the expected length of the resume, instead focus on filling your resume with meaningful content that applies to the job description. For example, after you’ve been in the workforce for a year or two, details about academic coursework in high school and university are less relevant and should be dropped.

If your resume is still longer than one page and contains only information relevant to the job description, then it is probably appropriate for the application; one exception would be a rare case where the system only accepts single-page documents or a specific number of words. In those cases, all you can do is sit down and start trimming older experience or compressing details.

Once you have passed five or so years of experience, you may even find that you struggle to fit your resume on even two pages, depending on the number and types of projects you have worked on. I have seen resumes from seniors that have been filled with three pages of extremely useful, pertinent information.

Let’s introduce an artificial limit to see how this advice affects the example resume. What if the application form only allows 1,000 characters? Our working draft is a bit longer than that, so we need to trim some content to fit.

The most obvious candidate for removal is the BookSwap project. It is from the fictional candidate’s university days, presumably more than at least five years ago as the candidate is applying for a senior position. The BookSwap project also duplicates more recent professional experience and is redundant. Although the candidate built BookSwap on their own and achieved a large user base, it is difficult to argue that it adds anything to the resume that doesn’t already exist in a professional form.

We could also tighten up the resume by removing ambiguity. For example, the statement “reduced crash frequency by 80%” brings to mind a lot of questions—what was the crash frequency? Why was it crashing so much? Or if it wasn’t crashing that much, does the percentage mean that the applicant caused it to crash one time less in a number of years?

If you choose not to remove this detail, you should be prepared to answer questions about it in an interview if the interviewer is curious. Another option would be to add more detail to the resume, but there isn’t enough space to do that due to the 1,000 character limit.

A final option is to remove that statistic entirely, but review the issue to be able to present it in the interview if you are asked about an example of a specific bug you fixed. Not every story has to be in your resume.

Avoid including details that are too personal

People often include details such as their photo, street address, race, age, gender, marital status, or religion. In some cultures, it may be common and accepted to include any of those details when applying for a job.

However, when applying for jobs in Japan, these types of details should not be included in an English resume. If a company requires any of that information, they will specify it in an application form. Providing that information up front in a resume potentially introduces bias.

Recruiters could act on that bias and discard the resume simply because the applicant is from a wealthy area or belongs to a specific religious group that they personally have distaste for. On the other side of the coin, because anyone acting on bias could open a legal can of worms, it is also possible that companies could discard your resume outright to prevent the possibility entirely.

Another angle to this problem is the issue of demonstrating a connection to Japan. When an applicant lives overseas, it’s almost inevitable that an interviewer will ask “Why do you want to move to Japan?” This helps them gauge the level of commitment and make a guess about whether the applicant will be able to settle in productively. Companies do not want to invest time and money in securing a visa for someone who may decide after a few months that they want to return to their own country.

Many resumes I have seen include a section about interests or hobbies, which often mention something about video games, anime, food, or Japanese culture. Things like this can go either way for recruiters; some would see “anime” or “food” as unprofessional, but others would try to explore how that led to you deciding to move to Japan.

One strategy is to completely remove this information from your resume. While that may result in a more professional-looking resume, it may also weaken your resume in the eyes of some recruiters as you have no visible connection to Japan, and thus no visible reason to relocate or live in Japan.

If you choose to leave that information in your resume, it would be a good idea to prepare to speak about how your interests drove your decision to relocate to Japan in case it comes up in an interview.

Concretely describe your Japanese ability

People often wonder how to express their Japanese language proficiency. Many naturally gravitate toward expressing it in terms of Japanese Language Proficiency Test (JLPT) levels, such as N1 (the highest) or N5 (the lowest), as that is one of the most common ways for foreign learners to grasp their capabilities.

The Common European Framework of Reference (CEFR) is another scale people often use in their resumes.

However, both standards face the same problem: many Japanese people do not know about or understand what those scales are, which could result in your resume being filtered out by a busy person who doesn’t have time to do research to understand what your grade means.

One of the simplest ways around this issue is to state your Japanese ability in simple, concrete terms. For example, you can say “Business level” or “Conversational” as shorthand. Interviewers often understand this problem and if you provide them with a basic idea of where you are, it is a prompt for them to engage you in Japanese, which can provide them with a more realistic view of your Japanese ability.

I have never taken the JLPT myself, which has at times invited questions about my actual Japanese ability vs my claimed Japanese ability. In the case of companies presenting their job descriptions in Japanese, one way I have sidestepped this issue in the past is by submitting my materials and application in Japanese. In that case, it is taken for granted that I can read, write, speak, and understand Japanese as the entire process is conducted in Japanese; any disfluency is immediately visible in the process itself.

Please note that this is not a strategy to use with companies posting their job descriptions in English; in these cases, if you submit a Japanese language resume, it may be discarded outright as the reviewer(s) may not even speak Japanese.

This is not to say that you shouldn’t bother listing your certifications; if you have certifications showing your Japanese ability, such as the Business Japanese Proficiency Test (BJT), you can and should absolutely list them on your resume, but should also provide simple context because many reviewers will not know what the scores or grades mean. If you find that you are running out of space, a compact abbreviation such as “Conversational Japanese (JLPT N3)” gets the job done.


While this article does not cover every possible scenario when writing a resume in English for submission to a company in Japan, it does cover many common issues I have seen in resumes presented in the TokyoDev Discord community. Having a peer review of your resume is an extremely important step; other people can help you understand what details or context you should add or remove. Join the Discord if you’d like to get your own reviewed.

More about the author

Photo of Scott Rothrock

Scott Rothrock

Community Moderator at TokyoDev

Scott is a deaf American in Japan. He was previously the principal engineer at a Japanese startup for over a decade and is currently a senior engineer and backend team lead at an American startup. He loves dogs and if you talk to him long enough, you will eventually hear about his dogs, Noa and Sophie.

🚀 Opportunities for English speaking developers in Japan

New job postings as they're listed, delivered to your inbox. Your email stays private, I don’t share or sell it to anyone.

Other articles you might like