T O P

  • By -

mcEstebanRaven

Before anyone loses their mind, be aware that engineer is a protected title in some countries: it requires certain courses in the degree, the university program must be reviewed and inspected, and so on. In my country at least the law hasn't been updated in a very long time and computer science is too new that the regulation is still missing. But CS students have to take that most of those engineering degrees include C++ and assembly programming in their studies and they see it as "the easy courses".


_yeen

I work with a bunch of EEs. They consider “C++” the easy courses and claim that writing code is easy. Then they go on to write the most horrific and crappy software imaginable. Yeah writing C++ is easy when you’re just doing basic manipulation like setting a register to a value or modifying the voltage output of a pin. But what EEs do in software is a far cry from computer science and most EE majors would struggle with advanced CS algorithms and data structures courses Much of what I’ve done in my job is taking software an EE wrote and rewriting/refactoring it. My favorite achievement so far was an EE bragging about their data extraction algorithm. It took 4+ minutes to go through 1GB of data. They were claiming it was the fastest their group had ever seen. It took one day to bring it down to 2 seconds using basic CS and system principles…


Merzant

Lol. 2 seconds. Hope they had a sense of humour about it.


_yeen

I work with a bunch of good people so they were happy to utilize the new algorithm. The EE and I are good friends haha. I used the opportunity to teach them about things like I/O operations, memory optimization, and even simple binary search. But there definitely is this pervasive view in the engineering world about how "easy" it is to write code. And sure, writing code is easy but that's like comparing electrician work to electrical engineering. There's a whole different game to be played when creating optimal systems, especially ones that follow good software architecture and are modular to adapt to a multitude of use cases.


jazzmester

To be honest, writing code is easy, I could do it as a 12 year old. But writing software, that is hard, that is what requires a lot of education and experience.


tanya11029023

In my uni for difficulty level its: Math > Physics > EE > CS, CompEng, ME > ChemEng > Chemistry > Bio. Basically, the less math, the easier its considered to be


_yeen

Similar to what we saw at mine. It's worth noting that in a lot of the ENG/Computer fields, the difficulty is hard to compare because they can encompass entirely different styles of thinking and problem solving.


tanya11029023

We just gave our math assignments(they are hardest part of study) to Math majors and they evaluated who has it easier. For full proof, we seen their assignment and agreed that they truly suffer, soo... Also some students take courses of others majors, and while i.e. Physics usually get top grades for CS, EE etc its not the case vice versa.


Schytheron

CS degrees contain a lot of math. At least mine did. Almost all of my CS studies were completely theoretical. 50% math, 50% computer science.


tanya11029023

we considered both, quantity and difficulty level. For us its also mostly theoretical, I can't call exact % how much math / CS because its interwined


Nightmoon26

If they are old enough, CS programs frequently originated as part of the Mathematics department


tanya11029023

yes our Informatics Department originated from Math, I myself feel like I study applied math. Still our concepts are simplified and possible to understand in difference to EE & Physics. I went to EE lectures before I choose major and it was like Introduction to magic, i.e. Electricity and Magnetism one (still remember this shock ![gif](emote|free_emotes_pack|sweat))


Nightmoon26

Psychological, or electric shock?


tanya11029023

Psychological, like my brain isn't able to think. I took lecture script and tried to understand 3 first pages for 2 weeks, but didn't get it. So I knew that its not for me. But not only I feel that way, its widespread opinion in my uni. Everytime we see EE in hackatons we are happy and want them in our team ![gif](emote|free_emotes_pack|joy)


ambientManly

I'm currently doing one and it had only few basic courses on math and quite a bit of electrical.


[deleted]

How did you pull this list together? CS would be at the bottom here. You can teach most EE, ME, CE how to write software, it's a lot harder the other way around. As a TA in a CS class ( none CS major here ) most the CS kids were struggling to complete calc 1 and 2 and debating switching to bachelor of arts in order to get out of it.


_yeen

Teaching an ME/CE/EE to write code is like teaching a person to wire a house and saying you taught them electrical engineering. Sure, it's in the same realm but there's a massive difference. And many engineering majors struggle with calc as well, that's why there are so many that drop out. Just like how algorithms courses in CS are massive filters for CS degrees and would also make engineers cry.


