16 ms·
"Now I’m a computer programmer and I feel like some of the projects I have worked on could make a nuclear reactor feel simple by comparison." So you are faced
by gerdesj 5y ago
"Now I’m a computer programmer and I feel like some of the projects I have worked on could make a nuclear reactor feel simple by comparison."
So you are faced with a certain amount of complexity. Do you really have any idea just how complicated a nuclear reactor (and associated engineering is)? Let's start off with a simple problem: You need a shit load of concrete in structures like this. At what sort of volumes does concrete curing become dangerous? It's exothermic and there is a danger of fire (yes fire) in a concrete structure that is poured too quickly. This is one small worry in the Civil Engineering bit. Geotechnics - ground stability across a large structure is a whopping set of problems. The sheer size of the thing will move the topsoil, subsoil, strata around. The distribution of water will change too. Now you have the Structural Engineers diving in. Some of the structures involved are huge and involve multiple materials. Nuclear plants are often near the sea for the water cooling benefits but you also get additional corrosion to think about, including concrete cancer and what salts do to steel and other metals. Also you generally get extra weather to worry about.
I have not even scratched the surface of the complexities involved in designing, building and operating a nuclear power plant. Those two engineering disciplines I mentioned alone are at least three years at Uni for a degree and a good 5-10 years time served before you do anything close to critical.
- bombcar 5y agoBuilding and running are two different levels - a very complex setup to build can be very simple to actually use. Likely a large amount of complexity in these control setups is the lack of efficient screens for displaying data - compare a modern airliner to a 1960s.
- gerdesj 5y agofreetime2 is a self described programmer and not an end user. I was responding to a "builder". I felt they were comparing themselves to a huge multi disciplined stack of actually Chartered Engineers, let alone all the rest of the technicians and staff of a nuclear power station. I thought a little change of perspective was in order. Just another small example of the complexity involved, without even involving the nuclear bit - the equations involved when worrying about the forces on a simply supported beam are up to fourth order differential equations. OK there are tables of standard stuff but when the structure gets complicated then it gets ... complicated. The electrical requirements are staggering and so are the hydraulics. The logistics. Simply feeding the staff on site at all points of a plant's life is a hard problem with multiple sub problems.
- freetime2 5y agoMy intent was to compare the number of number of variables and processes that I need to understand to do my job with that of an operator in a nuclear power plant. And I was thinking more about how something can appear so bewildering at first, but though years of study it can become second nature. Human capacity to understand complex problems is amazing… but sometimes that complexity still gets the better of us. I’m perfectly happy to concede that I don’t know anything about operating a nuclear power plant and that my comparison may just be the Dunning Kruger effect speaking. But if you want to go into all the various engineering disciplines that go into building a nuclear power plant, I think it’s only fair to go into all the disciplines that allow my applications to run. Microprocessors, the Internet, etc. The apps that we interact with daily for communication, shopping, etc. are miracles of collective human engineering every bit on par with nuclear energy.
- moritonal 5y agoThat's an interesting point, but it's worth noting that coding benefits from being vastly easier to package and share. The architects of a plant would have to interact a lot more with a concrete specialist than you have to with the TCP spec to spin up an Http server. Because our industry demands a packaged product, we are quite good at it. I do however believe you are wrong. Biased from the perspective of a SE, I'd think a whilst a simple banking app involves more agreed protocols and touch points, it is less complicated than a nuclear reactor. I wonder, between the two, how many specs and manuals would you have to read to design either.
- freetime2 5y agoI’ll avoid saying more about the complexity of nuclear power specifically vs. web apps because, as I said above, I hardly know anything about nuclear power. One thing that I will say is that I think our team’s “velocity” is governed primarily by our ability to process complexity. Basically we are operating at the maximum rate that we are able to take in new information and incorporate it into our product. Sometimes we even go beyond that maximum rate and bad things happen. Definitely we make it harder on ourselves than necessary. We’ve switched hosting providers 5 times in the history of our app - each time with a non-trivial amount of effort involved. There’s a non-trivial amount of effort involved in making sure that all of our package dependencies, many of which were hastily chosen, are up to date and free of security vulnerabilities. Things like the TCP spec may not get a lot of thought when launching a new webapp, but when you’re dealing with some obscure bug it certainly can be something that requires consideration. We don’t even really read specs - we read stack overflow - because we have an endless backlog of feature requests and the focus is on delivering things ASAP. Maybe we suck at engineering and the complexity is self-imposed, but it’s complexity none-the-less and I’ve worked at enough companies to know we’re not alone here. And my assumption is that progress in a lot of creative endeavors is likewise limited by humans’ capacity to process complexity.