TIL about Software Engineering

Today I’ve dedicated some time to research, but more important, learn, about software engineering. According to ACM, software engineering (SE) is about developing reliable and efficient pieces of software and always taking into account requirements from the customers.

Software engineering (SE) is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them.


As almost everyone in this course, I just googled for software engineering. In the results, I was amazed when I stumbled upon a WikiHow page with the title How to Become a Software Engineer: 12 Steps (with Pictures) . At this moment I thought: are there steps to follow, in order to be someone ? 

I think the only steps you can take in order to be a SE are the ones you set for yourself; but then they won’t be steps, they would be goals. After that, I was thinking about what you really need in order to be a SE. Currently, there is a huge debate whether SE is a craft or an engineering discipline. I think it is some sort of both because you first need the artisan stuff: dedication, passion, and even some sort of devotion and technique. And that’s where the engineering discipline takes place. You need to learn stuff and even more important learn how to apply all of that knowledge in order to build and develop reliable and efficient pieces of software.

After all, for me, it is a combination between art, and science. Art or crafting, as you all might think, is subjective. Science, in the other hand, is not. So, in my opinion:

SE is a way to leave an artistic signature in something as cool as software.