Being a foreign software engineer in Tokyo has its ups and downs. If you work in a company of foreigners you’re mostly shielded from the experience, but if you work in an actual Japanese company there’s going to be some things that will shock you, some things that will amuse you, and doubtless many things that will frustrate you. This is a run-down of my own personal experiences. As with anything, this is all anecdotal. I’m certain there are better and worse situations than what I will describe here. That being said, I hope this serves as a data point for those considering an engineering job at a Japanese company in Tokyo, or a wake-up call for those whose cognitive dissonance is strong enough to blind them to the less ideal parts of life abroad.

For further comments see the Hacker News thread.







I ended up moving to Tokyo initially for a startup that turned out to be based there. Full disclosure, I knew basic Japanese before moving to Tokyo, so it didn’t seem like a crazy idea to me. What started as a potentially short-term engagement turned into 5 years in the land of the rising skyscrapers. I would end up working in a variety of environments. The story of how I got this first job and others and moving abroad are beyond the scope of this post, and maybe I’ll write about it sometime, but this time around I’ll be focusing just on my own experience in a Japanese work environment.

I feel the need to preface what I’m about to write with the following: I absolutely loved my time in Japan, and most of my interactions with Japanese people in general and coworkers in specific. I think Japanese culture, like many cultures, is intricate and fascinating. The reason I feel the need to say this is that what you’re about to read may come off as negative, but please take it as what it is: an anecdote. I believe that in order to appreciate anything, you must accept all parts of it as existing in the same reality. Reality has flaws, and friction, and unfortunate interactions, but it’s these complexities that make the spice of culture what it is. Please refrain from drawing an excessive amount of conclusions from an anecdote, but also do not dismiss it. Working in Japan can be a great experience, just be prepared for complexity and nuance.

I also apologize in advance for my awful Japanese and awful English translations, but I hope the points get made.

A lot of this post will not involve engineering or even work directly, but since I worked as a software developer, this is the perspective you will get. There’s so much to mention on engineering I wouldn’t know where to begin (but I’m open to suggestions if anyone is curious!).

Alright foreigner, we’re now ready for a trip to working in Tokyo.

You’re Not From Here

You are a foreigner. You were a foreigner before you arrived, you are a foreigner while you are in Japan, and when Japanese go abroad they will still refer to you as a foreigner, ironies be damned. This cannot be understated and will be a recurring theme in the stories to come. Never forget, you’re a foreigner. They won’t ever forget.


You’ve just joined a Japanese company in Japan. You’ll be dealing with engineering, the language, and a variety of cultural differences. The excitement! What great adventures await.


NOTE: non-engineers can safely skip this section.

If you end up at a reasonable company, you may find a similar setup to what you’re familiar with at home. Continuous integration, different development environments, and the use of some of the most popular enterprise software like Java or so. And then the fun begins.

UTF8 vs Shift JIS and EUC-JP

Surely the battle over unicode has long been resolved, right? Hah, hah… hah…

Along with the almost religious use of Microsoft Excel to do almost anything, comes the use of one of the two old popular encodings for Japanese: Shift JIS for Windows, and EUC-JP on mac. The logic is actually not as crazy as it sounds: most people have their Excel set up to read Shift JIS, and when you give them UTF8, they get mojibake. Of course, you just need people to change their Excel to default to UTF8, but then what do they do with all their legacy documents? You probably haven’t had this problem as a foreigner. And so the chicken and egg continues for all time.

Not Invented Here

While you will find plenty of companies using the Google Suite of tools for online collaboration, you will also find Desknets and Garoon which are homegrown solutions for the usual calendar and other administrative operations. They often have comically awful bugs, such as Garoon not allowing you to add a person into a meeting after it’s made unless you clone the meeting, add the person, save it, and delete the old event (I pray this is fixed in newer versions). You will also find that local chat apps like ChatWork may be used instead of Slack (though Japan has a sizable Slack following as well). This is not that strange, and is likely the result of getting cheaper prices (ignoring total cost of ownership), and a tendency to trust local brands, or a genuine love of the product. I think this says more about the prevalence of American software abroad, and less about Japan.

Physical Books

While physical books are of course still used in the west, they are often reserved purchases of only the most esteemed and reusable books. Book stores in Japan have a relatively strong following, and at work you will regularly find people who buy books and magazines for almost anything, sometimes as hilariously specific as how to use LINE messenger properly. Honestly, I think that having reference guides easily available is a great thing. I just found this amusingly anachronistic. You will also see a decent amount of people reading physical newspapers on the train, but that’s another story.

In Silicon Valley I’ve often seen people buy technical books that are renowned and lining their shelves with them to seem well-educated, which is also funny. I think this happens in Japan as well, but I’ve more often seen the case of hyper-specific books mentioned above.

Engineers by trade

