3 ms·
Software Engineering tends to be taught as, like, Practical Professional Software Development Tips. And as a result software people seem to have no real concep
by erikpukinskis 8y ago
Software Engineering tends to be taught as, like, Practical Professional Software Development Tips.
And as a result software people seem to have no real concept of what “Engineering” as practiced in all the traditional engineering disciplines is.
Neither do I probably, but from the outside it seems to be something like “Learning how to work in such a way that the risk of known bad outcomes is mitigated.”
In software, since it’s still a quite new material, changing often, people seem to throw their hands in the air and just teach some common software development practices and move on.
And yet, I see so many companies making the same mistakes, and promoting managers who seem to fixate on their pet “bad outcome” to avoid while ignoring all the others.
I can kind of imagine a proper engineering degree in software though. It would probably be a whole set of engineering-oriented courses. Maybe:
- estimation, planning, Gantt charts, scrum, Toyota production method, etc... essentially project management with an emphasis on shipping
- deterministic resource usage: manual memory management, correctness proofs, big-O, etc
- performance instrumentation, including conversion, business model, and usability measurement
- error/bug tracking and resolution, including monitoring, ship/don’t ship decisions based on error rates, deliberate tracking of technical debt
Those are off the top of my head. I guess that’s just another random list of professional coder topics to care about. But I think it should be focused on cultivating deterministic outcomes, if we’re going to call it engineering.
And really, if we’re going to call it engineering, the set of practices need to be tested scientifically to show that they work.
... which makes me want to go read academic Software Engineering publications and are if any professors out there have already done just that.