I've always wondered why we (as an industry) regard CS degrees so highly. Not because the information taught isn't useful, but it can be learned with or without a formal degree, and the way things are taught in school aren't exactly conducive to retention and applicability.<p>Consider the difference between:<p>1. The person who learned these concepts as an 18-21 year old so they could pass a test and get a good grade. They don't really know how to apply these concepts to solve real-life problems yet, and often by the time they encounter such problems they might have forgotten what they were taught anyway. How much knowledge do you really retain as a teenager in college trying to pass a test?<p>2. The person who learns these concepts because they need them to solve a real-life programming problem at their job. I would wager this person learns these concepts more thoroughly because they need to actually understand them in order to finish their work. Their retention will be better because what they're learning has immediate real-world applicability that they can reference back to in the future.<p>In many circles person (1) is valued more than person (2), which just seems kind of backwards to me.
Do you need a science degree to scaffold a bunch of Rails routes and copy and paste from SO? How many of us are actually pushing the state of the art vs being technicians with the tools we're given?<p>How many of you are optimizing data structure algorithms, implementing new crypto, optimizing networking stacks, or conceiving and proving new distributed consensus logic? And even if you are, how much of it will end up in production for your company rather than stay as a fun weekend toy project?<p>I'd venture to say that's it's something that far less than 1% of the developer population has to bother with.
First off can we stop calling programmers "engineers" they are not, they are much closer to being "artisans".<p>Secondly in my long experience it's not the "engineering managers" that have a degree fixation but the "Human Resources" dept, that usually insist on being in charge of recruitment policy, even though an even smaller percentage of them have a job relevant degree or diploma.<p>Further if you want decent programmers try looking at people with other types of degree in engineering and science. The thing is CS projects are usually "not real" where as those doing engineering and science degree projects have to design and build real tools in software to do their projects. The difference between CS theoretical and other degree practical programming really stands out. Which was one of the points this article could have gone into more thoroughly.
about 3 years ago HN was about 50/50 <a href="https://news.ycombinator.com/item?id=3785277" rel="nofollow">https://news.ycombinator.com/item?id=3785277</a><p>I'm always amazed at companies that don't train their people. It's easier to say "they couldn't use HAVING in a query, pass" than to say "I believe I can teach them SQL effectively." But the freedom to think the latter lets you build a very strong team.<p>It's the genius of Facebook's OSS policy. Let everyone use their stuff so that new people can pop right in, learn on your own time before we're even paying you...
I've read several articles about how US doesn't actually has a software engineer storage, and I slowly begin to realize something. Do journalists that write these articles actually think that if you open up engineering position and get, say, 10 to 20 resumes, there is a high probability that even one of these people would actually be worth hiring?<p>After maintained code made in outsourcing shops, hiring and helping others hire, I slowly came to realize that more than 50% of programmers out there put in a steady negative input into projects and organizations they're part of. The fact that there are millions more "programmers" who are looking for a job than there are job openings doesn't contradict with the fact there are too few good developers out there, in any country that I know.
I'm not even sure that CS is the best degree for software engineering. People with maths, physics, computer engineering and software engineering degrees seem to get more done and be more likely to be qualified.
As a web developer, I don't think of myself as an engineer. I think of myself as a craftsman. An engineer learns to manipulate the rules of nature and does so in repeatable ways to make things that are primarily functional. A craftsman learns the rules of his tools and uses them to make things of beauty rather than of function.<p>I would be bored to tears with engineering, web work offers me an outlet for my creativity.
I had a friend who worked with a front end engineer, the very first employee of the startup.<p>One of the things, my friend's coworker said:<p>"We don't do computer science on the front end. If you want to do computer science, talk to the back end people."<p>.. To this day, I don't quite understand how a person can think engineering exists independently of science.
My coworkers with Software Engineering degrees are working software engineers that do not have a CS degree. It seems misleading to only include CS degrees.<p>Also, that question on the Stack Overflow survey saying that 40% of devs are self-taught was a 'pick all that apply' question. Some of them may have a degree and checked the box because they continued learning.
There's very few front-end jobs at the moment that require hardcore CS thought. You're best to get a job in WebGL or WebAssembly work if you'd like that.
Something tells me we are due for a correction with field. If it's that easy and and the barrier to entry is that low we should quickly end up with a surplus and lower wages.....that or we will automate these things and/or offshore these jobs to $15 an hour locations. Then the good jobs will be with the harder things that do require math etc.. I personally think that the degree is valuable, but there are good graduates and bad ones....seems like raising the bar to graduate might be a better approach.
In some states in the US you actually need an engineering license to call yourself an 'engineer' in public - but usually there are exceptions for people who work for large companies.<p>Government licensing of engineering isn't the answer, but on the other hand calling oneself an 'engineer' without any formal or informal training seems like equivocation in the best case and outright lying in the worst case.
I end up with two conflicting feelings to a story like this.<p>"Engineers". Hah. Title inflation at its finest.<p>No CS degree? So what? How much day-to-da programming in the world requires an actual <i>science</i> degree?
They sure as hell aren't engineers.<p>Code monkey != Engineer != Computer Scientist<p>All this BS about "Anyone can code!" has had seriously detrimental effects. Now everyone who can do some website bullshit and say "Agile" a lot thinks they're Carmac.