7 ms·
Tim Romero (author of linked podcast) misses the point. Paul Graham has a far better take on this topic: http://www.paulgraham.com/usa.html http://www.paulgraha
by dudeinjapan 4y ago
Tim Romero (author of linked podcast) misses the point. Paul Graham has a far better take on this topic: http://www.paulgraham.com/usa.html http://www.paulgraham.com/usa.html
The problem isn't that Japanese companies "missed" the opportunity to do software at X point in time--the problem is that they are culturally Japanese. Japan is about consensus-based design, there is a high penalty for making mistakes, and individuality/creativity is not valued. 出る杭は打たれる - "The nail that sticks up will be hammered down". Certainly you can develop software this way, but the Silicon Valley model of rapid iteration, "if it doesn't work rewrite it", "move fast and break things", etc. gets you there sooner.
But what about Matz and the Ruby core team, you say? Certainly they are a zany, free-thinking bunch. I attended Ruby Kaigi last year and noticed that most Ruby core team members are hired by domestic Japan-focused tech companies, think Cookpad, Tabelog, etc. They are kept for their HR value to attract tech recruits and allowed to spend all their time on whatever open source project they want. Meanwhile the peons work on the actual product.
Source: I've worked in software in Japan for 15 years; 5 at a Japanese bank and 10 as a CTO of my own company. We run circles around our Japanese competitors.
- anuraaga 4y agoHi Johnny - considering there is no one answer here, no one, including you, is missing the point right? If weighting I'd generally put the largest on time-based rather than impact-based seniority, but it's just one of many factors and there isn't really a way to pick any one.
- Retric 4y agoYet, Japan had no issue building a wide range of popular console video games but had far less success in PC games. Language seems like a better explanation as US and Japan had quite different UI constraints in their native language.
- HideousKojima 4y agoJapanese game devs didn't put nearly as much effort into PC games as they did into console games, outside of some early exceptions like the MSX and the Sharp X68000. The main issue was that there really wasn't a domestic market for PC games in Japan, and Japanese game devs focused on serving the domestic market first. So you had half-assed efforts like a single outsourced developer "porting" Mega Man 1 and 3 to DOS (they weren't anything like the real MM 1 and 3). PC ports of most popular console games weren't common until the Xbox 360/PS3 era.
- dr-detroit 4y ago[dead]
- entropicdrifter 4y agoI mean, official PC ports weren't common, but clone games on PC were extremely common. I can't tell you how many PC games* I played as a kid that amounted to "a re-skin of Super Mario Bros" or "basically Donkey Kong", etc etc *(often free or packed into "1001 games for free with this magazine" disks)
- dudeinjapan 4y agoLanguage (i.e. character sets) is not a good explanation for differences in software outcomes. It is possible write Japanese entirely in Hiragana charset (~50 chars) which can be represented in 8-bit alongside ASCII chars, which is how early Japanese computers like the PC-8001 worked. The JIS standard for double-byte representation of kanji also characters was also made in the 1970s. So that doesn't explain why Japan fell way behind in software the 80s, 90s, and 2000s.
- Retric 4y agoLanguage is more than charger sets. Japanese is often read in vertical columns, then right to left. The space of UI’s that feel natural in both languages are just different.
- dudeinjapan 4y agoNot true. Nearly all text in Japanese print media, ads, brochures, websites, video games, etc. is left-to-right horizontal. Only books and some magazines are written in vertical columns. Anyway, this again is not an insurmountable technical hurdle that held back Japan's otherwise burgeoning software industry.
- Retric 4y agoYou misunderstood, the fact that the language does both means the design space is different. Stuff that would seem natural in Japanese would seem very odd in English. Similarly there are far more people fluent in English so small dev teams can reach a much larger audience without considering translation issues.
- dudeinjapan 4y agoWell, yes, to some degree this does affect localization in the US for software that was originally built in Japan. However, given that the Japanese character sets are more demanding than US character sets, it would usually mean that software made in JP is easier to port to US, and not the other way around. Emoji for example came from Japanese mobile phones ("e" pronounced "ay" means picture, and "moji" means letter)
- dvngnt_ 4y agoI'd argue that Microsoft still takes the lead in software compared to Sony and Nintendo
- skhr0680 4y ago“I’m getting it for the kids” doesn’t work for a $2,000+ PC that can play the latest games, and that has always kept PC gaming niche in Japan.
- gernb 4y agoThere are often other reasons. For example, in Korea console gaming isn't or wasn't a thing. It's PC gaming. Why? Because to Koreans in the 80s and 90s, playing something made by Japanese, their former occupiers, was unacceptable. Because of that they played games on PCs until that became standard for Korean gaming. Other reasons PC gaming might not be a thing in Japan. It takes a lot less room for a console (especially NES/SNES/Gamecube) than it does for a PC. You plug the console into your exiting TV. A PC needs it's own space with it's own monitor and desk. Japanese houses and especially apartments are small. I'm sure there are plenty of other reasons than just that a PC costs more.
- dclowd9901 4y agoI’m having a hard time squaring the circle of “consensus based design doesn’t work for software but it does work for cars.” By all accounts, here in the US, we regularly bounce software architecture decisions around a room and land on a best design based on inputs from many. Likewise, our cities and cars are founded upon (id even say drowned by) consensus based design. Maybe I’m misunderstanding the thesis here, but it seems contradictory. I do think PG has a point with an ingrained culture of quality being hugely important. I just don’t think that necessarily contributes to bad software. In fact, I’m quite certain it doesn’t, since companies like Nintendo manage to produce absolutely beautiful pieces of software regularly.
- dudeinjapan 4y agoIt's not the same as in the US. In the US, consensus would be achieved through brainstorming, open debates, etc. and at the end maybe a vote, or maybe the leader just says "let's try it my way, and if it doesn't work we'll do it your way." In a Japanese company, people in general do not speak openly in meetings, because they are afraid of disrupting group harmony. Ideas need to be circulated in a series of one-on-one discussions--this is called "newashi" (https://en.wikipedia.org/wiki/Nemawashi https://en.wikipedia.org/wiki/Nemawashi). This means that for a group of N people, it's N*(N-1)/2 private discussions that need to happen. And everyone needs to be in agreement and comfortable that the idea is "right", and that there is nothing the slightest bit off with it. Only after all these discussions have happened and everyone is fully bought-in, there is then a meeting to "rubber stamp" the idea.
- cutemonster 4y agoWhat if one person disagrees? If s/he is "lowest in the hierarchy"? What if is in the middle of the hierarchy?
- quercusa 4y agoDon't know if it still works the same way, but "rubber stamping" used to be real - everybody would stamp a document with their 'hanko' [0] (name stamp). Those who were not completely on board would make their stamp at a slight angle. [0] https://en.wikipedia.org/wiki/Seal_(East_Asia)#Japanese_usage https://en.wikipedia.org/wiki/Seal_(East_Asia)#Japanese_usag...
- manojlds 4y agoWhat about video games and Nintendo? There are also specific names that like Miyamoto and Sakurai that come to mind who rose up.
- dudeinjapan 4y agoNintendo is a unique company. It's certainly an exception to the rule. Perhaps them being based in Kyoto and not Tokyo is part of it.
- numpad0 4y agoThat's a good point that leads to another claim, and I don't think those are exceptions at all; Nintendo and its products is quintessentially Japanese if we didn't focus on the payload content bundled in their software. CEO always in suits and shows fatherly smiles at most, the OS not allowing browsers or sideloading, the corporate having zero hesitation suing modifications on first sight, etc. They are completely in line with the rest if not leading the puck. And I have an explanation: Japanese education imprints and emphasizes for the whole duration of it that work is strictly for community goals, education is for learning officework punctuality and not for skills, and fun at work is nothing but slacking[0]. Some attribute those to agricultural tribalism; I don't know, but I think these imprinting statements fits behaviors describe in GP and of Nintendo(et al.). "Move fast and break things" would be just display of laziness, ease of use would be just enablement for saboteurs, iterative design would be just poor planning, under this thinking. UI improvements based on subjective individual opinions would be considered an attitude incompatible with the concept of work, especially for business applications. No wonder that GP runs circles around others when the impediment is in individual successes that products offer users, which the whole culture is united to always look firmly away in all professional settings. This become less apparent in games and gambling because business goals just happen to align with joy and ease of users, hence Nintendo seems unaffected from consumer standpoint. 0: Such words as "comfort", "efficient", "precise" are used as euphemisms and self deceptions when pursuit of fun or ease cannot be avoided
- quercusa 4y ago> there is a high penalty for making mistakes I experienced this working for the US arm of a Japanese company. To report a bug would cause the programmer to lose face, so we had to waste a lot of time going through all kinds of contortions to lead someone to the bug without calling it out. We wrote a lot of "feature requests" that were really bug reports.
- dudeinjapan 4y agoYes, this is completely stupid and something I've tried to do away with at my company. Who cares who made the bug, let's just fix the damn thing.
- deleted 4y ago[deleted]
- _fat_santa 4y ago> To report a bug would cause the programmer to lose face I'm sure there are some bugs that are directly caused by a programmer, but what about all the other inevitable bugs like a vendor upgrading their library, breaking changes, etc? At least in SWE, the biggest "mistake" here is conflating that bugs and mistakes are the same thing.
- galaxyLogic 4y agoTo report a bug would cause almost a hara-kiri I can assume. It's a crazy evil society where anybody had to commit hara-kiri. It doesn't help anyone if you kill yourself. If you want to atone for your sins better do it by working harder. Is that a major difference between East and West? Is that a benefit of Christianity that you can be forgiven for your sins, once you admit them?
- Alex3917 4y agoMost Japanese didn't historically own desktop computers due to the average Japanese home not having enough square feet to easily accommodate them, which is why they adopted smartphones ten years earlier than every other country except Finland. If they had had a couple more decades to play with computers before software took off as a big industry, maybe the culture would have shifted somewhat.
- LargoLasskhyfv 4y agoThey could have used gaming consoles with more mainstreamed 'developement kits/setups' instead? That existed at least for some Sony Playstation, or something like this? https://en.wikipedia.org/wiki/X68000 https://en.wikipedia.org/wiki/X68000 Running https://en.wikipedia.org/wiki/TRON_project https://en.wikipedia.org/wiki/TRON_project !1!! :-)
- entropicdrifter 4y agoI mean, going farther back, the original Japanese version of the first Nintendo console was called the Famicom, which was short for Family Computer. It had a keyboard accessory, disk system, modem, tape drive add-on, and a port of BASIC.
- Tijdreiziger 4y agoWait, what's this about Finland?
- Alex3917 4y agoIt's where Nokia is headquartered. That, combined with nordic culture, lead to very high early adoption rates among teenagers in the early 2000s.
- jonathankoren 4y agoYeah. Cell phones really took off after the local paper mill started making them in the 90s. :)
- prmph 4y agoWell, maybe they might have been slower to innovate in software, but I think a middle way between their conservatism and the free-wheeling ways of Silicon valley would have served the industry well. Imagine if software engineering was approached in The Toyota Way[1]. As it is now, software engineering us not respected as real engineering because we neglect to apply general engineering principles. We throw away battle-tested solutions and learnings very few years in favor of shiny brittle toys, in the name of "disruption". I guess the only thing that would change things is something I call some kind of consistent regulation. Too much gate-keeping like in traditional engineering or medical fields can stifle innovation. However, software used by a certain minimum number of users, and software used in certain fields like medicine, transport, finance, need to be subjected by regulatory agencies to certain objective (hence automated?) tests to ensure they meet some minimum reliability, usability, security, and performance requirements. In this regime, small-time SaaS software, or hobby projects, would not need any regulation, but flagship software products of Facebook, Google, SAP, Oracle, Tesla, etc would need it. 1. https://en.wikipedia.org/wiki/The_Toyota_Way https://en.wikipedia.org/wiki/The_Toyota_Way
- thrdbndndn 4y agoGood point in general, but I think the US, even in SV, don't actually lack more traditional, slow paced companies. So they kind have both.
- twblalock 4y agoThe average software company (or software department in a company) in the US does not move fast and break things. Examples include large older tech companies like IBM and Cisco, defense contractors, and banks. Even Google's CEO has been talking about how the company has become unproductive and unable to move fast, because that actually matters now that the outlook for the economy is not great.
- deleted 4y ago[deleted]
- azangru 4y agoHow is it that Japanese manufacturing practices made such a deep impact on the Agile software development movement in the West (The New New Product Development Game, Kaizen, Kanban, reduce muda, shu-ha-ri, etc. etc.), yet failed to improve work practices at home?
- Karunamon 4y agoIt sounds like the culture there leads to a lot of innovations being created that the same culture prevents from being implemented.
- dudeinjapan 4y agoKanban as originally used at Toyota was always used to coordinate pre-determined "production line" factory processes. It wasn't used for creative iteration in the way you see it used in a western software development context. Similarly, kaizen was all about continual factory process optimization, not optimization of a codebase through iterative refactoring. In fact, the mindset is very much "write the code once, never change it, and keep it running it forever basically without upgrades or patches." "Reduce muda" (we might say "reduce toil") is laughably out-of-place in Japanese software shops. To give an example, an acquaintance worked as "DevOps" at Rakuten. His job was to release new software versions by opening up 200 SSH terminal windows.
- jeofken 4y agoMaybe these software development philosophies are cargo cults
- EVa5I7bHFq9mnYK 4y agoTrue. Also, in Japan, you cannot argue with your manager. There is a very strict hierarchy. Another posible reason, very few people in Japan speak English (at least that was the case when I worked there in the 90s). That might have affected international penetration of their software. Perhaps this is why we don't see much software from Germany either.
- achenet 4y agoGermans speak very good English on average, probably some of the best English speakers in the world outside of anglophone countries.
- entropicdrifter 4y agoYeah, pretty much the worst example country to choose from Europe
- fxtentacle 4y agoOh you see A LOT of software from Germany. But we learned our lesson and resell it through US entities for less liability and higher profit margins ;) (US CTO living in Germany)
- cutemonster 4y agoLess liability? When selling through US? How does that work (I would have guessed the opposite, thinking about patent trolls who ... live in the US?)
- fxtentacle 4y agoThe US company is liable because they're the ones selling to end users.
- cutemonster 4y agoSo that's how it works, thanks. And good to know. You've setup companies in other countries as well, to mitigate risk, or only in the US? If I may ask
- amadeuspagel 4y ago> We're good at making movies and software. And high-speed pizza delivery!
- _skel 4y agoBeing culturally Japanese didn't prevent Japanese companies from achieving dominant positions in electronics, automobile manufacturing, video games, shipbuilding, steel production... Why is software so special? I would argue that the kind of risk aversion that holds back software companies is just as evident in most of Europe as it is in Japan. It is also the norm in a bunch of American companies in the tech industry, especially the older ones. And China, which is also often brought up as a society where individuality is not valued in business (due to "Confucianism" and similar tropes), is not held back by similar risk aversion and has a massive software industry that can compete internationally.
- olivermuty 4y agoBecause move fast and break stuff doesn’t really work in non-software business I’d say.
- twblalock 4y agoBut again, how is that a Japanese problem specifically, when the same risk aversion exists in corporate culture in other countries (as I mentioned)? The reality is that only a few countries are dominant in software, and they dominate to such an extent that they draw in software engineers from the rest of the world. That didn't happen because all the other countries have a Japanese business culture... A convincing explanation of why the world is that way needs to be based on traits that are not unique to Japanese culture.
- deleted 4y ago[deleted]
- olivermuty 4y agoFair point, I don’t really have oppinions on that. My point was the inverse, that the archetypical Japanese approach to engineering suits the iterative careful development that hardware requires.
- 4y ago
- mcguire 4y agoPaul Graham (who is about 4 years older than I am (eek)) and I apparently remember the 1980s and 90s very differently. At the time, Japan was going to eat our lunch while it simultaneously kicked our butts. Its government-academic-industrial complex was how to do things. It was the technological and industrial leader, the one everyone was chasing. (This was possibly entirely due to the automotive industry, but.... And consumer electronics had something to do with it.) Then the wheels started to come off. In the software world, the Fifth Generation project came up with...a PROLOG machine. At the same time that Lisp machine companies were going belly up all over the US. And then Japan disappeared entirely. From what I saw and heard, the Japanese software industry became very insular and remote from the rest of the world. And then, the lost decades. The process described in the article does a better job (and a more relatable one) at explaining what I saw than "they were Japanese", I think. But then, I don't know what the last 20 years have been like, since I haven't needed to follow the Japanese software industry. (Well, there was Ruby, but that was a pretty big mistake.)
- pelasaco 4y ago> "if it doesn't work rewrite it" and I would add: .., and if the business go bankrupt, start a new one.
- timoth3y 4y agoHi. Tim here. I find the "it's just Japanese culture" explanations to be weak sauce. Examining the market and political forces at play will usually get you closer to the truth. The fact is, Japanese companies have taken big, creative, successful risks in many industries. If you look at the developers who work in console gaming, they find ways to push those machines far beyond what they were designed to do. If you've been in Japan for a while, I'm sure you've seen the amazing levels of creativity that exist here in both engineering and the arts. It's not that Japanese are more risk-averse than Americans. It's that the risk-reward equation is different in Japan. On average, people are behaving rationally in both places. If you want to change the "culture", change the risk-reward balance. That's why I find it more productive to look at market forces and game theory than attribute things to "Japanese culture:".
- dudeinjapan 4y agoThe problem is the risk-reward balance is deeply baked into the culture, at least the current generation.
- sinuhe69 4y agoI think both attempts of explanation are valid. While the risk-adverse and face-losing-adverse traits of the Japanese culture can explain the (in general) slow development and response of Japanese companies (not limited to software), they cannot explain the quirky, often ugly and not user friendly UI of Japanese software. Germans are a bit risk-adverse, too, though not comparable to Japanese, their software, especially enterprise software are showing the same rigid UI and in general difficulty to use. In fact, you can not use them without reading the manual or being trained and that is expected from the end users, too! In a stark contrast, user-oriented software today are very intuitive, offers pleasant onboarding thus every user can use them casually. The rigid and unfriendliness of Japanese and (German software in some degrees) can IMO only explained through the long isolation of the mass market as Romeo outlined in his podcast.
- ihatepython 4y agoI think if a Japanese person created something like Javascript, it would bring dishonor and shame to himself and his family for 3 generations. Even his grand-children would have to bear the burden. Therefore, something like Javascript would never emerge from Japan. Only an American would be able to create an abomination like Javascript.