Software Engineering. What?

Software Engineering. Perhaps you’ve heard it before. In fact, for you to be reading this, you most certainly have.
The Association for Computing Machinery (one big joint amongst others in the software world) defines it as “developing and maintaining software systems that behave reliably and efficiently(...)”.

Now, you could say that sounds very similar to what you think of computer science. Yes… but no. They’re 2 different majors. Typically, both have within their curricula programming fundamentals and basic computer science theory. However, computer science tends have few core topics, so that students can later choose where to go next (networking, artificial intelligence, database, etc.), whereas software engineering tends to focus on a broad range of topics essential to building solutions that are useful and usable.

In this way, one might come to understand these two as the “artist” and the “engineer”. Computer science could typically be more involved in developing the theories and research that later become tangible things after the engineers set it up. But, it could also be the other way around. For as much as you have a major in one or the other, in the end it all comes to the way you approach things.

You shouldn’t categorize majors as either crafts or engineerings. If you’re up for categorizing things, then look at each person with these majors. None of them are exactly the same, nor do they think the same. They have different grounds and knowledge, yes, but might think as artists or engineers, or who knows what else...