3 ms·
I wonder if this is what contributes to the instability of most software though, especially SaaS. People do just enough to get by and "get things done," which
by watermelon59 6y ago
I wonder if this is what contributes to the instability of most software though, especially SaaS.
People do just enough to get by and "get things done," which always looks great at the time it happens. And then things break, and no one knows why because no one has the depth of knowledge to investigate it. But it has to be fixed, so typically one or two people in the team are assigned to it and are miserable for days or weeks while they painstakingly try and learn about the things they should've known in the first place, while at the same time try and fix a system under a lot of pressure from management.
I wish the software industry rewarded knowledge, correctness and excellence rather than speed of execution.
There are way too many things involved in a software system these days for people to know all of it. We shouldn't expected people to be highly knowledgeable about all of a programming language, multiple frameworks, libraries, cloud providers, CI/CD, security, and who knows what else. Instead, those should be specializations and teams should be composed of multiple specialists.
I'm well aware that what I'm saying is a pipe dream. The industry at large is fine with the idea of deploying broken things and patching them later, no matter the cost to the health of engineers, so it's not gonna change anytime soon.
- Xevi 6y agoYou're right. Just by looking at job posts you'll see requirements to know several languages, frontend frameworks, databases, enterprise services, and so on. The modern programmer is often a jack of all trades, but a master of none. I'm building multi-million dollar applications for companies, and often it's with languages and frameworks I've never used before.
- zests 6y agoFrom a selfish perspective, I like the current system. It makes it easier to stand out. Understand where depth is lacking on your team and become an expert. Whenever problems occur you become the go-to. Pros and cons but mostly pros.
- tuckerconnelly 6y agoTotally agree up to "There are way too many things..." That seems like blowing a nuance out of proportion. I think what we need is to stop having "flat" feel-good organizations where everyone gets a say, and similarly we need to stop having corrupt organizations where the most politically savvy person is at the top. We need strong, competent technical leaders who truly know most languages, frameworks, paradigms, and we need to pay them well. They need to take responsibility for the whole project and architecture, ruthlessly simplify, and work with product to define what actual problem is so the team and code doesn't turn into Frankenstein's monster. We need non-corrupt competence hierarchies. </Soapbox>