4 ms·
I also agree - however the ART of making software that's simple and works is disappearing fast. One of the most impactful things in my career was watching Simp
by dzonga 8mo ago
I also agree - however the ART of making software that's simple and works is disappearing fast.
One of the most impactful things in my career was watching Simple Made Easy by Rich Hickey
our industry is part engineering | part art (i.e having taste) - A.I doesn't have taste (hence why vibe coding) doesn't work - the art of engineering is reducing the amount of code you've to write
it's not about saying YES to every feature - but saying NO and shipping the most impactful feature in the smallest amount of time. sometimes it's about stepping back to relearn so you can do things the right way.
whereas AI is about producing the most amount of code possible - which is the very antithesis of Software Engineering
- xyzzy123 8mo ago> the art of engineering is reducing the amount of code you've to write I would argue that it's _scaling_ software development? Making it so that you can create bigger programs: that accomodate more contributors, more requirements, faster, with more features, while being more correct, etc, without everything collapsing into spaghetti and chaos? Historically, keeping a close eye on lines of code spent helped a lot along most axes. Finding ways to keep "code spent" down will remain very valuable but I don't think it's the _only_ way to scale? Along the way we've developed architecture conventions, useful interfaces, test practices, standards, protocols, plugins & extension points, package repositories, etc. There are also social technologies like mailing lists, SIGs, bdfls, modern project & product management, etc etc. To the extent that simplicity is measurable (less LoC spent, less code coupling, less cyclomatic complexity) it seems like it can be addressed as an optimisation problem and automated.