3 ms·
>If you major in "mechanical engineering", you will take courses in calculus, linear algebra, probability, computer programming, physics (thermodynamics, mechan
by vdnkh 11y ago
>If you major in "mechanical engineering", you will take courses in calculus, linear algebra, probability, computer programming, physics (thermodynamics, mechanics, electrodynamics, strength of materials, maybe aerodynamics and viscous flow), control theory (what used to be called "cybernetics"), manufacturing techniques, CAD, and maybe a management course or two.
Any ABET-Accredited program will have you taking the majority of those classes as a Software Engineer. I went for ECE with a focus in Software and this was certainly the case for me. The problem is that "Software Engineer" isn't a protected term, so anyone whose ever compiled a hello world can title themselves with it. With Software becoming a serious infrastructure to daily life, it's time to add rigor and standards to the people calling themselves such, just like a Civil would. Of course, this wouldn't apply to most software jobs. But if you're in charge of making, say, emissions control software, you should be properly vetted and held accountable.
- kragen 11y agoFirst, I agree with you that programmers need more rigorous training, especially the ones who are in charge of safety-critical software. But probably instead of calculus, linear algebra, strength of materials, and thermodynamics, you need information theory, automata theory, combinatorics, and formal methods. But the "software engineering research" the article is talking about is not concerned with things of actual intellectual content like that; rather, it's concerned with management questions like bug triage and "adoption of particular practices". Second, I don't agree with your prescription for emissions control software. The problem is not that too many people are able to write emissions control software; the problem is that too few people are able to write or read it, which makes it impossible to hold the authors accountable. If every car engine control unit shipped came with the fully-commented, compilable source code on a CD-ROM, and it was commonplace for people to patch it to reduce emissions or deal with unusual circumstances, Volkswagen would never have had a chance at sneaking its cheat in.
- thesz 11y agoNot "in stead" but "in addition". Through all my career I have faced various issues related to calculus, linear algebra (heck, Jacobian elimiation has its use in SAT solvers! nevermind the computer vision), strength of material (one of my bosses asked me how I'd develop more or less destructive game world) and thermodynamics (because you need that for computer hardware and hardware in general). I believe that I find those problems once in one or two years. Through all my career.
- lfowles 11y agoAt my college Software Engineering was under the Computer Science program, so they wouldn't have taken most of that. Even in Computer Engineering I didn't take half of those... According to Wikipedia, Software Engineer is protected to some degree in Texas and Florida as well.