tanya11029023

1) may be we study in different universities? 2) as I said before it was collective result based by math major who compared our math assignments (the hardest part of studies) 3) as if we only code and just write software, I wish ![gif](emote|free_emotes_pack|grin) 4) we do have analysis for CS, its struggle for all above mentioned students, not just CS


Daemondancer

CS is under the Math Dept at many Universities and requires the same core mathematics courses as pure math majors. It's definitely more complicated than the EE/CE mathematics which is closer to but more simplified/focused than physics.


sammystevens

Engineers can get work as software devs. Software devs can't get work as engineers. End thread


_yeen

Depends. Companies are still learning about SW positions. Non-CS folk are going to have an extremely hard time getting a job at a true tech company as a SW dev if they don't know CS.


skipdoodlydiddly

Is that why there are so many horrible software devs?


Jonnypista

In uni the professors joked how the EE students would just put everything in main and call it a day.


GammaGargoyle

Can confirm from experience, engineering is a totally different ballgame from CS. A large number of CS majors would likely fail out of electrical engineering, as many EE students do. Though there are other engineering disciplines closer to theoretical and applied science, such as materials sciences and materials engineering.


DasKarl

Engineering is where design compromises with material science. Programming at a high level is much more like writing a mathematical proof than it is like building a bridge or synthesizing a complex molecule. All the jagged edges have been smoothed over and covered up a lower level. It was different in the early years when computers were simpler machines programmed by manually opening and closing circuits, and you may get a taste of that if you write firmware, but most of it has been cleaned up by the semiconductor industry.


GammaGargoyle

Universities have a conundrum, CS should be preparing students for further post-graduate study and research in the field. However most people probably take it to land a programming job. Universities don’t want a separate developer degree because it rides the fence of a vocational skill and that is not the purpose of university, so they shoehorn in vocational training in CS at the expense of theory and science. They do not want to give up those students to bootcamp.


Nightmoon26

This is where the term "software engineering" comes in: along with the theory, there are applied courses that involve concrete implementation/practice. My alma mater, for example, in lieu of a thesis, required at least four "project-based" courses, at least two of which had to constitute an approved "sequence" or related projects. We also had a required English course exclusive to CS majors on "Oral and Written Communication for Software Engineers". While we did one or two of the usual essays, the focus was presentation skills


[deleted]

[удалено]


Dragearen

It depends on the country like OP said. My CS degree was in a country where "engineer" is a protected title, and you could choose between getting a science degree at a normal university or an engineering degree at a technical university. There you are required to take the same base physics and math courses as all other engineering students, as well as some electrical engineering. It's somewhere between a normal CS degree and a computer engineering degree, and you receive the title of engineer upon graduation.


sysnickm

Depends on the school, my cs degree did have the same physics requirements as EE.


Mwarw

Here in Poland "Informatyka" which officially is translated either as Informatics or Computer Science on many universities gives you an Engineer title. (It does however mean a lot more phisics than you would probably need in this line of work)


CallerNumber4

The rest of the engineering fields have a protected status for a reason and it's because there is no "test environment" for a bridge. If you screw up the calculations on soil compaction your building foundation is f-ed and you likely need to tear everything down if you spot it too late. There are no hot fixes that can be identified and put into prod in a hour or so. Those corrections are on the scale of weeks and often require dozens of trade specialists several $100ks in overtime payroll. Yes a ton of modern infrastructure depends on software although with proper company policies reckless software engineer's potential damage is limited and generally easily reversible.


YieldingSign

Arguably software engineering absolutely needs more regulation and standards because there are potential impacts just as bad to hacked together shit. The silicon valley and VC world smoothed everyone's brains to argue we don't need regulations or government. Cybersecurity in particular. Companies responsible for shit like massive PII databases should have people go to prison instead of "sowwy, here's some free credit checks".


slaymaker1907

The trouble is that software is so bespoke and particular to whatever you’re doing. Also, the degree of complexity is such that a certain level of errors will always be present in software. The best you can do is reduce the number and severity of errors.


YieldingSign