You will often find that many engineers have no Computer Science degree, which on its face is not so unusual even in Silicon Valley companies, but you may find people who had virtually no experience programming before joining a company. This is most likely a result of the Japanese university system, whereby your major and your future job often have little correlation. Typically one year before graduation, you apply for jobs and run around the city in a suit trying to convince a company that does virtually anything to hire you. If you’re lucky, you get in, and in the best of cases, you get training before starting whatever job you now find yourself in. Sometimes, this doesn’t happen.

As a result, you will find many people who are self-taught (impressive!), but often self-teaching yields less than ideal programming practices: copy+paste over refactoring, happy-path coding, odd variable naming, strong coupling, etc. This will often reflect itself in the code you will be working with, and the discussions you will have, so brace yourself.

Typically engineering organizations will survive thanks to a few great engineers who are often self-taught, but who are also overworked. Japan has many great engineers, but many of them get tired of dealing with Japan’s work culture and go abroad. Those who stay are therefore often in the minority, and while they help to move things forward, they are hopelessly outnumbered by their peers. If you encounter such an engineer, lend them as much support as you can. You might be helping to save their sanity.

Cultural Differences

Sooner or later you will reach a situation where your experience or opinion differs from that of a Japanese coworker, and more than a few will invariably fall back on the easiest and most versatile of conversation-enders: “ah, this must be a cultural difference.” (文化の違い)

I have seen this used to explain:

  • Not writing tests or enough tests before deploying code
  • Lengthy useless ritual meetings
  • Anything where they can’t find a logical explanation for irrational behavior

I must emphasize, not everybody does this, and in fact, the better engineers/coworkers you have will, not surprisingly, always try to keep a good and logical discussion going. That said, you will run into this, so it bears mentioning.

Real Cultural Differences

For better or worse, Japanese working society is often driven by crowd-thinking, fear of shame, fear of failure, and a desire to avoid confrontation and preserve the peace. This will lead to a few frustrating situations.

Fear of Decisions

Decisions are the first step to failure, and nobody wants to fail. But decisions must be made. How does this dichotomy resolve itself? Meetings. Endless meetings and emails, planning documents, pre-planning documents, post-planning documents, meeting documents, and endless discussion of all the things by all the people all the time. The thinking goes, if everyone is involved in the decision-making process, then when something inevitably goes wrong, there’s no individual person to blame! Problem solved.

Of course this solves nothing and generates its own sets of problems, but that’s where another of the great things about working in Japan comes up.


If a matter in dispute just stops being disputed, then the matter is resolved. If it’s impossible to satisfy two contradictory goals, just satisfy none of them, or don’t check if you’ve satisfied them. When someone finally brings it up, just fall back on the usual platitudes:

  • すみません — I’m sorry
  • そうですね — Yes, you’re right (but I will do nothing about this)
  • 仕方ないです — Nothing can be done (it is *inevitable*)
  • さあ — Who knows (I don’t know, maybe nobody knows?)

Example conversation:

Me: This is clearly broken!
Tanaka: Yes, you’re right.
M: Shouldn’t we do something about this?
T: Nothing can be done.
M: This is easily patchable!
T: I’m sorry.
M: Who’s responsible for this code?
T: Team X.
M: Somebody on our team should talk to them.
T: Yes, you’re right.
M: Well, can I talk to them?
T: Ah, it’s not impossible.
M: Does that mean I can?
T: Who knows.

Let’s say I go to talk to team X, the conversation may flow as follows:

Me: Here is a set of patches to fix this issue that exists.
Suzuki: Ah, I see.
M: Well, could you review them?
S: We’ll look into it.
M: But these patches resolve the issue, I’ve done your work for you.
S: Ah, yes, thank you. We’ll look into it.
M: Ok… let me know if anything comes up.
S: Ah, yes, thank you.

As you may have guessed, nothing ever happened, and those patches sat forgotten like so many fallen cherry blossom petals of my youth.


If you are in a group of Japanese people and ask a question, you will sometimes witness the following sequence of events:

  1. Everybody looks around at other people
  2. One person begins to suggest something slightly
  3. Slight or emphatic agreement in a domino-effect across the group

The need to protect social harmony is so deeply ingrained in society that sometimes even in friendly events this will happen, not just at work. This often works well for social questions, but anything work-related will probably best be asked 1:1.

Peer Pressure

You may see bosses or coworkers exerting pressure on someone in order to push more work onto them. This is often referred to as “power harassment” in Japan. As a foreigner, you are likely immune to this, which you will find shapes your relationship with management and coworkers. Rather than ask you to do something, they may go to a coworker they can more easily boss around. For me, I felt bad for the others being bossed around, so I tried to stop the bullies from going to them by complying to some degree with their whims to spare others their fate, but sometimes the requests were so absurd that I had to say no, knowing full well someone else is going to get it instead. It’s awful, and you can try to teach people to say no, but to do so is to fight against one of the most powerful forces in Japanese society.

