Here are 5 misconceptions I had about my software engineering degree

According to an article published by an American technical magazine, software engineering is one of the fastest growing careers in the world. They also went so far as to say that SE could have been the highest paying job by 2020 and even though that has not yet happened (doctors, surgeons and dentists are still the highest paid professionals. ), software engineers earn a respectable salary. amount of money in today’s job market.

The future, as it seems, will be almost entirely automated; we will have self-driving cars, smart homes, smart universities, smart restaurants and, eventually, smart all. The world Wall-E predicted, as it stands, could very well come true. The labor market could to need a large number of software developers and engineers in the near future, was what I thought straight out of high school. This (and my passion for technology) became my main reason for choosing a Bachelor of Engineering in Software Engineering.

When I started this course some time ago, I had high expectations. I had obviously done my research, picked a university and knew what I wanted in four years. However, as they always say, things hardly ever turn out the way you expected.

So here are 5 misconceptions I had about my degree and how all five have been debunked over the years:

Software engineering == Computer science

I, like many other people in the world, thought that software engineering would hardly have any difference with computer science. I thought we would have more or less the same courses and learn the same kinds of things and while this is not completely wrong there are many significant differences between the two degrees.

Software engineering, as the name suggests so clearly, guides you through the process of Engineering a Software. This includes the initiation, planning, gathering of requirements, design, implementation, testing, deployment and maintenance of a software system. Know and implement the Software development life VSycle (SDLC) and everything associated with it is the job of a software engineer. There are also many ways to implement the cycle; all these also fall under SE. IT focuses more on the implementation and programming phase.

Computer scientists also focus on computing, analyzing, storing, and developing data and systems applications, while software engineers focus more on applying these principles in an SDLC.

SE majors also have less hardware interaction than CS majors, but both have access to the same opportunities. It basically comes down to how your lesson plan is structured and how your instructor follows each individual lesson.

Read more: The dilemma of computer science, software engineering and computer engineering

This article only mentions a few differences between SE and CS. In fact, as was so evident to me throughout my coursework, the differences between the two are so numerous that the topic itself could be a different article.

Code, code, code …

As mentioned above, software engineering isn’t just about coding; it takes you through the entire software lifecycle. Coding is just part of that lifecycle. A software engineer has to brainstorm an idea, collect the requirements, design a product that meets all (or most) of those requirements, implement it in a programming language and create an application, rigorously test that application and deploy it. . Even after deployment, it is the job of a software engineer to keep the application up to date. Most of these components do not involve coding.

There are a lot of things that come with these other components like some humanities and finance topics; we will come back to that later.

That I couldn’t survive if I didn’t already know any programming language

By entering this degree, I already had some knowledge of Python, the programming language. I had done CS as an O-level subject and had a good knowledge of how the language was used. But it was a deciding factor for me. If I had not taken this course at school, I would not have chosen the profession. Now, this misconception may be very specific to me because many come to this degree with pre-engineering training and have never taken up IT, or even IT, in their lives. I was wrong when one of the classes we took in our first semester was called “The basics of computer programming”.

As you progress through your years in this degree, they teach you several different languages ​​like Python, Java, C ++, JavaScript, etc. Each of these languages ​​has an introductory course; if they don’t then the instructor mainly explains the syntax of each language alongside everything they teach, for example i learned java in my object oriented programming (OOP) course, C ++ in my current data structures and algorithms, and so on.

That I would know how to hack Instagram accounts by the end 🐱‍💻

This one was more my friends than me. Even now, when I come home for vacation, they always ask me if I’ve ever learned how to hack other people’s accounts.

It turns out that software engineering has a very small component, even at a distance, related to cybersecurity (no component that teaches you about cybercrime). You can choose network security as an option and as part of this they teach you different methods of encryption and decryption and some basic forms of data interception but other than that if you are looking to become a hacker or donate a chance at cybercrime life, I’m afraid software genius will disappoint you.

My communication skills will be wasted in this profession

It was one of the biggest turnarounds for me. Coming from a school where we frequently had to make presentations, speak in front of larger crowds, and put our conviction skills to the test, I couldn’t wait to sit in front of a PC all day and never interact. with the others. It has turned out that communication skills are one of the most important and important skills that a software engineer or any other professional can have. You can code and code whatever you want, but at the end of the day if you can’t convince someone of the quality of your product or how your app works, you’ll never make it to the top. . There are a lot of people who to this day do not have these persuasive and communication skills and although they can find a job and build a career, they will always stay a bit behind those who can sell their ideas and make your way to the top. Communication and the way you present your product is half the job of a professional.

So this is it ! We all want to believe that software engineers (and computer scientists) can spend their lives hiding from others, just coding, learning languages, and effortlessly hacking into government databases like the movies so eloquently show us, but the reality is very different from that. We, as software engineers, need to know all the processes involved in an SDLC; we must learn languages, have the skills to carry our message to those around us and, more importantly, we must strictly adhere to laws and ethics manuals.

Gordon K. Morehouse