|
(OP) I woke up this morning and I was pleasantly surprised at the large number of answers to my question. I saw some pretty insightful ideas. Thank you!
Also, it would be nice to hear about hurdles that non-software devs are facing. It may be a skewed opinion of mine, but I think that more value can be added, more easily, by software into other domains, than what can be added by software in software development itself. Software "divorced from reality" is pretty useless. It becomes useful when: it helps drive a real process (e.g. factories, cars), it helps better understand a phenomenon (e.g. data analysis), provides entertainment or education (e.g. games, animations), gives answers or predictions (AI, machine learning), facilitates communication (messaging, video calls), etc.. A god-like software running in a box (e.g. general purpose artificial intelligence), but not plugged into anything (e.g. at least a monitor, speaker, etc.) will literally offer nothing (even if it could, should it be connected) Say you make an application to facilitate selling of tickets to a business. Then you may go optimizing the database/website to handle more users, etc. Then you may go optimizing the build-tools, the programming language, etc. The more you continue down this chain (which goes more abstract) the less you directly and meaningfully impact the initial requirement. I'm not saying it's a bad thing! I'm saying: -> The more "meta" you go, the more broader impact you have on a whole area, rather then just the initial requirement. This is the good part! But also the harder and more complex it gets! Exponentially! This is the "bad" part. I guess the ultimate point would be to reach general purpose AI. When we get there, the whole purpose of this discussion thread is useless anyway. But until we get there, I personally think we should focus more (or at least just as much) on fixing the actual problems (in a clean way, with few dependencies), rather then going to deep on that "meta" chain I mentioned. There are good outcomes of course, but one bad outcome of going too "meta" is the increasing bloat and complexity we seem to be experiencing in all modern software. "Inherent Complexity: The Ways the Problem You’re Solving is Hard"
"Incidental Complexity: When Programmers Make Their Lives Worse"
https://pressupinc.com/blog/2014/05/root-causes-software-com... |