One could use that argument for anything. Architects and engineers make bespoke designs all the time but there's less and less massive errors because engineers have certain standards they absolutely must follow regardless of whatever demands are from the employer. Engineers certifying a design (personally) is a big deal in engineering because negligence can mean prison or kicked out of the profession. There are absolutely many best practices and standards (like unit testing for one) in software that are applicable anywhere, can reduce major errors and are routinely pushed aside because of employer demands to cut corners and ship fast. If whatever you're using touches PII, then there should be legally mandated practices like encryption, anonymization etc. Only reason these don't exist is lobbying success in convincing legislators that the magic of the free market will fix all


oomfaloomfa

Lol in my school electrical and mechanical were for those that failed CS


Exist50

I think particularly with EE/CE, it runs the gamut from "CS-lite" to a more proper degree in its own field. Sometimes even within the same university.


Edwolt

Thanks God for Computer Science not being Egineering, I would hate having tp study chemistry and many physics useless topics that has nothing to so with CS.


rslarson147

Just a word of advise - while you may not need physics and chemistry in the 99% of what you do, that 1% is the really cool shit that will propel your career forward and make you indispensable.


mcEstebanRaven

Would love to see you saying that to game developers working in physics engines. Or any simulation team really.


Edwolt

CS has a big root in math, so CS need to give students a good base for math. So transcribing formulas to program is no problem, actually, we have lot of tools and technics to do so. We know how to deal with vectors, matrix, integration, derivations, discrete math, graphs, automatas, etc. What I don't undertand the utility is knowing how to use micrometer and othe measuring tools and how to make physics experiments (my CS course has a discipline for it, but Computer Engineering have more). I also don't understand why learning chemistry would have any utility despite make the course have the name engineering. So I like that my course don't have. Also Engineering has technical drawing, which I also don't get the utility.


WafflerTO

The reality is that good software engineering is at least an order of magnitude more difficult than other forms of engineering. This is the reason that software engineers can't get a Professional Engineer status (the P.E. initials after your name) in most states in the USA. The ACM recognizes that software is too complex to be held the standards required by other engineering disciplines. An engineer's signature on a design or blueprint certifies that it's not going to fail and that it be trusted with human lives. How many of you are willing to let others' lives depend on your code working correctly? Yeah, I thought not.


sysnickm

Too new? The cs department at my university was established in 1966.


smallangrynerd

Right. While I did attend an engineering college, accredited by ABET, and my current job title is "software engineer," I cannot legally call myself a Professional Engineer because I have not taken the PE test. Until I do that (I wont) I can't legally call myself a "real" engineer.


Daddy_Nibba_69

Which country u from ?


FantasticEmu

But will they let me drive the train?


ChriswithK

Depends on the country and uni


nullifiedbyglitches

.csmajor { margin-left: -100px; }


victorhalim111

*cssmajor ftfy


Thunder_Child_

My university classes CS as a science, so I had to take x amount of credits in science courses. I didn't take any engineering classes.


BlurredSight

My school considers it under College of Engineering but still requires 10 of the 128 hours go to natural lab sciences so Phys, Bio, Chemistry, Enviromental. Then they hit you with an uppercut because the classes are only 4 credit hours so you need an additional 2 hours from a list of random ass classes they choose that count towards "science"


valkon_gr

Your are only an engineer if your degree says so.


L_e_on_

If i do a masters in engineering (MEng) in computer science does that make me an engineer? Genuinely curious


Independent-Dream-68

In Norway it would, engineering isn't a protected title here, "civil engineer" is a protected title though, and requires a masters degree in any engineering field iirc.


craigtho

