Comment Re:Software Engineering is trying (Score 4, Insightful) 306
.. to become a rigorous engineering discipline. It's not quite there yet. I am not convinced that it ever will be. Writing software is a creative process, arguably even an artistic one. Well understood rules can be followed, provably correct algorithms applied, formal design methods used, but it is still a human creative process, and as such, I suspect inherently non-rigorous.
Computer Science compared to Software Engineering?
Think aeronautics. The science of aeronautics ponders the laws of aerodynamics and the laws of flight.
Engineering aeronautics is all about building the damn aircraft.
As a senior in a software engineering major, I tend to agree. While there are any number of methods, design tools/patterns, and whatnot to help me do my job, in the end it is my own ideas and styles that define the product. There's certainly an element of artistry to it - a small block of recursion that accomplishes something horribly complex is just... beautiful.
Another thing that contributes to its non-rigor is the domain knowledge requirement. I can't effectively build a system unless I understand (at least at a high level) how it works. Each industry has its own specialties and levels of difficulty, and you can't teach all of that in school, so they teach us how to think and learn instead. They give us ways of understanding the problems we need to solve, and that's really what we do - solve problems.