I would like to know whether the IT engineering industry as I know it is unusual even by global standards.
Posted by Ok_Influence8600@reddit | ExperiencedDevs | View on Reddit | 13 comments
Hello everyone,
I’ve been thinking about something recently, so I’ve posted this to get everyone’s views.
I apologise if this post isn’t really suited to this community.
First, I’ll describe the Japanese IT engineering industry as I know it, and I’d like you to judge whether this is considered normal by global standards.
If you spot anything odd, I’d appreciate it if you could leave a comment.
[Common Practices in IT Engineering Companies, as I Understand Them]
I previously worked for three years at a subcontractor for a major IT engineering firm.
There, I was taught the ‘common practices’ of major IT engineering firms.
Even within the company I worked for, these practices were spoken of as standard within the Japanese IT engineering industry.
These common practices are as follows:
・Engineers involved in the requirements gathering and definition phase have the most authority and are the most senior.
・Engineers involved in the design phase have the next highest authority and are the second most senior.
・The work carried out by engineers from the implementation phase onwards consists of simple tasks that anyone can do, and is considered menial work.
・Implementation reviews should be completed within 30 minutes, even if the code runs to 1,000 or 2,000 lines.
・People who build up their physical strength through sports, etc., are superior to those with experience in programming languages.
・It is common practice to assign inexperienced engineers with absolutely no IT knowledge to large-scale projects.
・Experience in programming languages is not highly valued during job hunting.
The above are the commonly held beliefs I have observed within IT engineering firms.
Personally, I cannot understand the notion that one’s status is determined by the phase of the project they are assigned to, but at that subcontracting firm, no one ever questioned these beliefs.
They stated quite bluntly that ‘doing menial tasks such as the programming implementation phase is detrimental to one’s career’.
[My Question]
I would like to know how the above ‘common knowledge’ is viewed from a global perspective.
Is this a phenomenon limited to Japan’s major IT engineering sector, or is it common practice worldwide?
As I am only familiar with the Japanese industry, I would be grateful if you could enlighten me.
Leading_Yoghurt_5323@reddit
this isn’t really normal globally tbh
in most places:
your example feels very rigid and outdated
shifty_lifty_doodah@reddit
No it’s uncommon. That organization is incompetent at software
The_Real_Slim_Lemon@reddit
It really shows in the vast majority of websites from Japan. Going on vacation there it was like I went a few decades back in time
Dry_Row_7523@reddit
I work for a huge multi national tech company (>20,000 employees). I actually used to work in the Tokyo office but most of my career I worked on teams in the US and Canada. Reached Staff Engineer before switching to management.
* The average project on my team has around 2 engineers working on it, 1 senior engineer and 1 junior engineer. There's a common joke in the US tech community that if 1 woman takes 9 months to have a baby, assigning 9 women will not result in a baby after 1 month. Our engineering group definitely takes that joke to heart.
* It's true that the senior engineer is usually assigned the planning and design phase since it requires more engineering knowledge, system design experience etc. However, when we reach the execution phase, they will also write code. It's normal to have junior engineers review or provide feedback on code to senior engineers and vice versa. I've even chipped in to help fix some bugs as the manager if other engineers were busy.
* Coding is definitely not considered menial work. When I was a staff engineer sometimes I would have projects where I was just writing code for 2-3 months in a row. These were some of the most complicated and interesting projects I ever worked on. Once you reach a certain very senior level (like software architect which might require 15+ years of experience) then it's true that you probably aren't writing as much code anymore.
* There's no time limit for any kind of review measured in minutes. That doesn't make any sense - whether a review takes 30 minutes or 3 hours will never make a difference in project timeline. The deadlines we do have are usually gated by date, like if I write a system design proposal on Monday, maybe I ask the group architect to review it and provide feedback by Wednesday.
* The physical strength things exists in the US but it's more like a proxy for charisma if that makes sense, and it matters more so if you want to climb in management roles. There's another stereotype in the US tech world, if you see someone in a Zoom meeting show up in their pajamas looking like they haven't shaved or showered in 1 week, everyone knows that guy is probably the smartest person in the entire engineering org. Sure enough, you look them up on Slack and their title is like Principal Chief Director of Architecture and they report directly to the CEO
* Of course inexperienced engineers need to get assigned to some projects in order to learn, and I like picking larger ones because they have more variety of tasks and more senior people to mentor them. I can trust that the tech lead can pick some easier, more mundane tasks, help answer questions etc. On a small project with just 1 person assigned a junior engineer can quickly get lost or stuck.
* My team / group doesn't care about programming language experience at all. We don't look at languages during the resume screen, and we tell candidates to do the coding challenges in whatever language they want. I remember I interviewed a guy who had only Java experience. I have never written a line of code in Java in my life, I can't even print Hello World. When the candidate asked me some syntax questions I had to google the answers. (He got hired and learned our codebase very quickly)
Careful_Ad_9077@reddit
This. I have worked in mexican, american, and aoutthamerican companies and this holds true for those too.
monarchyofthedead@reddit
I am working in japan, this is not normal lol. you're working for an ultra shit company
aruisdante@reddit
This specific hierarchy and its registry is indeed extremely common in Japan. In Japan, programming has historically been thought of as clerical work, exactly as you describe. It’s where people that couldn’t make it as “real engineers” (read: people who design hardware) wind up. This great article, The Forgotten Mistake that Killed the Japanese Software Industry goes into it a lot more detail.
In generally everywhere more senior engineers are generally assigned to design work or requirements gathering. But the notion that doing the actual implementation part is purely clerical work and that the only job of a developer is to turn the specification laid out by the architects into code without thinking or ownership of any kind is pretty uniquely Japanese at this point.
markvii_dev@reddit
engineers will do anything but write code (coping btw)
yxhuvud@reddit
Most of that looks like you are living in a country that has a very traditional and hierarchical view of work. Most countries are like that, and some are not.
However,
is very common all around the world. That is basically the base idea of the core business of many of the large consultant companies.
ItSeemedSoEasy@reddit
Is the Japanese IT industry going through it's Bro phase?
Fascinating. I wonder if this is a phase all IT industries go through.
SV went through something similar about 15 years ago! Programmers were suddenly sharing tips on weight lifting routines. There were companies advertising for Brogrammers as a cultural fit at one point, until people started pointing out it was misogynistic and illegal.
fued@reddit
Yeah that sounds pretty spot on to me.
Presales/Client facing devs are the most valuable as they get you more work
Architects are the next most valuable, as they make sure what you build is good
code monkeys are just cogs in the machine unfortunately.
NightSp4rk@reddit
You might have been only exposed to 1-2 firms and are projecting that on the industry. I can think of a few companies in my area that would have that kind of mindset, but also a bunch of others that are quite different in how they view different engineers. I have no experience in the Japanese IT sector, but if I had to guess, it's probably a mixed bag. Some companies have decent work culture and mindset, others are batshit crazy, either due to some stubborn CTO, some very senior dev who has a cult following, or some weird corporate mindset that doesn't translate well into engineering.
Deranged40@reddit
Is the IT Engineering industry "unusual" right now? I can give you a detailed, well-researched answer on that:
Yes.