Major in Computer Science vs Software Engineer? 3 Sample Interview Questions

preview_player
Показать описание
Let's discuss some core differences between these two majors. At the end of the video I'll present 3 sample interview questions that you should be able to solve out of college.

Instagram Firebase Course

Facebook Group

iOS Basic Training Course

Рекомендации по теме
Комментарии
Автор

CS Majors build programs better.
SE Majors build better programs.

The difference is subtle enough that most employers consider the two to be the same. And it is true that either degree can get you to pretty much the same positions. However, much of this is due to the fact that most learning and experience is gained on the job rather than in the classroom.

The differences you might notice are that a CS’s code tends to pass more unit tests, while a SE’s code tends to pass more acceptance tests. A CS major is often better at decomposing complex problems and creating solutions to them. A SE major is often better at translating the nuanced demands of a customer into technical requirements and describing features back to customers.

Either way, your degree pales in comparison to your personal ambition and character.

justaguy
Автор

Confession: reading the comments back and forth here of CS vs SE reminds me so much of Sheldon and Leonard arguing theoretical vs experimental physics :)

micahtron
Автор

Computer science has a lot of maths and algorithms, and mostly deals with solving complexity problems of solving algorithms. It doesn't really get into details of building a software or a build flow. Software engineering on the other hand needs computer science fundamentals to solve software related engineering problems. Think of it like any other subject. A chemical engineer can't create a super conducting polymer without knowing the theoretical chemistry behind it, similarly a mechanical engineer can't design a gravity free hinge without knowing the physics behind it. Software engineering needs computer science knowledge.

ansrhl
Автор

Software Engineering is when a customer comes to you with a problem from their business or a previous existing system or an app idea, then you have find all the requirements for the system/software you want to build, the requirements or requirements engineering is where the work is. You will be taking comp sci classes to understand theory side - data structures, algorithm, network etc but also there are SWE classes like software architecture, construction, requirements, human interface design, testing and project management... Computer Science, you gonna do lots of maths, calc 3 and maybe linear algebra. The roles are interchangeable in job roles today but if you want to differentiate I think computer science is more on the computation side of things, hence the emphasis on understanding faster algorithms and good data structures but SWE is taking all those requirements together so you can build a software for the company. eg like the one in walmart when you check out or the one in the dentist office...you see already there lots of places that need software.

chillybean
Автор

I really needed to hear this. Thank you for making this video.

teammalto
Автор

Depends on what kind of programming jobs you're doing I guess?

Numerous developers earn their money by doing web and/or app programming (market trend perhaps?) and with these jobs, I personally consider us, essentially over glorified framework users and that's okay. One needs to know their own strength and weakness and do what's within one's own ability. Not knowing these hardcore data structure knowledge doesn't mean you can't earn money programming.

App developers use iOS SDK or Android SDK. Web developers use frameworks like Ember, Angular, React etc, and that's the beauty of frameworks, you just need to know how to use it, you don't need to know how it works under the hood. Kind of like you just need to know how to use the car's pedals and gear stick, you don't need to know how the engine works internally.

We learn about these data structures at university but during our time at the job, we never have to write our own implementation of a Linked List, or a B-tree etc We have NSArray, NSDictionary given by the SDK.

Unless you're working for big companies (Google, Facebook, Apple) or companies building really low level stuff (game/graphics programming?), then knowledge of how these data structure works starts to lose its value.

It reminds me of high school - we had to learn Chemistry, Physics, Calculus, Applicable Maths in order to qualify for university. Two years of knowledge studying, worrying and freaking out at those subjects and looking back at it, those knowledge became pointless and never used.

Sometimes, university's importance is over exaggerated. You put a pile of money on a silver platter and give the money to the university all for them to tell you go home, buy books and learn it yourself, then come do the exams at the end of the semester. That's the reality. You go to lecture theatres, they don't sit down with you one on one and teach you from morning till night. Bulk of your knowledge comes from reading the book, learning by yourself at home. The tutorial classes are for you to hand in homework, again, limited amount of teaching. If you're learning from books anyways, you begin to wonder why you're paying a university in the first place and be subjected to their self inflated importance attitude.

