3 ms·
I recently attended ICWMM, a conference of people who model stormwater for a living. Many of the people there technically program for a living, because some of
by gwbas1c 2y ago
I recently attended ICWMM, a conference of people who model stormwater for a living.
Many of the people there technically program for a living, because some of their models rely on Python scripts.
They are not software engineers. These aren't programs designed around security issues, or scalability issues, maintainability issues, or even following processes like pull requests.
- marpstar 2y agoThis was something I didn't understand when choosing between "Computer Science" and "Software Engineering" as a major in college. At its simplest: "Engineering Software" is what people who build software products do. "Science with a Computer" is something that people doing real calculations, simulations, etc do. I, too, forget that the tools we use to build complex solutions can still be used by people who don't live in a text editor.
- crazygringo 2y agoComputer science isn't "science with a computer". It's not about calculations and simulations. Computer science is the science of computation. It's more to do with theory of computation, information theory, data structures, algorithms, cryptography, databases. "Science with a computer" is experimental physics, chemisty, biology, etc.
- hobofan 2y agoNo! "Computer Science" != "Science with a Computer" "Computer science" (in contrast to software engineering) is the science that looks into the properties of computers and thing related to it (algorithms, database systems). E.g. examining those systems on a scientific level. Depending on how abstract that can have more or less direct input on how to engineer systems in their software/hardware implementations. "Science with a computer" on the other hand are usually (in terms of majors/academic disciplines) taught in the adjecent subfields: Bioinformatics, Chemoinformatics, Computational biology, etc.. Of course basic computing is also on some level seeping into every science subfield.
- marpstar 2y agoDid not say "computer science" == "science with a computer", was merely trying to focus on exactly what I said: "doing science with a computer" versus "engineering software".
- MITSardine 2y agoYou might have meant "Scientific computing" or "computational science" rather than "computer science". Alas, everyone will now point out your mistake.
- marpstar 2y agoYeah, was fully expecting the replies but just didn't care enough to spend another 20 minutes articulating it further. Whatcha gunna do? (shrug)
- MITSardine 2y agoThis is very reductive of scientific computing. Maybe that conference is particularly narrowly focused on certain applications but there's plenty of people developing "real" programs (not python scripts) in academia/research labs, and you usually see those in conferences. Look for instance at multi-purpose solvers like FreeFEM or FEniCS, or the distributed parallelism linalg libraries like PETSc or MUMPS, or more recent projects like OCCA. These are not small projects, and they care a lot about scalability and maintainability, as well as some of them being pretty "CS-y".
- fuzzfactor 2y ago>people who model stormwater for a living. >They are not software engineers. These aren't programs designed around security issues, or scalability issues, maintainability issues, or even following processes like pull requests. That's been the obvious problem for a while now. These are the people whom software engineers need to be cheerfully working for. Any less-effective hierarchy and they'll just have to continue making progress on their own terms.
- gwbas1c 2y ago> These are the people whom software engineers need to be cheerfully working for. Nope: We are equals with very different goals. I (a software engineer) happen to work on a product, with customers. Modeling stormwater is part of the product. Within my company, the people who do modeling are roughly equal to me. In the past, I've built products for customers where the products do not provide programming / scripting tools. > That's been the obvious problem for a while now. A script that someone runs on their desktop to achieve a narrowly-defined task, such as running a model, does not need to handle the same concerns that I, as a software engineer, need to handle. To be quite honest, it could be awful spaghetti code, but if no one else will ever touch it once the model is complete, there is no need for things like code reviews, ect.
- bob1029 2y ago> We are equals with very different goals. I think it would do most developers a lot of good if they were to pretend like they were a servant class to the customer & team for a period of time. They will hopefully learn that a contest of egos is not enjoyable at scale over long timeframes. A happy customer provides a much bigger dopamine rush than getting some smart-ass jab in on your coworkers. A job done right and seeing the recipient legitimately happy about what's been done for them should be the #1 goal of a person who identifies as being a fucking genius with computers. Most people suck at this and you should be helping them out, not competing with them in some bullshit heirarchy that only exists in your own head.
- fuzzfactor 2y ago