Software engineering? What is it?

hire20engineers

A formal definition of Software Engineering given by the IEEE is: applying the principles of engineering in the software development field. It’s very common to hear that people use the words coder, programmer, developer and software engineer as the same thing. Well, in my opinion, a software engineer is the one that differs the most from the other three. Programming might be the most important part in software engineering, but it’s still just one part of the whole process.

I can be hard to explain what software engineers do, and that’s because some people are not even convinced that building software is real engineering. I can define engineering as the application of mathematics, physical laws, standardized tools and metrics to build something. So, the problem is that software engineering is very new compared with other disciplines of engineering, it doesn’t have standards because it is constantly changing. Because of that, building software has been considered more as a craft than an engineering.

I think software development is a craft and an engineering. Software engineers build something beautiful and functional, try to innovate and give good product to people. But to achieve that goal, it can’t be done a lo tonto; building software is a big process: defining the software requirements, designing the algorithms -which requires math and logic laws- and instructions, coding, validation and maintenance. As I said before, this industry is very new, but the truth is that it will always be new. It feels like there’s always something new to discover, apparently there is a whole different world in computer science. And that’s why software engineering/craft is much better than an engineering, it never gets old.

Source: