Crossover guy here. I worked as a ChemE for 11 years, then as a software developer for 20. Regardless of terminology, the two fields are very different. If I have to design a process to separate two liquids, I have a few options available, and all are highly constrained by physics and a lot of math and equipment design has gone into optimizing them. But when writing code to solve a problem, the number of possible ways to accomplish it are endless, and other than big-O notation there's not a lot of constraints put on the solution.
I lived through the "design patterns" trend, which seemed like an attempt to create a software equivalent to the "unit operations" we ChemE students all learned, but it was basically a flop because in the end you can use almost any design pattern to solve a given problem.
I don't much care whether you call it "engineering" - but the gap between the smokestack industries and software remains.
I lived through the "design patterns" trend, which seemed like an attempt to create a software equivalent to the "unit operations" we ChemE students all learned, but it was basically a flop because in the end you can use almost any design pattern to solve a given problem.
I don't much care whether you call it "engineering" - but the gap between the smokestack industries and software remains.