I’ll do my best

Sometimes you will entrust someone with a task and they will reply “I’ll do my best”(頑張ります). What this really means is exactly that: even if they think a task is impossible, they will genuinely try to make it happen regardless. On the one hand this is admirable, but on the other, it’s not realistic. When somebody gives you this reply, try to renegotiate the terms of the task to make it more reasonable so that the task can actually be accomplished.

This culture of “doing your best” even when it may destroy your health is one of the double-edged swords of Japanese culture. It may get some work done “faster” at least in the short term, but it has disastrous consequences on physical and mental health. I personally saw people work themselves to the point of illness, and still show up to work with a mask on. In one case, a person went to the hospital for side-effects of stress, and then found it difficult to return to working society. People spend a lot of time to admire the Japanese passion for work, but I sometimes feel that the price that is paid in destroying good people is too high.

Office Differences

These are some things I found amusing. Maybe this is common in other places as well, but coming from the bubble of Silicon Valley a few things were striking.

Print Everything

Got a meeting? Print the slides, one set of copies for every person. Got a design meeting? Print high-quality printouts of the mockup for every person in the room. Then mark them up with pens, make the changes digitally, and reprint everything and repeat. Oh the poor trees…

This is true not just of offices, but in almost everything you do, it will come with a piece of paper. I’m not entirely sure what the obsession is with printouts, but it may have to do with the tactile feel of something in your hands, something tangible, in a world like software where so much of what we do is ephemeral. I welcome explanations and discussion around this topic, as I’m honestly still at a loss.

Silence is Golden

As a developer who absolutely abhors open office environments for the engines of chaos and distraction that they often are, I was pleasantly surprised to see how silent most people were while working. However, foreigner friends of mine in Japan were sometimes taken aback by the level of quiet to an almost disconcerting level, so I bring this up. This can differ of course if you have sales or customer service near you, but in general, people will not have loud discussions constantly (with the exception of the insensitive people that exist everywhere on Earth).

Gaijin and Gaikoku

This has likely been talked to death online and offline by this point, but I just want to remind you, you’re a foreigner. Did you almost forget? Gaijin (外人)literally means “outside person” and is a shortened form of gaikokujin(外国人)which is the word for a foreigner. I personally believe that many Japanese people use the word “gaijin” because it’s shorter and easier to say, and sounds somewhat friendlier, not out of malice. They sometimes will jokingly say gaijin-san(外人さん) to refer to a foreigner in the third person.

You will hear this word used at work, often, and often to your face. While it’s tempting to take offense at this, try to take into consideration that most people don’t find the word offensive or a slur. Some people will go out of their way to avoid using it because they know it could cause offense, but the vast majority will not care.

Gaikoku(外国)simply means “foreign country/ies” but you will often hear people refer to it as if it were a real country, that encompasses the entire world, but often refers only to “the west” or only to the United States. Equivalently you will hear the word kaigai(海外)which means overseas to similar effect. If you’re very lucky, they will use oubei(欧米)which will only encompass Europe and America (very specific!).

You will sometimes hear things like:

  • Do they have X in gaikoku? (you’ll be amazed what people will ask about, I was once asked if gargles exist in gaikoku)
  • How does kaigai react to X? (reactions from abroad to Japan often get more of a reaction than the original event)
  • Japan is not the same as gaikoku (this is similar to the “cultural differences” argument to explain away anything that’s inconvenient)

Sometimes the things you will hear will sound borderline racist, but generally speaking they don’t mean it that way. I sometimes refer to Japan as having “accidental racism.” It isn’t that they’re trying to be offensive, they simply have rarely had to consider whether something might offend a foreigner.

Foreigner Team

It is common for foreigners who work at a company to be grouped together, either because they naturally flock to each other for safety and sanity, or because it is easier to manage foreigners when they’re all in one place and isolated from others. Sometimes there is more integration with the Japanese teams, sometimes less, but almost always you will see foreigners concentrated in one place.

This is actually not so shocking. A similar phenomenon occurs in the U.S. for foreigners working there. What is amusing to me is that since foreigners do not typically have the same sensibilities and restraint that Japanese people generally have, they are perceived as harder to manage (read: boss around). I think this is simultaneously the single strongest contribution you can have in Japan, and also the most dangerous thing. At once, you have the ability to help modernize processes and help to improve things, and also the ability to destroy the harmony so much as to cause disaster. Use your position wisely, and consider carefully the consequences of your actions, beyond what you would in your home country.

Foreigner Names

In Japanese, the family name comes first and the given name comes second. In formal occasions like at work, you would refer to someone called “Tanaka Taro” as “Tanaka-san” using their family name. Sometimes when far more familiar and when of similar ages or referring to someone younger, you may use “Taro-san”.

