3 ms·
I worked in Japan for ten years in tech and these points jumped out at me: >Software development was an exercise in box checking. You implemented a feature onc
by johnwalkr 4y ago
I worked in Japan for ten years in tech and these points jumped out at me:
>Software development was an exercise in box checking. You implemented a feature once the customer had asked for it and the contracts had been signed.
I recall a meeting where we were trying to set some requirements for a product based on what our potential customers would need. It was a requirement that all customers would need, not some unique thing that would probably change based on each customer. I understand pushing back against scope creep but as an analogy, we were building a PC designed to put our customer's peripherals inside. But we decided not to add a PCI slot even though the potential customers made PCI cards. By the end of the meeting it was agreed that since there was no signed-up customer yet, there could be no requirement. Our eventual customers of course needed that PCI slot to be added mid-design.
In general it takes a lot of consensus building to add a requirement in the first place, and once it's there, it's seen as the exact and maximum. Going beyond is seen as only adding risk. It's very difficult to ask for effort to optimise something within a given constraint. There's good and bad things about this.
>There was no real career path in software development. I mean, maybe you could move up into project management or over into sales, but if you were still actually writing code when you were 30, people kind of wondered what went wrong.
It was common to interview senior software engineers with a good resume, but find out they were one of two types in the interview. Type 1: a middle manager that has done nothing in the last ten years aside from passing excel files back and forth between junior software engineers and other managers. Type 2: considers "software design" to be making block diagrams in Visio (or worse, drawing things in excel as if it were Visio), and considers writing software to be beneath him. This type usually plans to outsource the actual development work