soggybutter
Joined 8 years ago
Joined 8 years ago
"we" is everyone in the industry. I recognize it's more of an evolutionary thing, it's just my stance that the current environment is pushing us towards an evolutionary dead end.
> Define "quality"
I also agree that software quality is fairly subjective depending on your lense, unfortunately. For example, I wouldn't view quality as permitting as many people as possible to work at every level. Diversity of ideas is great, but I want those ideas to come from folks who have the skillset. If someone who roofs houses decides to pour foundations without gaining the proper skillset or picking up different tools I would view that as a loss of quality, not a gain.
> the term is time-to-market
I chose time-to-product fairly intentionally, because I think the benefits of something like Javascript start to rapidly decay once you start approaching any sort of product maturity. The problem is teams rarely optimize towards stability and quality until they have literally no other option
I do acknowledge I have a lot of bias, though, because I work at a TS shop where the primary reason we continue to use it is because we always have. The longer I have to put up with it, the more I feel like this is a broken foundation to stand on
This feels a lot like a self-fulfilling prophecy that Javascript just happened to be chosen for.
- Javascript is "easy" and the only option for browsers, so lets teach it to beginners.
- We have all of these beginner programmers who can't work on the backend without learning a new language, so lets put javascript on servers.
- CPU, memory, and bandwidth have continued to become cheaper, so lets just run everything in javascript because "we can"
- Let's hire javascript developers because we've made them the easiest to hire for
- It's too expensive to use a different technology because our entire engineering team is javascript developers
I honestly can't fathom the reasons why we've encouraged Javascript to eat the world, but I don't think there's any arguing that it has. Is this good or bad for business in the long term? My personal take is that it isn't, but there are enough variables to make this really difficult to say with any kind of certainty. It feels more like we've just:
- Lowered the bar for acceptable quality over time
- Convinced ourselves that the Javascript ecosystem is a one-size-fits all optimization for time-to-product
We average ~80 "instances" to maintain this level of performance. I have very little doubt that, if given the opportunity to rewrite this in rust, we could smash 10x perf improvements. Could we also get more perf out of tuning our python code better? Definitely. Do I think there's 10-20x improvement waiting to be uncovered? No.
Unfortunately (fortunately?) we're at a stage that it makes more sense to throw ludicrous sums of money at it than it does to ground up rewrite.
That said, some of the most fun mechanics are born out of happy accidents involving interactions that weren't fully considered so it's definitely not a constant