Computer Science Degrees Aren't Returning On Investment For Coders, Research Finds (theregister.co.uk)
According to a new survey, coders with a bachelor's degree in computer science only earn 3,000 British Pounds (BP) more a year than those who don't have one. The survey of 4,700 developers in the UK was conducted by Stack Overflow, a community site frequented by developers for answers to technical questions. The Register reports the findings: This is despite the average degree now costing 9,000 BP a year in tuition fees alone. Average student debt is now more than 50,000 BP, according the Institute of Fiscal Studies. The research found that the median salary of those who did not have higher education was 35,000 BP per year, while those who gained a bachelor's degree earned 38,000 BP and postgraduates took home 42,000 BP. It found that 48 per cent of developers with less than four years of professional experience currently hold a Computer Science-related undergraduate degree, while 49 per cent had completed an online course instead. The research also found that JavaScript developers were most in demand, with almost 27 per cent of jobs advertised on Stack Overflow now requiring this skill, followed by Java (22 per cent), Python (16 per cent), C# (15 per cent) and ReactJS (9 per cent).
Computer Science degrees aren't supposed to lead to jobs as "coders". That's like saying someone with a degree in mechanical engineering aren't getting a good return on their investment in the degree when they get a job doing oil changes.
You can learn coding in a couple of days. Computer science is something different.
who gets paid in pounds lol
Slashdot: providing anti-social weirdos a soapbox, since 1997.
Why? You listed them in increasing order of incompetence. The only people who write shittier code than EEs are mathematicians.
I have designed and developed software and have had many different titles.
Programmer, engineer, analyst, systems analyst, software engineer, etc ....
And all of them had the exact same duties: take specs, design an algorithm when needed, and implement it in a programming language.
Some companies gave the title 'engineer' because that was how the pay grades worked.
Titles are also used to boost people's egos while the company gets away with paying shit. "It's not in the budget for a cost of living increase, but you've been promoted to systems engineer."
The worst one I've ever seen was someone who was promoted to 'scientist' - with just a BS.
Whatever, my title is software GOD and I have a long white beard, white flowing robes, and rub my feet on the carpet so that I can give little static shocks and call it my 'lightening bolts'.
I only get tired of explaining to traditionalist relatives who have engineering degrees why I'm called an "engineer" when I don't have an engineering degree. It's brutal. But not as nasty as the look I got from that damn chemist who took umbrage at my explanation of how I was creating biodiesel in my garage. My god, my nerve at being such an impudent auteur as to research the chemistry on the web and try it at home. The death state I got when I explained that any way to get energy into the reaction - heat, ultrasonic, microwave, catalytic assistance - made it more efficient... I'll never forget the evil eye cast upon me. I bite my thumb at that dude!
Pretty much. What an employer wants to know is if you are skilled enough for the position. A degree provides assurance of at least a minimum level of skill, but demonstrating the required skill through through experience is just as good (or better, if the candidate is a recent grad. They always need additional training.) That's why most jobs ask for a minimum degree "or equivalent experience".
Generally speaking, if you have serious experience then a degree is of minimal or no value. If you have a medium level of experience, then a degree is helpful but optional (skill-specific certifications can be of more value in this case). If you have little or no experience, then a degree is essential.
Whichever way you go, though, there are no guarantees. There are a million reasons why you might not get the job that are unrelated to your experience or education.
I can't be the only one who is proud of their CS degree. The courses I took challenged me greatly, and often taught me the answers to questions that I didn't even think to ask. Maybe I was lucky, but the professors I had helped me expand my knowledge far quicker than I could have done without them. Their dedication to education showed, and made it far easier to learn the concepts, history, and practical application of software development and computer science in general.
I often hear that "I'd rather have a self-taught English major, because they show dedication and adaptability", and I respect that, but I this attitude also sort of dismisses the fact that CS students can be just as dedicated and adaptable, and also have a large amount of relevant knowledge on the subject. I have worked with people with and without degrees in the relevant field, and those with seem to lean on me far less than those without. Just my personal experience.
I wouldn't say that I'd be lost without my CS degree, but I doubt very much I'd be able to get where I am today as quickly as I did, without it. Plus, I really did love my classes, so even if it isn't a "positive return on investment" (which I still kind of doubt is really the case), I do not at all regret earning the degree.
Telescope Builders are often only mediocre Astronomers.
Big surprise!
We suffer more in our imagination than in reality. - Seneca
It probably IS hard to explain to relatives who have engineering degrees why you're called an "engineer" when you're not an engineer.
If you want news from today, you have to come back tomorrow.
A degree provides an assurance of a *very low* skill level. Some people are very highly skilled at getting degrees they definitely don't deserve.
That said, the degree is not worth very much. Ideally the knowledge gained on the road to getting that degree is very valuable. Many people don't actually retain (or never acquired) this knowledge, and therefore are not getting a good return on investment.
How are a CS major and understanding big O efficiency related? A smart person will quickly grasp this concept. End of story. If you NEED a CS major to get such a simple concept, I really don't want you writing code.
You might think so, but in my experience this is simply not true. I've met many many many people who write code that purport to understand these topics (who can answer simple interview questions about this as well) but then write code that clearly indicates that they don't. CS majors with experience is the best filter I've found for understanding this topic and even that's a bit weak depending on the school. My hypothesis is that there is a certain number of iterations you need to do before you understand most topics and being self taught somehow doesn't ensure those number of repetitions. I do know however that the most efficient large pieces of code I've ever seen were all written by people with CS degrees and experience.
"Those that start by burning books, will end by burning men."
Wrong.
https://www.nspe.org/resources...
Just because you are paranoid does not mean that no-one is out to get you.
If I may disagree? A CS degree may be a poor return on investment, but it generally _has_ a measurable and positive return on investment.
You don't need to become a PE in the US. In fact, it is highly unusual unless you are signing off on certain documents. I took the exam straight out of school, but in my company of hundreds of engineers only one is a PE - and he works for facilities! So I don't have my PE because there is a apprenticeship requirement that I can't meet. (Technically there is a way around that requirement, but it's simply not worth the effort.)
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
If a degree provides an assurance of a "very low" skill level then your schools are either not very good or then they're just letting students pass courses they have no right to pass with their knowledge and skill level.
A degree is supposed to guarantee an at least halfway decent skill level and a versatile foundation to build additional skills on. If a degree doesn't do this, then it's clearly not worth even the paper it's printed on.
"Why should I want to make anything up? Life's bad enough as it is without wanting to invent any more of it."
Once you have a few years of experience, they stop asking anymore. I dropped out of school in the '80s to take a programming job. I always thought I'd eventually get sick of the industry and go back to school. I guess after three decades it's silly to keep saying that. I'm frequently asked to weigh in on hiring decisions and personally put more stock in an active github account and a gung-ho attitude than I do some piece of paper. You can still get into the industry without a degree, as long as you can get your resume past HR.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
A degree guarantees a broad understanding of computing related issues. Of course some people without a degree may have this, but these are a few of the things I have seen:
A business rule that had been modified a number of times by requests from the business; "do X when Y", "do X when Z but not A", "Assume A is false when not Y", and so on for many years. The result was a huge condition with brackets that could not easily be understood. Writing it as a boolean expression and simplifying it revealed that several of the variables in the conditions were not relevant (it did the same thing when they were true or false), much of the complexity was because some test was being applied in multiple conditions and the whole lot simplified down to a short clear expression.
A coder had produced a phenomenal amount of code, counted by lines. In peer review it turned out he didn't understand how to call library classes, and copied the library code into every module which used it
A coder defined a macro defining the boolean "or" "|" as "and"! It turned out that he was totally confused by an expression opening a file as F_READ | F_WRITE, and thought that the compiler writers and everyone else in history had got "or" and "and" the wrong way round.
A definition which was obviously a finite state machine written as spaghetti code, where all that was needed was a table of state, event, action, new-state
This is a legend in our company. An Array copy function defined, despite one being available as
# This function only works on arrays up to size of three elements
A[0] = B[0]
if (B.size > 1)
A[1] = B[1]
if (B.size > 2)
A[2] = B[2]
if (B.size > 3)
A[3] = B[3]
And yes, the language had loops and a built-in array copy function.
BP my arse.
"pounds sterling", "GBP" (that's the ISO code) or just plain old "pounds" are all acceptable.
You could use the symbol (the one that looks like a curly L, not the one like a sharp sign), but slashdot would probably convert it to [(*Ä*)] or something.
Chunter chunter comprehensives chunter chunter Wilson.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
No this is not the case. Most people write shitty code, because they are lazy, fall victim to not invented here etc. However, natural scientists are not trained in modularization and abstraction. They usually are taught analysis and less discrete math. In EE things are a little different, but they still have limited knowledge of programming pattern and modularization beyond their duplication of structures.
Once, management finally realizes to that coders without a degree are in most cases actually far more expensive due to lack of skill and limits in what they can do, those without that degree will find themselves unemployed pretty fast and pretty permanently. The funny thing is that the coders without degree do not realize what they miss. Sure, as long as it is simple business logic, almost anybody could do it. But as soon as it gets more complicated, I have yet to find a coder without CS degree that actually gets it and that is really expensive in the long run.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
Or a degree tries to prove an ability to learn complex skills. On the job is when real skills are actually learned and it takes someone who can learn them to do the job.
Of course many companies want to hire people who already have the skills these days, rather than training people up. This despite the fact that few to no colleges can give a student years of experience with ARINC 429, MIL 1553, military GPS or TACAN radios to name a few possible things I've seen companies looking for experience on.
Instead of "very low", perhaps "very broad" is a more appropriate guarantee from a school. Companies on the other hand often want a very specific set of skills for the job they want. Too specific to make sense to teach in a school, without making, say, 1000 students with skills specific to 100 jobs.
Oh, yes. Mathematicians are the worst. Sure, their code will usually do what it should, but it will be bad in any other respect. Quite often you cannot even read it and forget about trying to modify it. That makes it unusable for anything besides run-once-then-throw-away projects.
There are exceptions though. I personally know one mathematician that can code really well. His problem was that his last employer did not allow him to code (a large insurance), because they made extremely bad experiences with mathematicians coding.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
I guess it's good to know it isn't just us, but it's also sad to know it isn't just us.
A degree provides an assurance of a *very low* skill level. Some people are very highly skilled at getting degrees they definitely don't deserve. That said, the degree is not worth very much.
If two fresh faced rookie developers with next to no experience walk in off the street one with a certificate that he has been made to work like a donkey for four years to acquire a certain basic skill level by a trusted training provider while all the other one has is his ability to radiate confidence and recite the mantra 'I taught myself to code, degrees are useless, trust me I'm an expert'. I know who I'm going to hire.
Ideally the knowledge gained on the road to getting that degree is very valuable.
Well, duh....
It probably IS hard to explain to relatives who have engineering degrees why you're called an "engineer" when you're not an engineer.
Please, this is 2017. If someone chose to identify engineer-sexual, we don't question it.
Unless you actually do your job and check their work before you sign-off.
Engineer is a job. Not an academic title.
Higher education is not a job training institution so for most professions you job title isn’t tied to your degree.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
The vast majority of the time, you don't need a CS degree to write a business application. These days it's mostly CRUD operations using some web stack and database, governed by some business logic. You don't need a CS degree to effectively do that.
We need to take a lesson from the material world. We have materials scientists who invent new materials and do some engineering when an extremely deep understanding of the underlying physics and chemistry is needed. But 99% of the time, a structural engineer is the one who designs how to build a building/bridge/whatever. And typically that structural engineer has a much better understanding of how to put the pieces together in a far more practical way.
We should be aiming for a similar split in computers. We need computer scientists who advance what computers can do and deal with very hard problems. But the vast majority of the time we need a software engineer to assemble what the computer scientists invent into a business application that is secure and just keeps working even when the shit hits the fan.
For example, a computer scientist would generally not need to worry that much about things like failover and automatic recovery since they're primarily building prototypes and testbeds. Just like a materials scientist doesn't spend much time considering "what if a hurricane struck my lab during this test?".
But a software engineering degree could focus a great deal on writing software the just keeps working in very adverse conditions just like a structural engineer has to consider a natural disaster striking the building.
Over my 20 years doing this, I've come across a lot of very elegant systems that are wonderful computer science....and they instantly exploded as soon as they had to deal with something slightly outside what the developer considered.