Couple of years ago I had to integrate with a newly built api in japan. 2017, and they basically wrote their own web server in Java. Their own xml parsing. It looks like they read the spec for HTML and SOAP and implemented their own variation of it.
It’s the worst integration I’ve ever had to deal with.
If we got a 500 error from their system we had to write an incident report about why our system failed to call theirs. If they tried to call ours and it failed they would call up and we would ask them to “retry the call” and they would ask us to patch the data in our system because they can’t retry.
You get that one who's really damn good at what they do. Just as they are up to speed on your project and working style, they get promoted to manage a group of 10+ engineers.
And then you start again with the next one, hoping that they're as good as the previous one.
There are good people everywhere. You just need to find them, and grow them to where they can shine.
Simple things, like it's better to ask when you don't know than say "yes everything is fine" until it's too late.
Worked pretty well, a few from the team actually ended up immigrating and are still living over here with their families =)
Why do any sort of progression, when you can just have a bunch of skilled people visiting customers to secure contracts, and once projects are started, they can be substituted for an army of juniors? Meanwhile, the seniors go secure more contracts elsewhere.
Basically you get what you pay for. Large consulting companies offer peanuts compared to good software developer salaries. But compared to the salaries you can expect in other fields of engineering if you are an average student (considering the glut of mediocre engineering colleges here)- consulting salaries seem decent.
Create a branch office in India and offer the expected salaries for software engineers and you can find great developers.
Do you have any insight into how this works in Japanese companies that do more traditional engineering? I find it hard to believe that companies like Toyota have no senior engineers.
I don't have any special insight into Toyota outside of some anecdotal stories from friends though.
Although I've seen this title on Teams be given to a 28 year old that didn't seem to be Senior quality, but I'm not much more experienced.
The system isn’t all bad. It’s just that it produces general managers at the expense of functional expertise. (The other extreme where 100% of the org’s entire skill set and network is limited to their own silo rarely works outside of Apple) Balance is needed.
Remeber in large traditional japanese companies you don't apply for a job, you apply for a well-known company and then they assign you a role that may or may not have anything to do with what you did at university.
The company I worked at was not a tech company so very few (none? I never saw any) applicants who studied computer science.
One manager spent 50% of his time keeping an old system he wrote as a developer years earlier from completely falling over because no one else could understand it, byzantine doesn't begin to describe it.
He worked many, many, many hours overtime doing this in addition to his managerly duties but, of course, because this is Japan, he won an award for hardest worker of the year and a trip to Hawaii... which he couldn't take because otherwise the system would fall over.
Even at 181cm you do have to watch your head though.. I've hit my head many times while going up stairs, and for those who don't know stairs are extremely common because many businesses are split up across multiple floors of a narrow building.
In my last full-on japanese company it was basically impossible to find any developer with more than 3 years experience by accidental design because:
1: No applicants studied computer science in university so they started learning when they joined the company and were assigned a development role.
2: After 3 years they they got promoted to a "manager" level role and stopped doing development. There was no concept of junior developer -> developer -> senior developer progression. If you wanted promotion you went from developer -> manager; it was the same for sysadmins. Their IT and development suffered heavily for it.
A team of 10 "western" style trained senior developers and sysadmins would have been able to do the work of 50 current employees at least for a large overall cost saving even with higher salaries.
Just the way things worked. Japan is indeed very different when it comes to how the workplace works in relation to tech in traditional companies.