4 ms·
>> One of the biggest issues we face in the industry is the lack of reusability in software > The biggest problems we face are that every developer is coached
by efsavage 4y ago
>> One of the biggest issues we face in the industry is the lack of reusability in software
> The biggest problems we face are that every developer is coached into believing everything they make needs to be unicorn scale and quality
I kind of disagree with both of these statements. Reusability/DRY/etc. is just a useful technique or pattern. If you can do it, cool. If it's not worth it, factoring in complexity and cost, carry on.
Building something stable, reliable, and dependable, which is what I take "unicorn scale" to mean, is not necessary, it is simply good engineering. If you're thinking this is necessary for every project, you're not necessarily a bad developer, just a specialist, and the only real problem is if you don't realize that.
Software is a blend of engineering, art, and craft. Knowing what mix the current problem calls for is really the core pillar of being an effective developer. Too much engineering in your prototype and you've undermined it's flexibility. Too much craft in your production service and you've created a maintenance nightmare. Not enough art in your API and nobody wants to use it.
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]
- zerkten 4y agoI don't take "unicorn scale" to mean "stable, reliable, and dependable" in the context of the original post. You seem to be a reasonable person that values building "stable, reliable, and dependable" systems. There is another segment of the tech world that have used the wrong tools and techniques for their domain based on experiences shared by the largest companies. This is often resume-driven development. It results in a lot of toil and rework for those maintaining those systems. The challenge is that assessing outcomes is very contextual. There are teams that will be successful with a completely overengineered system built with what seemed like an unrealistic toolkit, and there will be teams that fail with an overengineered system and seemingly better toolset and team. For example, I'm aware of pharma teams using K8s and Svelte for small apps when a Django or .NET app would be sufficient.