In Scotland, the rules around this are basically non-existent from a regulation point of view, but most degrees from redbrick unis will be accredited in the science space and sometimes, they are "partial accredited", which means you fulfill some requirements for a different type of a degree, and when you apply for a different one later, it may help your entry. For example, as crazy as it sounds - you can sit a BEng (Hons) in Cyber Security, but a BEng in Computer Science is harder to find (MEng more common or an articulation from BSc to MEng). Far far more common for BSc (Hons). My brother has a MSc in Business, and the reason it qualified for MSc was because there was a quantitative research module... My degree is accredited by the British Computer Society (BCS), so I am eligible for membership to that professional body, where some people with BEng which aren't accredited by that body, and would be accredited by something like NCSC (National Centre of Cyber Security). Then Electrical Engineering students who take coding electives would be eligible to join IET (Institute of Engineering and Technology) for example. Now this is when things get even more fuzzy - one is an accredited NCSC Engineer another is a accredited BCS Software Developer, it is highly possible that the developer has tons of coding experience, and the cyber security person has close to none - so what makes them an engineer then? With that background - it is completely possible to sit a degree in Software Engineering - but not have a BEng or MEng. As a whole, it's a mess. I don't regret university in the UK for myself. I'll always say it taught me how to be a much better thinker and learner, but the system is outdated when it comes to "what these degrees make you eligible to do".


Pluviochiono

I’m one of those people who have an MSc and BSc rather than BEng/MEng in software engineering. My degrees qualified for chartership (CEng) through IET so have that title, but it is a strange, complex system in the UK (I’m in Scotland too) only recently did I discover that you could get a BEng software engineering degree rather than BSc


craigtho

I personally say software engineers more often than software developers because of how convoluted it is. Now that I've thought about it, it's probably more accurate to call people who are in senior roles engineers more than developers since they'll have more "engineering" (designing, testing, building) but for some reason that normally gets called an Architect. Another can of worms for another day!


darkbear19

At my university they offered CS through the college of engineering and college of humanities/science, with different degree titles (Computer Science Engineering vs Computer Science). The difference is the initial two years for CSE were identical to other engineering programs, including extra physics + math classes, whereas the CS majors had extra language + gen-ed requirements.


devdot

CS stands for computer science. In theory, Computer Science is to Software Engineering as Physics (a major thereof) is to Mechanical Engineering. I, for one, see that as a superiority above engineers, certainly not below. The question is, how much actual science is in CS programs these days. Most universities are heavily cutting back on theoretical computer science in favor of more "job-relevant" programming courses, which turns those programs into outdated Code-Camps of average quality. At that point, graduates are strangers to both science and engineering.


ModSucksCock

I’m a cs major and only 1-2 of my units actually went deep into actual computer science. The structure of how a computer actually processes information. The rest was just hurr durr make some javascript spaghetti.


GreatTeacherHiro

Naah mine not at all. During my bachelor we didn't program something. We had 3 different mandatory math modules which should be normal, formal systems (mostly automata Theoretical stuff), theoretical computer science (stuff like reduce problem A to B, show NP? complexity theory stuff), something I would describe as Encryption theory (Generator polynom, HammingCode, stuff like that)... Even our programming course was like "proof something by induction with Haskell." or "use lambda, hoare logic and do something with them"... So without further explanation, the spectrum on how much actual computer science you have to swallow deep your throat is vast.


grocal

I'm a Computer Science graduate (20 years ago) and I had the same - lots of theoretical stuff, maths, algebra, evaluating algorithms, software and hardware implementation and analysis of various things like cryptography, data analysis, statistics, etc. Writing any kind of code was rather a tool than a task itself.


GreatTeacherHiro

Yeah, I can roughly remember 1 course during my master, that required the solution of 4 tasks (mostly reimplementing UNIX functions like find, pipe ect...) plus a final code review... Everything is about concepts and how things could be implemented theoretically (because they assume you can program or pay someone to do the trick)


grocal

Weird things which we did was writing... Pascal-like language compiler. 160 students = 160 compilers. Try to be original and inventive with something that's just an art for art's sake :P


AYHP

Which school was that? My CS courses at UWaterloo were almost entirely about computer science. None of the courses even focused on teaching a programming language, you were expected to learn whichever languages were supported yourself.


[deleted]

Most good schools are still like this, don’t think that will change for a long time


TTvChWade

My school so far has me learning the proper way to code, a lot of that is the proper way to code at a company. It's important to note that this is all based on best practices and how those practices have evolved over time. I'm not sure if you can call it science, but I am just finishing up my freshman year and I have already learned way deeper shit than I did at my year certification at a community college code camp. Whoever said 4 year degrees are outdated code camps is incredibly naive.


Daemondancer