Companies hire not only the technical knowledge of a person but the character of a person. If you're an a-hole, no one wants to work with you no matter how good you are.

Generally, companies don't care what degree you graduate with (again, unless you're going for big corporations or extremely specialist companies), they only care about what skills you have to help them earn money or solve a problem and whether you're compatible with the rest of the staff. Case in point, I graduated with Multimedia degree (not programming degree), not one company to this day asked to see my university degree or rejected me because I graduated with a non-programming degree. I got the jobs by building my own apps in my own time, showing I have initiative and not by showing how great my degree is. To further prove my point, we had a Ph. D guy who did the same job as me, in the same company. Degree isn't everything.

Additionally, from my own observation, a company usually hires when:

1) Someone is leaving the company, they need to fill the role.
2) The company is expanding e.g. too much work, not enough programmers (not often)

So from me to the soon to be university programming graduates, the advice is use the right tool for the right job. Adapt to your environment.

Not knowing these hardcore data structure knowledge doesn't mean you won't get programming jobs. Truth be told, I couldn't answer the 3 questions linked in the video but that didn't stop me from helping my family paid off a third of the family house mortgage, paid off my own car, helping my brother buy his car (I'm paying for the car monthly), paid off my university debt etc.

chewedon
Автор

Great video! Thanks for your perspective.

joshheim
Автор

Software Engineering at my University was just an extra year where you focus on developing a SDLC project.

AustralianFrog
Автор

You don't understand how useful this video was for me. Thank you for explaining them and helping me target the specific major!

aidynbain
Автор

Thanks for the advice I wasn’t completely convinced on what major I was going for but now I’m confident on going for computer science

edwinlopez
Автор

Awesome video. The internet needs more clear answers to pressing questions like this. Thank you!

jgodinez
Автор

Make a video on
software engineering vs
computer science vs
computer engineering vs
Information technology

jk-sjnf
Автор

I’m a senior SWE major and I also had several classes for data structures, algorithms, operating systems, time complexity, programming paradigms, etc. I also had to take up to calc 3, linear algebra and discrete math. Of course, because it is SWE I did take the classes regarding software from a business perspective as well

joshhewlett
Автор

The content in both degrees are dependant on your university. At my university, Software Engineering basically consists of computer science classes (algorithms & data structures) with some additional engineering classes. So I am learning both theory and practical knowledge.

supermonkeyape
Автор

This video is very helpful. Thank you for your time!

neptune_wolf-
Автор

Comment section:
1% great video.

99% CS is actually...

marioavila
Автор

I just hate theory always excited to do more practical work like solving math problems. So I should try Software Engineering rather than Computer Science!

belaldhillon
Автор

Hi! I'm a 1st semester software engineering major with 2nd semester sophomore standing. For this reason, I have the option to potentially graduate early, but I would not mind staying in school for a little longer to get more education. Would you say that it is a good idea to get both minors in Computer Science and Mathematics--along with my major in SE--or just graduate in 3 years and start looking for a job with less experience ? Getting both minors in CS and Mathematics would put me at around 4 years to graduate, with the last semester only being part-time.

yongenchen
Автор

Do you know how can i add a safeAreaLayoutGuide to my inputAccesoryView??? Like the one in game of chats!!!

edwardpizzurro
Автор

I'm in second year of Software Engineering at a middle tier University and I've noticed that we tend to know more about theory compared to comp. Sci. Majors mostly because we do 90% of the same courses. I've also noticed that the code written by the comp. SCI. Majors tends to be inferior to that of the code written by the SWE majos I know...We tend to compare code for assignments often... I'm not saying they're bad, but at my school they prepare us better for when we graduate as we start internships in our first year. This has already been beneficial for me as after doing 6 interviews for jobs I felt under qualified for, received 3 job offers. It is worth noting I only have a grade equivalent to a 3.0... I'm sure eventually comp. sci. Majors will know more theory but they will never know it to a degree we can't catch up... I feel like your information is somewhat out dated except for the interview questions which is stuff we recently learned...

deathnightpwnage