4 ms·
Making complicated things may only be cheaper initially. I think the problem is that to learn to make simple things you first need to learn making complicated
by onetimeuse92304 3y ago
Making complicated things may only be cheaper initially.
I think the problem is that to learn to make simple things you first need to learn making complicated things. This is my story and pretty much the story of every person I ever talked to that learned to make simple things. Some people get it faster, some get slower and some never learn to appreciate simplicity, but everybody first had to learn to make before they learned to make simple.
So now realise we were through decades of exponential growth of the number of developers and at any point in time people with experience were greatly outnumbered by people with little experience and the answer becomes easier to formulate.
Simplicity isn't something that is easy to teach. The best ways to do it I found is by mentoring and working with people, but there are so many people you can meaningfully mentor on a daily basis. People with experience are so outnumbered (and also promoted up if they are any good) that it is very hard for an average apprentice programmer Joe to be able to find his master.
- hyperthesis 3y agoA complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system. - Gall's Law
- onetimeuse92304 3y agoNo, that's not true. Easily disproven by example: I have many times seen smart engineers with little experience design and immediately implement an extremely complex solution to a very simple problem. Don't believe everything people say. Just because somebody called something "a law" does not mean it is true.
- muro 3y agoThey might have designed and implemented it, but does it work? :)
- onetimeuse92304 3y agoSometimes it does. Depending on definition of "work":)
- ReleaseCandidat 3y agoA working "complex solution to a very simple problem" is not a contradiction, as it can be "simpler" than a simple working solution to a complex problem.
- thadt 3y agoI think this true, and in agreement with the parent comment. A working complex system evolves out of a smaller working simple system. You have to climb the hill from the one side. Getting to a complex, working system is the 'learning' part. If you want to be able to do the same things with a simpler system, then you have to do the work to collapse that back down to its fundamentals. I don't think it's something that can be 'taught' directly. I suspect it requires the experience of building the simple and then complicated things in order to understand the problem enough to make the complicated thing simpler.