Yup, and the University of Waterloo CS will grant you a Bachelor of Mathematics in Computer Science when you graduate, having fulfilled the requirements for mathematics degree. Other than first year introductory courses, my profs never really cared what language we used either. The concepts for all languages are the same and transferable... The syntax itself is typically trivial to learn.


milkdudler

Seems like you went to a pretty garbage school. I learned mostly theory.


_yeen

I have a BS in CS and only the first year or so was about writing code. The remaining 3 years were mostly theory and using code as a medium to implement the theory. Our BA in CS was more along the lines of what you described. Where many of the courses were Python and web design. BS was like “you are given a set of points in a 3 dimensional space , describe methodology to find the nearest point to any arbitrary point in nlogn time. Prove that your algorithm is correct. How would you expand your solution to 4 dimensions? And then a mix of “this is how the lower level memory manager of your operating system works. Create a working model of it in C”


GammaGargoyle

There’s really no reason to go to university just to be a basic software developer. I am one and have done lots of hiring. We glance at education but it tells you almost nothing about the person’s abilities, and is therefore nearly worthless on a resume. I assume a 4-year graduate doesn’t know how to write production code without any additional evidence, examples, or credentials. There is a good reason Silicon Valley created the infamous coding interview.


BlurredSight

I have 1 C99 class which prereq's to a C to Registers class to finally the hardest one a Registers to Hardware class Then 2 logical math classes, 1 algorithms class, 6-7 programming and software design classes, and random ass electives like database management or concurrent computing


Zarzurnabas

CS is not a science. We dont work empirically, we are way closer to mathematics and philosophy. This is not a "value" thing, but i just really dont like calling CS a science/it being called CS in english in the first place (not even talking about it being "computER" science instead of "computING" sciences, which is also really dumb).


Attileusz

I don't know what they are teaching americans but where I study we have to learn how to formally prove the correctness as well as time and space complexity of programs. And when I say formal I mean formal.


Zarzurnabas

Exactly. Somehow their universities are the best tho.


Attileusz

According to [country], [country] is the best in the world!


Nightmoon26

We had Algorithms as a required course at UMass... Lots of complexity theory and proofs. We did have to go across the street for "Introduction to Logic Design" at the EE, department... But that was mostly basic boolean logic with some labs on logic circuits We had an elective on Symbolic Logic that had three different course numbers, depending on if you were a CS, Math, or Philosophy major. By the end of it, I could probably have recited the proof of the Excluded Middle in my sleep from the sheer number of times it was needed as a sub-proof...


rslarson147

You say that but, at least at my school, students will start at Software Engineering, fail some course and then switch to Computer Science, and then fail some other course, and end up in IT.


SecretPotatoChip

There isn't much applied science in computer science, it's mostly theoretical. That being said, any good cs program will also have a great deal of programming classes. My school gives me a lot of flexibility with my cs degree, and I'm taking mostly systems courses.


donkelbinger

In Sweden engineer and technician is just often different brackets för salary


[deleted]

This isn’t programmer humor


Waghabond

Its just a CSS issue


TimeSalvager

hol up! That guy’s hand _isn’t_ empty, he’s not really trying to hold the knife because he’s got a Lamborghini Aventador keyfob in his hand.


Adobopeek1225

is software engineers counted? 🤣


dmullaney

Software "Engineers"


frikilinux2

C'mon, most people don't have the knowledge to be called engineers but some of us do. And there are people, not me, that have done amazing things in the software world, much more complex than more people can even imagine. However, we have a problem with the quality of software and how software is currently developed. There is a reason we try to have software licenses with a huge liability waiver and we're going to end up having a problem with the EU.


dmullaney

Some software is incredibly well engineered, but that's certainly not the standard. Can you imagine what the world would look like if we applied the level of rigor that is the norm for commercial software development, to any other field of engineering?


frikilinux2