You are a foreigner (did you forget again?). You will be referred to mostly by your given name, and likely, a shortened version of it. Sometimes if your family name is short or easy enough it will be used instead. I was typically referred to as “Alex-san” since my family name is somewhat challenging (then again, my name is also challenging in the U.S. which is why I go by Alex). This is basically a constant reminder of foreignness, even if it wasn’t intended to be. It is what it is, deal with it. I promise you, Japanese people feel just as uncomfortable at first being called by their given name by total strangers on a regular basis (a sign of intimacy, familiarity or superiority).

Formal Language

NOTE: Skip these sections on language if you have no interest in language and go straight to the end, as these will be lengthy, however be aware this is core to the experience.

Speaking formally in Japanese is not in itself that difficult, but there will be a small learning curve on how to address whom, when it is appropriate to speak, and so forth. Beyond that, emails will be initially difficult. It turns out that the hyper-ritualized Japanese letter writing customs transferred over somewhat into the world of email. As a foreigner it’s likely that some people will be more forgiving of you, but be aware that others will dislike you more for writing emails “incorrectly,” as it may reinforce your inherent foreignness, and therefore their discomfort when dealing with you.

Here is an example email I might write from myself to a colleague who is slightly older than me and on another team at a related company that I work with every once in a while but not so often as to be on fully casual terms, and to whom I am therefore indebted and should stylize my writing as such, but not excessively so, as I am not speaking with a client or a total stranger. Got all that? Great.

(My flawed Japanese)






(My flawed rough translation)


Hello there.
This is Alex from team foobar.

With regards to the matter we discussed the other day, team foobar has looked into the issue and it appears that the git merge successfully completed.
I am so sorry to inconvenience you, but would it be possible to have you try pulling the code once more?

I realize this is a burden, but I ask for your cooperation.

Team Foobar

Native English (what I would write in the U.S.)

Hey Taro,

It looks like that git merge from the other day actually finished fine. Could you try pulling again and give it another shot? Let me know if anything breaks.

- Alex


Yes, whoah. Get used to it. This is its own blog topic.

Technical Language

Yes, this is an engineering job, and if you work with Japanese developers, you will discover a few interesting things.

English loanwords and Japanese-English words

The obvious ones are company and product names. Beyond that, there is an entire category of words which are sometimes called ビジネス用語 (business speak), some of which correspond to English very well, like “win-win situation”, and others you may have never heard of, but about many of which people will continue to exclaim “this came from America,” as if you would somehow know about every single thing to come from America. They include:

  • SNS — Social Network Service (what we call a social network in English)
  • PDCA — Plan Do Check Act (what we call “doing work”)
  • KPT — Keep Problem Try (I can’t make this up, lol. Search for it online and most results will be in Japanese)
  • Hearing — A meeting where people hear mainly you talk about things (no, you’re not on trial, don’t worry)

I could list these for days, but that’s a topic for another day. The point is, get used to learning a lot of new “English” words.

English words that are from European languages

When the western world gets mashed into one big family, inevitably people will assume that everything comes from English, and will be confused when you don’t understand these words. One example is the word “enquette” (CORRECTION: enquête, thank you Renaud Guerin!) which is the French word for “survey” and is used often.

Lots of vocabulary in Chinese characters

Many of these carried over from mathematics, which has of course been in Japan for a long time, so it makes sense that most words come from Chinese. Here is a short list of some common words.

  • 関数 — function
  • 再帰的関数 — recursive function
  • 変数 — variable
  • 引数 — argument
  • 不具合 — fault / bug
  • 再起動 — restart/reboot

Yet some words use English

  • メソッド — method (“mesoddo”)
  • バグ — bug (“bagu”)
  • デバッグ — debug (“debaggu”)

And other words use “English”

  • パソコン — PC (“pasokon”, short for “paasonaru konpyuuta” i.e. personal computer)
  • ロールアウト — roll out (to deploy a new version of software; this one isn’t so out there, but is not often used in the web server software context, at least in California where I come from)

Working in Japan is exciting but nuanced

Every country and culture has its nuances, its pluses and its minuses. I could write an entire post about the great things about living in Japan in general, but as far as the working environment, for me personally, I found it filled with more challenges than advantages as compared to Silicon Valley, which is itself an entire bubble with its own set of tradeoffs.

There are far more things to write about than I could ever hope to touch upon in a reasonably sized post so I cut it off short, but I hope that this was, if not informative, then at least amusing.

Working and living in Japan in a Japanese company will be an adventure, I guarantee you, and you will likely not regret the experience, but I hope this serves as a notice to keep both eyes open as you step into a complex and sometimes difficult work environment.

That said, if you go for it, have fun! Japan is an amazing country. Whatever experiences and lessons you take away from the journey will inform your perspective on work situations in your home country, and all around the world.

Backend web developer. Silicon Valley / Tokyo.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store