4 ms·
everyone works on stuff that's more complicated than it looks from the outside, and many other fields are able to estimate the amount of work it takes to do som
by deadfoxygrandpa 3y ago
everyone works on stuff that's more complicated than it looks from the outside, and many other fields are able to estimate the amount of work it takes to do something. why cant software?
example: in 2006 china formalized plans to build a totally new high speed train system that spans the entire country by 2020, a totally new level of scale that had never been done before. and the plan worked out even a bit ahead of schedule. how did that planning happen? dont tell me that was simpler than your crud app
- btilly 3y agoFunny fact. When I was a relatively new programmer, we used to be told we had to become better at estimating, like architects are on construction projects. Then it became common knowledge that architects are as bad as we are at estimating costs. And people no longer use that comparison. The fields that are actually able to estimate work well tend to have one big advantage. They are estimating how to do standardized tasks that are similar to ones that they have done many times before. Ones that don't have that advantage, are as bad as we are.
- danielmarkbruce 3y agoThere is a half decent book "How Big Things Get Done" which goes into some detail on this. TLDR - yes.
- kortilla 3y agoA train system is embarrassingly parallelized. It’s the equivalent of saying, we want to build 50 data centers in 3 years. It’s a lot, but it’s a lot of independent things that connect together at the end.
- quickthrower2 3y agoA falacy here is there are commercial just-crud apps. There are not. If it is just crud then just rails scaffold it, and estimate day 1 day. We could be better and more like the subset of real infrastructure projects that are on time and budget. There is probably a subset of software that is too. You need to a great waterfall. Probably allow prototypes that can be thrown away and have a decent budget for the design phase that will shore up the design and therefore the estimate. And have developers on one project. Hire project managers that are on their 15th ERP build and making a similar one for you. And use last decades tech so there are less uncertainties (probably not a bad idea for many things - gimme that winforms app without all the slower SPA spinners!) Even with all this what software lacks is classic Engineering (long degree, good concepts taught, respectable education over leetcode practice and so on). Problem is California will piss all over your business with move fast attitude unless you are boring enough to be off their radar. Be boring!
- sfn42 3y agoThis is exactly my problem with software dev. There are no standards, no expectations, hardly any regulation. Employers grab fresh graduates and throw them right in the deep end and hardly anyone looks at their work or teaches them anything. In Norway if you want to be a carpenter or plumber or electrician you have to be an apprentice for two years after your education and then do a test to prove you've learned to do your work properly. Meanwhile in our field nobody even agrees what properly is, most of us are just here for the money and are planning to job hop in a year so they don't give a crap. Docs? Nah. Unit testing? Nah. Clean code? Nah. That only matters if you give a shit.
- jahewson 3y agoWe’ve been building railways for what, 200 years now? Heck the old ones were built by hand.
- deadfoxygrandpa 3y agohow to tell me you have no idea what youre talking about without saying it directly
- smileysteve 3y agoRe: China train example. Now do a California rail from San Francisco to LA. Answer, you can't. Earthquakes, Land Acquisitions. Src https://www.washingtonexaminer.com/opinion/california-imaginary-solar-train https://www.washingtonexaminer.com/opinion/california-imagin...
- rswail 3y agoRun an elevated train along I-5? There are no engineering solutions to earthquakes? Railways can be repaired. Land Acquisition is a government and regulatory issue, not engineering.
- smileysteve 3y agoThis wasn't a hypothetical, but based on a delayed project https://www.washingtonexaminer.com/opinion/california-imaginary-solar-train https://www.washingtonexaminer.com/opinion/california-imagin... Government and regulatory issues apply to engineering whether it's software engineering, building engineering, or train engineering. (In software, intra company estimates can easily be blocked with political "do it with only the current existing infrastructure or conventions" or my favorite, "now prove it in a test environment, but I'll give you 0 resources for a test environment", and government / business related - ie the cost of security breach, GDPR compliance, payment compliance, Twitter,Google Maps, or reddit making api access and pricing changes)
- rswail 3y agoIt helped that China could throw essentially an unlimited budget and unlimited workforce at the job. It ended up incredibly over budget and the various state owned corporations have had to be bailed out. On the other hand, China now has a rail industry that allows them to sell around the world. So the ROI over time is probably good. China can invest for the long term. As Deng said, when asked about the French Revolution being good or bad, "Too early to tell."