If you love spending hours on your computer, know how to program, and love playing games, software engineering sounds perfect, right?
About half of the students who study engineering change their major or drop out before graduation. And most are in their first year!
Post-secondary studies are expensive and take a lot of hard work. This degree can be very rewarding and worthwhile, as long as you know what it's all about! Let's find out if studying software engineering is a good choice for you.
What is software engineering?
It's a mix of computer science and engineering. It combines all the steps of creating software:
assessing needs
design & development
programming
testing
maintenance
Image from Freepik
It is the full process from defining the project to maintaining the software. A software engineer develops this entire process, oversees it, and is responsible for all of it.
You may be saying to yourself, "That's a lot more than design and coding!" Yes! Yes it is!
How do I prepare for a software engineering degree in high school?
Most engineering degrees focus heavily on math and science, and software engineering is one of those degrees. So, to prepare and be accepted into this program you will need specific courses in your final year of high school. Typical prerequisite courses are:
1 or 2 math courses (calculus, functions, algebra, trigonometry)
2 or 3 science courses (physics, chemistry, biology)
English
What?! No programming course?
To apply to most programs, you don't need a programming course in high school. BUT, it will help! Your first year programming course will be much easier if you've taken it in high school. And you'll take programming throughout software engineering so, it's good prep.
Some high schools offer different science and math courses, so make sure you are taking the courses that are prerequisites for the university you're applying to. Your guidance counsellor at your high school will be able to help you with that!
What can I expect from a software engineering degree program?
A software engineering program is, well, intense!
But it can also be very rewarding, so don't let that scare you.
What is Year 1 like?
Many programs have a common first year. This means that all engineering students take the same courses in Year 1. So, Software Engineering students take the same courses as chemical engineering students, etc.
It's very common for students to change from one stream to another. This allows them to "sample" all engineering streams in the first year. So you may find you're taking some courses that aren't related to your specific program. And, who knows, you may find a different engineering passion!
Hours: Most engineering programs have 5 to 7 classes per semester. This could be 25-35 hours of class each week. There are also many hours of study and projects added to that
Universities have different courses, methods and supports. Selecting a university is an important part of the post-secondary process. So, it's important to choose the best school for you!
To help you prepare, you can take a look at some of the best undergraduate schools for Software Engineering in Canada and the USA.
What types of courses will I take?
Software engineering has some really interesting courses. Here are a few sample courses you may take:
Advanced math courses (Calculus, Applied Math)
Software Architecture
Software Requirements and Analysis
Project Planning
Algorithms and Data Structures
Microprocessors and microcomputers
Engineering Ethics, Sustainable Development & the Law
Human Computer Interaction
These courses will be made up of:
Lectures: The professor is in a classroom or hall teaching the lesson. This can have 30-500+ students! Every class has a lecture.
Labs: A smaller setting with a teaching assistant (TA) there as you work on an assignment or do project work. Not every class has a lab.
Tutorials: Another small setting with a TA available to help with lessons or also complete tests. Not every class has a tutorial
A typical day:
8:30am-9:30am Linear Algebra (lecture)
9:30am-10:30am Physics (lecture)
10:30am-11:30am Programming Foundations for Engineering (lecture)
12:30pm-1:30pm Calculus for Engineering (lecture)
2:30pm-3:30pm Calculus for Engineering (tutorial)
5:30pm-7:30pm Linear Algebra (tutorial)
You can search the university's website to find a copy of the previous year's syllabus. This will tell you what you will learn, how many classes, labs, tutorials, assignments, etc. there are during the course.
Co-op Options
Universities will also have a co-op option. In fact, for some it's mandatory. This is a great way to get some work experience as a software engineer. This will likely add time to your degree and make it a 5-year degree but it can be worth it as you'll make connections within the industry.
There are also dual degrees, double majors, and minors that you can take. Your academic advisor can tell you what's available at your university.
A double major means that you've taken enough additional courses to declare it as a major area of study. As an example: Western University in Canada offers a dual degree program for software engineering and its Ivey School of Business program.
A minor is similar and can be declared as a minor area of study. As an example, with software engineering, you can complete a double major or a minor with physics.
How can you succeed in this program?
You'll need a strong foundation in science and math. You need these courses to apply, and if you have a passion for them, that will help! These courses make up a large part of your course load.
Also, you'll need really good study habits! You'll have lots of classes and studying, so managing your time will be key.
And stay positive! It's a demanding program. Keep moving forward even if things don't go your way. It's ok if you don't do as well as in high school. You may be far from home and on your own — that's a big change, so be kind to yourself. You're learning way more than schoolwork and gaining tons of experience!
Some other advice:
Communicate well and practice those soft skills! Presentations and teamwork will play a major role.
Be part of a study group ASAP! Learn with and from each other. Students will be strong in different areas, so lean on each other.
Go to your prof's office hours. You can ask them anything, and they love to discuss their area of expertise.
Join clubs that interest you. There are some exciting clubs: Formula One, Concrete Canoe, Solar Car, Robotics, Baja Racing, just to name a few.
Find out which supports are available — peer mentors, writing centers, even support dogs in the library!
Quiz
You're having a hard time understanding material from your last lecture. What can you do to help? Select all that apply.
What are some jobs for a software engineer?
There are some really interesting and exciting career paths, in many different industries for software engineers!
If you have a degree in software engineering, you can work as a:
systems engineer
quality assurance engineer
cloud engineer
artificial intelligence engineer
game developer
Imagine the following scenarios...
You work for a company making AI algorithms and automating tasks for use in robotics.
You work for an aviation company and ensure the software running their aircraft is safe and secure.
You work for a car company and oversee the process of developing the software used for electric cars.
You work for a credit card company to manage and maintain their databases to make sure all their data is safe and secure.
Take Action
Your feedback matters to us.
This Byte helped me better understand the topic.