8 ms·
I always thought that being an Engineer assumes you have knowledge of mathematics. The way this word is being used in Software ist kind of strange. "I built a b
by bndr 12y ago
I always thought that being an Engineer assumes you have knowledge of mathematics. The way this word is being used in Software ist kind of strange. "I built a blog in php, I'm a Software Engineer" - this feels kind of awkward to me.
- uncultured 12y agoI always thought that being an Engineer assumes you have knowledge of mathematics. Not really. Mostly just algorithms and procedures of some math concepts(Calculus and Linear Algebra) which roughly corresponds to the first year of North American math major.
- eli_gottlieb 12y agoUhhh... a rigorous Computer Science program usually stops one course short of a math minor.
- uncultured 12y agoCompSci is not engineering. It's almost math major, heavily on the discrete side of things.
- angry_octet 12y agoThis could not be further from the truth. I doubt my CS professors would be able to solve a PDE (or algebraic geometry etc etc). Likewise, few math professors would be able to write a parser generator (or code worth a damn). In contrast, I know engineers who live and breathe PDEs and tweak compilers to solve them faster.
- Pyret 12y agoTwo things. 1) No such thing as universal mathematician in this day and age. 2) Engineer's PDEs(algorithms) are not the same as mathematician's PDEs(theory). Same as comparing a student in China who learned English to communicate with English speakers to English majors from English speaking countries.
- Energy1 12y agoPDE's are not discrete math. CompSci majors are more interested in topics like Combinatorics, Graph Theory etc. PDE's are more interesting to applied mathematicians and physicists. I doubt my CS professors would be able to solve a PDE.. Beyond the basics, not even many math professors can do that. Math is too vast and people specialize. Strong algebraic geometers are not necessarily strong analysts or algebraists or logicians.
- jghn 12y agoIt wasn't that long ago that most schools did not have a separate CS degree, but rather it was a math degree w/ a concentration in computer science (or some other verbiage to describe the same thing)
- cmollis 12y agoNot sure it's still the case, but it certainly was for me (class of '90).
- seanmcdirmid 12y agoDepends on your school. UW CSE (a top 10 program) would be called rigorous but is not as theoretical (there is math, but nowhere near enough for a math minor).
- eli_gottlieb 12y agoI went and checked the undergrad curricula back at UMass Amherst where I went. I was incorrect: a generic Comp Sci program there stops three courses short of a math minor. The more theoretical concentrations - such as Theory of Computing, Machine Learning, or Programming Languages - teach enough theoretical content to come within one course of a math/stats minor, or even cross the line. So yes, if you take a Computer Science major with a focus on Software Engineering, you will not learn enough math to minor in math "for free". If you pick a more mathematical subfield to focus on, you should probably declare a math minor for the one or two additional courses it will take you. I made a truly stupid choice: I graduated in 7 semesters with a Comp Sci degree concentrated on PL theory without picking up the additional courses for a math minor. As a result, I'm "condemned" to learn that material independently later on. "Luckily", the Technion required me to do extra coursework for my MSc, so I've had to buck up and learn more theory. Now get off my lawn until I'm done with my highly theoretical machine learning exam ;-)!
- seanmcdirmid 12y agoMinors are mostly meaningless on your degree; but the knowledge you get from the classes is worthwhile. I took some advanced math classes but kind of burned out on it towards the end of my degree (ironic since I went to grad school immediately after). What I did notice: CS classes are easy compared to advanced math classes...man, I struggled to eek out B's in the courses when CS classes were just easy A's. If you want to do good at machine learning...electrical engineering is probably a better choice; the maths learned in EE overlap fairly well with what is needed to do ML. PL theory is quite niche, even for PL researchers.
- bndr 12y agoI would disagree, Calculus and Linear Algebra ist only the first semester usually, then it gets harder (Analysis, Statistics, Crypto)
- uncultured 12y agoI was actually being cautious. American colleges like to make sure you pay for as many BS courses as possible. Calculus 1, Calculus 2, Calculus 3... Besides, I never heard of math majors taking cryptography that early. Usually, Intro to Real Analysis, Abstract Algebra and Abstract Linear Algebra come first.
- engi_nerd 12y agoMy engineering physics curriculum required three semesters of Calculus, a differential equations course, and a numerical methods course. Notably lacking? A course in Linear Algebra, which was not required (and most in that program did not have time to take it, as the program was more like a double major with additional technical electives).
- sz4kerto 12y agoMost of us (engineers of any kind) learn quite lot of maths during uni, and most of us forget 90% of that as it's not needed in most jobs, which is a shame. The thing I have needed all the time is statistics and prob. theory, that keeps coming up literally everywhere. Calculus - not so much. If you need something, you can always re-learn it quickly. (For example, I learned quite a lot of linear algebra, but haven't used it for ~10 years, so when I had to write some 3D gfx/shader code, I had to spend like two days on quaternions, etc.)
- jackpirate 12y agoAs a machine learning guy, I can't imagine doing stats without calculus and linear algebra :)
- Chronic31 12y agoFrom sklearn import svm Done
- bigger_cheese 12y agoI find my self surprised just how often Linear Algebra pops up. A few years ago I was doing some work with Splines, trying to smooth some noisy plant data and I had to relearn matrix decomposition (LU factorisation). Every year or so since I've been ambushed by some other "stealth" aplication of linear algebra in something you'd otherwise think would not be applicable. Nowadays my old beat up linear algebra text book from uni sits right beside "C in a nutshell" and the printed GDB manual on my shelf at work.
- shangxiao 12y agoI obtained my degree in Software Engineering at a university where engineering grade mathematics and physics were mandatory subjects. It really annoys me that I spent 4 years studying this to find that other people who scrape together snippets of JavaScript & PHP feel entitled to call themselves an "engineer".
- CmonDev 12y agoWhat about assembling car parts into a car? Isn't it what engineers do as well?
- vdnkh 12y agoI'm employed as a Software Engineer now but my degree is in ECE. The engineering curriculum at my university (Rutgers) was extremely math intensive. I didn't take a whole lot of software classes but I'm glad I did take all that math. I think it's dishonest to call yourself a Software Engineer and not have an engineering degree. Semantics, but I earned the title.
- toolslive 12y agoIn some countries it's illegal to call yourself an engineer without having an engineering degree. The degree is "protected" by the government and can only be acquired from certified organizations (like universities).
- omegaoaties 12y agoCan't stress this enough- in Canada (Ontario specifically) it is a serious fine for anyone caught using the term without being certified by a professional organization.
- stygiansonic 12y agoThis is a perfect example of why the term is protected by PEO. I used to think the PEO overreaching in its attempts to protect the term/designation, but I can see why they have taken issue with the term "Software Engineer" being genericized. I applaud the effort to learn the topics of "statistics, probability, and linear algebra", but these would have been relatively fundamental courses in most software/computer/electrical engineering curricula that I've known about, and most definitely a prerequisite to calling oneself an engineer.
- bluekite2000 12y agowhat about in the US? Is there such a fine?
- mcguire 12y agoIn some states, which regulate such things. I don't know about fines, but if a gang from the IEEE or the ASME catch you wandering around wearing their colors without being a member,.... Don't go near any dark alleys.
- danielscrubs 12y agoFeel exactly the same way. Why not just call yourself a software developer? Because software engineer sounds better. Because people expect a better math foundation. Lived and breathed math for 5 years in college before I could look myself in the mirror and call myself an software engineer.
- VLM 12y agoOriginally engineering meant something like applied science for maximal profit, or something like "the accountants of the science world", which requires little if any higher math. A filter / weedout system was required because of too many students, so its turned into something else entirely and now a engineering degree often means nothing other than having passed the weedout math classes. It really shows in some new grads that don't have any actual engineering skills but are really good at calc problems.
- Mikushi 12y agoAnd that assumption is wrong. You don't need any knowledge in advanced mathematics to engineer many types of software, that doesn't make the creator less of a Software Engineer. Being an engineer means using technology, science, mathematics to solve problems. Well in many cases you don't need math to solve these problems. The word itself as no root in math either, it's based on latin for devise/contrive, sure it was used for builders at first, where math was important, but context changes. Also Software Engineer is wide and reaching, a 3D GFX Software Engineer will need some heavy mathematics to do his job and do it well, a Web Software Engineer not much, but he'll need to know a wide range of other knowledge GFX guy doesn't know (HTTP, network protocols, various languages, server technology, database technology, browser knowledge,...). It's not about being good at mathematics, it's about knowing as much as possible about the domain of knowledge your role entails, and surprise, not every one of these requires deep math knowledge and understanding. Your attitude is pure and simple elitism.
- bsdpython 12y agoI love this answer. I find technologists can often be complete snobs about their particular niche of expertise. Math, computer science, computer engineering and software engineering are each way too big for anyone to be a true expert in any of them. I find once you've spent some time learning multiple disciplines you tend to realize how little you really know and become a bit humble about your own abilities.
- vdnkh 12y ago>Being an engineer means using technology, science, mathematics to solve problems. That's called practicing engineering. An engineer is a professional practitioner of engineer. You can practice engineering all you want, but if you're not a professional (having received an engineering degree from a certified university), it's dishonest to call yourself one. Honestly, it is elitist. But those of us who obtained our degrees worked our asses off. And I personally hate when people abuse the term to mean anything that took skill. "Candy cane engineer". "Beats engineer". "Drink mixing engineer". It's linguistic prescription to make yourself sound more important/skilled.
- 12y ago
- mcguire 12y agoA great many real, live engineers that I know would object to anyone calling themselves an engineer without a lot of study of the big three: statics, dynamics, and thermodynamics; not just general mathematics. It's one of the reasons I don't call myself an engineer. (But I do get to harsh on them a bit about not being professional programmers---their code isn't pretty.) The other reason, of course, is that the "software engineer" term comes from a group of people who really wanted the respect that comes with "engineer" but realized that the big three don't get very far, software-wise. (And coincidentally didn't want to do all that icky math stuff. Not to mention much of the icky programming stuff.)
- mcmancini 12y agoStatics, dynamics, and thermo would seem to leave out EE's, wouldn't it?
- jskonhovd 12y agoNo, most ABET school's require those courses. Also, if you ever try to get your FE/EIT you will need those courses.
- mcmancini 12y agoAn intro course would hardly seem to qualify as "a lot of study".
- dsuth 12y agoIronically, EE had by far the most maths and maths-related courses of the other degrees, at my Uni. But we were still required to study those ones, along with the civil and chemical engineers.