3 ms·
Because programming gives us very easy means of getting something on the screen (just write a line of text and computer will execute it; magic!) but makes it ve
by beyondcompute 12y ago
Because programming gives us very easy means of getting something on the screen (just write a line of text and computer will execute it; magic!) but makes it very hard to accomplish anything (due to extreme indirection AKA „Yak Shaving“ and archaic computer-centered text-based „tools“).
Also because we generally lack culture of Developing things (i.e. understanding that production and polishing of things takes 95% of effort which takes enormous amounts of perseverance, focus and discipline).
- balabaster 12y agoBut what we all fail to ask is how much of a return on our investment does that 95% of effort get? Would something with 20% of the work give us 80% of an ROI? You have to pick your battles. Of course, something that looks slick and professional makes us feel a lot of pride - yeah, that's right I did that, doesn't it look slick? Isn't the UX amazing?... but did we spend 80% of our time attempting to increase our ROI by only 20%? If so, we're concentrating our efforts in the wrong place. It's really easy to get sucked into making something look perfect, but you always have to have an eye on the goal. [Does the extra work I'm putting into this increase or decrease ROI? Is it costing the company more to pay me to fix this bug than it's going to yield in income?]
- beyondcompute 12y agoThat's partially my point. Unfortunately, it seems to me that with modern tools, libraries, OSes (Yak Shaving is actually one consequence of those) it's extremely costly to actually finish something of genuine robustness and quality. As I was telling to my friend once, at university we made database-centric applications using Delphi in under an hour and how much does the simple (couple screens, HTTP request, couple buttons wiring them) iOS application cost now? About a $1000? And do you feel that people mostly building not what they want or what would enrich the community but what their tools allow them? Why after release of golang everyone started to develop data-storages with it? Does world need 100 more database systems (while few of currently existing properly support ACID)? Why people not building next-generation GUI tools with go? Because it does not easily allow it (it would be too cumbersome/costly).
- balabaster 12y agoIndeed. 90% of the time, the reason it's so costly to get anything done in industry isn't the developer's technical ability to get the job done, it's operational constraints: build pipeline, ops, company policy, communications breakdowns. If you can remove most of those impedances by only doing 20% of the work and still making 80% of the return on your investment, there's little reason to sink budgets into the other 80% of the work. It might seem wasteful when you look at something and see optimizations left here and there, optimizations that are a cake walk to the average developer, but the optimization doesn't always save/make as much as it costs to implement/deliver. Even though the 15 lines of code seems simple and you can knock it up in a prototype in 6 minutes... that 6 minutes of your effort then needs to have tests written for each workflow, it needs to go through a Product Owner who needs to assign acceptance criteria, it needs to go through a QA test plan, it needs to get through acceptance testing and hopefully you've got a battery of tests that means it doesn't need to go through regression testing... and then assuming you've got CI/CD in place, it initiates the deployment pipeline and makes it to production without any major headaches. So you see, the optimization even though simple on your own project, and may not appear to "cost" much - certainly not in terms of technology actually has a massive amount of "hidden" costs - which is why it takes large corporations so long to deliver anything.