3 ms·
"I was not the “big boss,” during most of that time, so I often had to work in far-from-perfect systems." I am the big boss of our 12 person company but I stil
by codegeek 6y ago
"I was not the “big boss,” during most of that time, so I often had to work in far-from-perfect systems."
I am the big boss of our 12 person company but I still cannot ever get to a perfect system. Yes in theory, I can make all the decisions and impose BUT it is far from it. The challenges of building a perfect system is not only related to how much power you have (yes it helps) but many other factors.
- ChrisMarshallNY 6y agoYup. A perfect ship team is the Philosopher's Stone of software engineering. If anyone gets it perfect, they get to knock Bezos out of top place. I worked for a Japanese company for most of my career. It was...challenging. HUGE team of very, very capable engineers (I regularly worked with some of the finest scientists and engineers in the world), but hidebound like you wouldn't believe. I quickly learned never to use the word "agile" when talking to my bosses. Frowny faces appeared everywhere. They considered it a "low quality" process. The main issue, is that I was talking to top-shelf engineers and managers, who had been delivering top-quality products for 100 years. This was not trying to convince impressionable American VCs or play "buzzword bingo." These folks knew how to do something, and they had been having success for generations. It's just that what worked so well for hardware, went pear-shaped with software, and I was never able to successfully convince them of that. That made me very sad, as I think that they really lost a lot of benefit, because they couldn't pivot into modern software engineering. I loved that company, and I have tremendous respect for my peers in Tokyo. Since leaving that company, I have been working on my own, and implementing the ideas that I cultivated while working there. It's been fairly effective. Those cranky bastards had one thing right, though. The software industry has a shockingly high tolerance for crap. It's a real challenge to try to advocate for doing quality work.
- still_grokking 6y agoI was almost ready to start an argument. But the bottom line (verbatim) nails it! 99.999…% of all software is utter crap. If people would build houses like they build software we would generally all live in paper boxes glued together by duct tape. And those paper boxes would explode on a regular basis for unknown reasons… Still you will hear most people in this business saying: "That's fine". Look, "it works". I don't think this will ever change. One of the reasons this won't change (besides development costs of course) is imho the overall mindset that "bugs are unavoidable, any software has bugs". As long as it's a "natural" thing to deliver buggy crap, and people declare you outright crazy if you even mention that there's something quite wrong there, no chance that this will change (at least not until software will be produced mostly by machines).
- ChrisMarshallNY 6y agoI generally don't bother setting up bug trackers, as I get so few bugs. One reason is that I keep my scope fairly humble, so it can be argued that software that doesn't do that much doesn't have room for bugs. But I like to avoid dependencies, if at all possible, and have a number of habitual practices in my coding that I think result in exceptional quality. Problem is, it's not valued at all. I'm in a semi-retired status, and have found that no one wants decent quality. It's been rather depressing, TBH. One of the open-source systems I designed is becoming a worldwide infrastructure, and they have more bugs than ever (I don't code it anymore), and that means they have maybe 20 issues, in all; across about 50 subprojects. When I was doing it, it was a single-digit count, but only about five projects. It's still of remarkably high quality. The folks who took over are good, and follow good practices. Also, the substrate is very strong.