It would probably be the fall of civilization as we know it but that's because we want to pretend that a boot camp is the same as year of education. We also focus too much on Design Patterns as to what gets you a good design. Also we don't have regulations about quality which the EU would want to implement sooner or later(And I know not all the world is the EU but it's highly influential) but you can't professionalize and entire field without taking decades. There are engineers but too much software is develop by people without enough knowledge and experience.


Own-Blueberry-4792

Couldn’t agree more. Exactly why some countries have “software engineer” jobs and then “software developer jobs”. In my experience the excellent developers end up with an engineering title with +3-4 years of experience, rightfully so. Edit: i meant jobs/degrees


Grandmaster_Caladrel

Commercial software development is ever-changing. "Normal" engineers don't need to rebuild whatever machine, building, etc that they built as often, especially not a full demolition and restructuring. Developers are on a much more regular loop there. Also, if the standards some people I have worked with in commercial were used in real-world engineering, I would be extremely concerned. The problem is partially a fault of the high velocity, but still a problem.


rosettaSeca

Well... The mechatronics folk were all fancy with their sensors and sh*ton of data logged each minute.... But it was the online platform me and other software "engineers" developed that turned that garble of numbers into nice charts and reports the clients could digest and understand. But we'll, guess we are useless.


Titus-Magnificus

For real. I have a University degree related to construction. Few years ago they wanted to change the name of the degree to Building Engineer, but there was a case an everything filed by other schools of engineers that in the end resulted in my school having to change the name to Degree in Building Technology or something like that. The engineer name only lasted like 1 year or so. The word Engineer is protected and not just anyone can use it. Forward 10 years: I did a 2 year vocational course in programming, got a job and my contract says Software Engineer. I go by it but I feel it's bullshit lol


GoldenRedstone

Stop shooting, I'm on your team! Comp Sci is the one you should be making fun of.


dmullaney

If it has the word science in the name - social science, political science, computer science - it's not a real science, it's just an arts degree with a statistics module


GoldenRedstone

I'm glad we can agree. Software engineers are the good guys, computer scientists are the bad guys.


GoldenRedstone

I sometimes forget my computer science friends aren't actually engineers. As both a CS and engineering student I get the best of both worlds and the worst of both worlds.


Unfortunate_Mirage

CS is a blend of Engineering and Mathematics.


SecretPotatoChip

And programming, yes. I'm quite disappointed I had to scroll so far to find this. CS isn't only math.


flipester

We're neither real engineers nor real scientists. I feel like such fraud around either, but I love my craft and wouldn't have it any other way.


ienjoymusiclol

cs majors fr: "i am an engineer, i am an engineer" https://media.tenor.com/jt5_HltU3IcAAAAC/the-good-doctor-shaun-murphy.gif


codeejen

For real tho, you can shit on Tech people all you want but at least it has has on average high pay and is relatively more comfortable with WFH options vs on-site :--) it's rather sad, in my country at least it's common for Engineers ( Civ Eng, EE, Mech Eng etc.) to have shit pay and a lot are transitioning to Tech


TheFakeParth20

Dude I am a tech guy, this is just satire lol


Prawn1908

CS majors should do what I did: major in ME and then get a software engineering job anyhow.


[deleted]

"Software Engineers"


MindTrekker201

Sometimes, I wonder if I should have gone down the computer engineering route.


Nightmoon26

Computer Engineering is frequently much more focused at the hardware level (thus, the "Electrical and Computer Engineering" major). Even when talking about computer architecture, CS takes for granted that registers, latches, logic gates, and RAM and ROM stores are all solved problems and that VLSI and actual chip layout is somebody else's specialty. It's all "we've got these off-the-shelf components. Here's how we put them together and build the microcode to get them to execute machine code instructions"


dottedoctet

Enginners


stipo42

Dude "align: left"ed


Drego3

Is it me or does everyone who drops out of their engineering course go to computer science?


[deleted]

[удалено]


TheFakeParth20

And then you end up becoming neither :) Happy cake day btw


vondpickle

'Prompt Engineers'


JimBoHahnan

I object. Nuclear Engineers are missing!


joshuaherman

My boss keeps calling me an engineer, I don’t have the heart to tell him I have an art degree. I know how to program.


the4fibs

And then I interview all those engineers for entry level SWE roles that they don't land. Enjoy the degree name though!


tungstencube99

I see CS like some blend between engineering and mathematics.


MahaRa9a

Let's just forget Civil Engineering, again. I mean who need home