3 ms·
Let's look at who the author is: X is an assistant professor in the School of Computer Science, University College Dublin, Dublin, Ireland. Oh, that explains i
by lmilcin 5y ago
Let's look at who the author is: X is an assistant professor in the School of Computer Science, University College Dublin, Dublin, Ireland.
Oh, that explains it.
Programming may not be hard until you have to:
- work on a sufficiently large project,
- with actual clients,
- with actual deadlines,
- with a lot of people that have low level of knowledge and/or little incentive to do their job well (basically, they just want a check),
- with management that tries to optimize you as much as possible (ie get the project done with as little cost as possible),
- with management that does not care if your programming is correct, but cares only to hit their financial KPIs.
So if you want to compare it to construction, imagine that construction companies are not penalized for buildings toppling and people dying but only for the lost revenue from (now) missing tenants.
Then the construction company management tells you to build as fast and cheap as possible to crank as many buildings and be faster than competition, because that's what is going to bring in new clients to replace the ones that have died in toppling buildings.
- himinlomax 5y agoYou need to learn more about construction. Bridges are built for decades, hopefully centuries. What happens to rebars encased in concrete over that timespan is not obvious to anyone, otherwise inspectors would not have to purchase expensive equipment and condos in Florida would not be collapsing.
- lmilcin 5y agoThere are hundreds of thousands buildings like that. The threat of potential consequences causes construction companies to mostly do a good job, so that out of those hundreds of thousands of buildings we rarely see any toppling with people in it. On the other hands developers are disincentivized to ship perfect working code. It happens every time they are told "Just fucking ship it!" and when they colleagues are rewarded for delivering imperfect code on time.
- wilsonfiifi 5y agoI myself think programming is more like tailoring. Art, science and skill all in one. And allowance for adjustments to get the perfect product.
- lmilcin 5y agoExcept you usually know how much it is going to take to tailor a shirt, a pair of trousers, a jacket, so on. It is vary rare that it suddenly blows up on you and takes way more time than it should. And then the clients aren't usually changing half of the project as you go. Or ask you to start "tailoring" before they know whether they want a leather bomber jacket or historical ball dress.
- wilsonfiifi 5y agoI'm sure there a quite a few seamstresses that would disagree with you on that one.
- II2II 5y agoTailor a business suit, and what you're saying is reasonably correct. Most of the decisions are made up-front. The primary concern is fit. Tailor a wedding dress, and the the process could end up looking much more like a software development project where things are changing as you go. Of course, there are other issues at play. The software development project may blow up when unexpected issues pop up with the design or implementation. That is where the ideas behind software engineering come into the picture. You don't build a bridge or a dam without having a clear specification and you don't create that specification without doing considerable research first. (You also don't throw a team of junior engineers at the problem, expecting them to know every facet of what has to be studied and how to design it.)