3 ms·
The number one thing that is difficult is that there are lots of problems that have been already solved, but not well. Whereas at the beginning, being first to
by syntheweave 4y ago
The number one thing that is difficult is that there are lots of problems that have been already solved, but not well. Whereas at the beginning, being first to solve and ship the resulting features as a product was significant, and performance optimization was often a key enabler of feature viability, now quality of solution has lept to the forefront. No crashes, security errors, data loss or corruption. With high quality comes a larger degree of process.
It's not a bad thing. It just means that knowing one language and some algorithms - formerly the exact skillset of a typical CS grad - isn't really "enough" to do anything. Instead it's whole stacks of software that an organization has staked their own project on. At an old company, they built most of the stack, but nobody who built it is around anymore. At a new company, it's open source, but they don't have anyone to spare to maintain it. Eventually there is some threshold that gets crossed where the stack is the problem, and that drives an attempt at solving things better.
But it's no longer the case that most orgs have to build most of their own software; it's nearly always glue and one piece of special sauce.