1. Well, you don't need to, but it's certainly interesting.
2. People assume all the time that software development is engineering. That's what leads to clashes between management and developers; clients not understanding why you can't estimate precisely; neverending projects; etc.
It's a very important thing to understand and explain that software development is _not_ an engineering discipline -- at least not yet. We strive to make it another branch of engineering, that's why we have design patters, methodologies, etc. Engineering is usually boring, but predictable, and that's a very important property software lacks at the moment.
It's a very important thing to understand and explain that software development is _not_ an engineering discipline -- at least not yet. We strive to make it another branch of engineering, that's why we have design patters, methodologies, etc. Engineering is usually boring, but predictable, and that's a very important property software lacks at the moment.