Can a New Type of School Churn Out Developers Faster? (dice.com)
Nerval's Lobster writes: Demand for software engineering talent has become so acute, some denizens of Silicon Valley have contributed to a venture fund that promises to turn out qualified software engineers in two years rather than the typical four-year university program. Based in San Francisco, Holberton School was founded by tech-industry veterans from Apple, Docker and LinkedIn, making use of $2 million in seed funding provided by Trinity Ventures to create a hands-on alternative to training software engineers that relies on a project-oriented and peer-learning model originally developed in Europe. But for every person who argues that developers don't need a formal degree from an established institution in order to embark on a successful career, just as many people seem to insist that a lack of a degree is an impediment not only to learning the fundamentals, but locking down enough decent jobs over time to form a career. (People in the latter category like to point out that many companies insist on a four-year degree.) Still others argue that lack of a degree is less of an issue when the economy is good, but that those without one find themselves at a disadvantage when the aforementioned economy is in a downturn. Is any one group right, or, like so many things in life, is the answer somewhere in-between?
Or is that community college?
Yeah, schools can't churn out qualified software engineers in 4 (and in many cases 5) years already. What makes you think you can do a good job in 2 years?
It will not churn out developers faster (i.e. people who develop things from ground up, Starting with basic application and adding features). And it will not churn out Software Engineers (i.e. people who engineer the solution from top-down using abstraction). It may churn out copy-pasterino-code-monkeys who copy paste from stackoverflow, and complain if it doesn't work.
There's no shortage of qualified developers.
What there's a shortage of, are qualified developers who are barely old enough to shave, have no family (wife/husband/kids), will work for next to nothing, will put in 80+ hours a week for months on end, and who you can basically treat like shit because they don't know any better and are just desperate for any job in the industry.
There's probably money to be made if it can.
In fact, there's probably even more money to be made if it can't, because, you know, that was a pilot scheme ...
Sadly, not by me in either case. No doubt those Pearson cuntbags will be in on it.
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
But it is possible to take someone with no experience and turn him/her into a code monkey in only 2 years.
And I think that that is the point with this. They aren't looking to educate new "engineers". They want cheap, fast labour. Code monkeys.
If one of those people goes on to learn more, on their own, so much the better.
If not, well the CxO's of those companies will claim that it is the fault of the workers.
It sounds as though current universities should modify their classes to incorporate the kinds activities that people are only learning in a co-op or on the job. I would imagine a testing course where you actually use different types of testing tools and practices is far more useful than sitting in a lecture and just learning words without applying anything.
While it's obvious that not everything can be covered in four years and that some things are incredibly niche, there's enough general stuff that's used everywhere, that it is a bit troubling that those kinds of things aren't being taught. I suspect a lot of colleges are more caught up in getting research grants than they are concerned about providing a quality education or that the tenure committee doesn't care how good of an instructor you are if you're not publishing research.
You can't churn out developers like automobiles.
I began programming casually in elementary school on Commodore Pets. I started programming on my own computer in fifth grade on a Commodore 64. Afterwards, I had plenty of short work stints during junior high school, high school, and my 7 years at the university, but I didn't begin programming full time for more than an 8 month period until I was 24. Even then, I was still very green.
The best developers have been at it for 10-20 years at a minimum, and I'd even go as far as to say I prefer programmers who've been at it for 30 years.
What I don't care about is your physical age. If you started programming at five years old, and you kept at it continuously until age 25 then you'd meet my criteria.
Developers are created over many years, they've worked on many generations of technology, and they've proved flexible with time. Many of the good ones have been at it since childhood, but I don't think that should disqualify anyone.
That's why developers need to get paid so much. Training over a decade to achieve basic competence at something is expensive. Many have a very expensive university education they have to repay. For me, I had to forgo my social life pretty significantly from age 15-25, and I'll never get that time back. The only way I can be repaid for that is with money.
If you're trying to shortcut the process somehow by picking up someone who knows nothing about creating software, hope to train him or her in a few years, and expect to pay him or her poorly then you're going to produce some pretty awful software.
Of course from a job hunter's perspective it is better to have a four year degree than not. How much better depends on experience. In a small number of cases it could hurt you.
There is no quality of school factor in a guy w/degree vs guy without degree comparison. In general I'd say four years of Ivy league employment experience trumps Ivy league school experience. A great deal of it depends on the employer and for higher level positions companies can and will make exceptions on degree requirements.
Does a degree help if you are concerned with actually being good at what you do once hired? No. Not in the slightest. You'd learn more in a one year guided self study apprenticeship 100% of the time if you have the raw talent to be any good.
In a world where every position now lists requirements dramatically in excess of what is needed to fill the role (mostly so they don't fill it and can justify hiring an H1-B worker) it's just one more useless thing that rules out perfectly qualified and possibly better candidates. But there is no shortage of qualified talent or increased demand. There is only a desire to increase the labor pool and drive down wages.
School doesn't exist solely to build wage slaves to work overtime for your shitty advertising company.
Well cut out the fluff and filler classes and you can do it in 2-3 years.
Some of the 5 year thing is due to the way classes fall / fill up / the high number of required classes.
We don't need PE / GYM classes as required classes where just 1 class costs as much or more then a 2 YEAR gym membership.
Don't make it an over hyped high cost school. Like others who seem to have the same idea.
vocational school / tech schools have there place but lot's of them have become just get people in on to the loans that have no cap and take anyone.
Also no risk for schools and the banks don't even offer low rates as they don't have the risk of people using chapter 7 or 11 to get out of them.
9 women + 1 month != A baby..
No, 9 women and one month = cardiovascular collapse.
Faster! Faster! Faster would be better!
The 4-5 year thing is due to stacked prerequisites.
At real schools, if you don't pass calculus I first semester freshman year you have already blown your chances of finishing in 4 years.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Sounds like you're homeless now. The basics are important especially in your own field.
Not everyone needs to know how to prove that the acceleration of gravity is ~9.8 m/s, but if you're a physicist, you better be able to.
"First they came for the slanderers and i said nothing."
Looking at my undergrad experience as a whole, i learned waaaay more in 3-4 semesters of co-op / hands on training than I did in 4 years of classes.
If you really didn't learn anything in 4 years of classes, then you either failed or your school failed you.
And I'm not talking about your grades.
"First they came for the slanderers and i said nothing."
I am not talking about a 2 year degree, how about running the place like a trade school, where you have to pass your tests to get certified.
People that want engineering or computer science degrees would attend university.
love is just extroverted narcissism
Most bachelors curriculum include a lot of extraneous requirements and electives having little or nothing to do with the job.
I have wondered more and more over the years whether the traditional CS curriculum is still relevant.
So many software libraries exist that take care of the low-level details these days.
really?
This all you say applies to people that went to universities and did study and got some titles. I appreciate people that are well educated but this is not by any means associated with university degree only and university degree is not a guarantee of anything either. From certain point, the higher the education, bigger moron a person is. I had many colleagues that studied so called computer science and some of them were actually quite good. I have had few colleagues that got phd in CS or physics or some other and I know 1 that was not damned awful. The rest should be hanged by the balls because they disturbed the rest and because they had scientific titles they though they are gods - which meant they were difficult to fight against.
There's a lot of reasons why some kids take 5 years rather than 4. Some double or even triple major. I know I gave some thought to doing a CompSci/CompE/EE major since the overlap between CompSci and EE cover just about all of your CompE requirements. Some choose to take a lighter load each semester so they can spend more time on each class and not burn out. Some are just slow and need to take extra time. Getting your prerequisites lined up for some classes can sometimes be tricky, especially at smaller schools with fewer sessions of the foundation classes.
There's all kinds of reasons why people take 5 or more years to get a 4 year degree. It doesn't change the fact that they're still not prepared to do the work when they leave school and the company that hires them has to finish the last 2/3 of their education.
Correction. Anything you can learn about software engineering you can learn without going to school in the first place and the theory is best learned and reviewed and re-learned organically alongside practical experience.
Take two software engineers and set them side-by-side. One with a four year degree and one with four years of self-study/work experience. Ask them to devise, implement, deploy, and test a solution to a real problem you are having and don't yet know the answer to. That four year student will be lost. They've never learned that in the real world nobody else knows how to do their job, nobody provides you all the information or the tools necessary to solve the problem like in a lab or even knows what that would be. In the classroom your problems are presented in a progression that implies what you've studied recently is what will be required to answer them. In fact, in the classroom solving a problem without using what was just taught (and thereby demonstrating you've learned it) will often penalized. There are no such hints or clues in the real world. The self-study engineer will immediately set out figuring out what he's going to need and how to go about finding and getting it just like he has done with every challenge for the last four years.
That said I think going to a university AFTER 4-8 years of self-study and experience would be a very valuable experience. By that point you have a context and mental framework to put all that organized and spoon fed material into and you'd get a lot more out of it.
Look, you can get any four year degree and then go for an IT masters program, or post-graduate certificate.
Provided you have experience in software engineering.
I don't know how many times I've walked down University Ave and overheard about to graduate Computer Science majors talk about (in May) that maybe they should get some work experience.
That's too late.
So do some GitHub or other programming, crank out some fun apps or software, but do it before you graduate CS.
Many people go for a Masters or PhD in a field that is not the same as their undergrad, so exactly which form of degree (even Arts) is not that important. But you need to be able to handle complex task-oriented projects with computing deliverables, and you'll need some experience, even if it was a volunteer job.
-- Tigger warning: This post may contain tiggers! --
Yeah, but your language sounds like people are gargling ancient Sanskrit three days into Oktoberfest, and some of the words have more syllables than I have socks (and I have a lot of socks!) Too hard.
Why can't some other country come up with free education, a responsible social safety net, and legal prostitution? I'm totally ready to emigrate. I just can't find anywhere to go. :(
I think you mean Wales or Scotland.
-- Tigger warning: This post may contain tiggers! --
You're not comparing apples with apples - or more directly, you're not comparing people with the same level of experience. The self-study programmer already has up to 4 years real/world experience, depending how they did their self-study; the graduate has no commercial experience so of course they're going to flounder initially (in comparison at least). Give them both six months from that starting date and you might be surprised at how quickly things have evened up, and given another six months it'll be all the other way.
"Well cut out the fluff and filler classes"
Really? What is "fluff and filler"? English? Calculus? Programming languages? PE? Should we only have courses like "Freshman Java", "Second Semester Freshman Java", "SQL", "No SQL", "Spring" (offered in the Fall only), "How-to Scrum" (qualifies as a PE credit), "Git Hub", "Advanced Git Hub", "C#", Etc. ?
putting the 'B' in LGBTQ+
Well, anything you can learn in two years about software engineering can be learned without going to school in the first place.
You can teach yourself absolutely anything at all without going to school in the first place, the question is always how much and how quick. Schools should be offering you, the student, a one-stop-shop to the information you need to educate yourself, a curriculum to help you focus on the most significant subjects in the field, experts in the area for you to discuss questions and hone your investigation, and generally save you a lot of time in becoming competent.
To the industry they should, arguably, offer a certification that says so-and-so did learn this thing and did meet our criteria for basic competence. My opinion is that schools should NOT be doing this, that should be an independent entity outside of the school, so as to facilitate self-taught people, and also discourage the cheating-culture that is becoming more common.
But as for two years, the question is what is "enough"? The difference between what my child knows at 7 and when he was 5 is tremendous, and it will absolutely all stick. Of course at 18 the subject matter will be significantly more involved and detailed, but it's not necessary to master it to be useful to the industry.
I failed my high school exit exam, then stayed six month at home doing nothing until my parent put pressure on me to find a job. I was like huh I sleep all day
and live the night so logically I became a night guardian.
Then a friend of mine, who was also a drop out, found a job as photocopier repair man in interim and told me they were looking for more people. I ended up repairing printers. From that I went to repair PCs so I became a technicien, then I did a little bit of sysadmin and helpdesk. It was in the mid 90s, I knew modems and became a hotliner for an internet provider. Went back to sysadmin and a little bit of coding in a startup to more and more coding to the point I stopped sysadmin.
For a long time a was insecure to present myself as a developer, today I can.
I don't know anything about math nor algorithm. I can't tell the difference between O(n) and O(log(n)).
All my colleague are engineers or have a college degree, most of them are brilliant and they can do stuff that I can't nor learn by myself.
They create business algorithm but often the code they make can't fit directly in production, or they miss some simple things.
As an example we had a daemon written in python which loaded tons of stuff from files at startup and stored it in a dictionary of numpy arrays.
My boss was proud of this code saying that this way the data was cached and it let us do things faster than calling the files everytime.
It could take one minute or more to start. That was super annoying if you had to change the code. I just stored the data into Redis at
first launch so I could relaunch the code at will without losing time, no big deal. Now they trust me for technological choice and practical
solutions.
They always said writing software was like having sex.
Make just one mistake and you have to provide support for a lifetime.
Have gnu, will travel.
"How-to Scrum" (qualifies as a PE credit)
I thought that class was underwater synchronized scrumming? I remember taking it just after wine tasting.
Come to think of it, I don’t remember registering for that class... or the wine tasting for that matter.
I wish I had a good sig, but all the good ones are copyrighted
Although it's likely that if you ask both of these developers to develop an efficient algorithm/data structure to do something novel, the one with the traditional four year degree is more likely to come up with a better solution -- and that will likely remain true for the remainder of their careers. The four year degree developer will likely be "caught up" with the self-taught one (given the same base intellectual capabilities of course) within two years and then always be ahead.
There are, of course, exceptions.
Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading
I've gone the down the no-degree career path, but don't recommend it. I started in the low-voltage electrical industry doing things like access control, security systems, fire alarms, and the like. I spent nearly ten years doing that work, and even now still own a business doing alarm systems. Since I was 11, I've been learning computers, hardware, software, and the integration of the two on my own.
In 2006, at the age of 27, I applied for a position as a junior sysadmin with a starting wage that matched my current "senior" electrical wage. I had to prove myself during the interview with some script examples, but had little hard evidence of actual skill. Since then, I've worked my way to a "principal" level in a software engineering department as a highly respected team member. It would have all been easier with a degree, but I never did miss the student loan payments. If I had to do it over, I'd go get a degree.
A bit of introspection provides some personal humility. I have been tasked lately of interviewing internship and co-op candidates. Most of the interview questions are those you would expect, but are generally specific about the candidates education. I find this exercise interesting and have been enthusiastic to hear about their experiences and interests. Usually, the candidate will turn questions around on us, the interviewers.
I always avoid the education questions, because I have no formal education. In one particular instance, after deftly avoiding the, "where did you go to school," question, I was asked, as we were departing, again, the same question. Embarrassed and with no escape, I had to reply I had none. To my surprise, the individual replied they were impressed and that I must really know what I'm doing to get so far. They genuinely seemed impressed. Further, on the ride back to the office with my colleague, he replied that he wasn't aware, and was also very impressed.
TL;DR: Go to school, you'll learn a bunch of shit that's harder to learn on your own.
But not for that reason. Profits for some, fuck everyone else. That is the current mindset with too many people holding power. Nepotism, cronyism, and quid pro quot is the overwhelming number of rich people today. Oh I know, there has always been some of that but we used to teach morality. Morality is one of those things omitted in current schools, and you'll have to give less than that to try and expedite programmers. Here is the test: Ask a person today "If you are rich, how much money is too much money?" 30 years ago most would put the number in the couple million mark. Today, most people will laugh and tell you know such thing. So we have gone very far backwards in morality as a society, in a very short amount of time.
Could a school turn out "programmers" in 2 years? Sure, they will know enough to do some "programming" but not how to solve problems, and won't be able to communicate with people. Further, they will be ignorant to history so not know what to look out for in actions by the powerful which makes a large group of people fodder.
I heard something similar the other day, where 100 years ago people from Universities were well versed in every subject. They studied Math, Music, Chemistry, Languages, Art, Philosophy, and History. A person with a degree was very high valued. That was supposed to be the goal of Public Education and Government funding and control in Universities. And look where we have gone. Specialized degrees like "Sports Marketing" with little to no other knowledge to fall back on.
-The wise argue that there are few absolutes, the fool argues that there are no probabilities.
It takes two years just to provide the fundamental Physics, Math, English, general Engineering and electives of a properly constructed Engineering degree. You might be able to squeeze one or two software engineering courses in the first two years, but most of the Software Engineering happens in the last two years.
Now, if you are looking for use them up and throw them away code monkeys who can take direction from a real Software Engineer and will never climb up the ladder past Code Monkey, then absolutely, yes, you can do that.
If you are not allowed to question your government then the government has answered your question.
That's a good thing. We don't need more useless code monkeys who think making shiny webapps in CSS+JS+HTML is computer science. You don't need calculus to be a programmer, but you'll probably be a shitty programmer if it was too hard for you. Is being a well rounded human being really too much to ask? If you want to learn a trade, be a plumber. Anything having to do with science or math is not served by people who think learning anything is a waste of time.
Side note: this article presupposes that pumping out more developers is a good thing. I'm not convinced it is. Quality over quantity.
I'd be more interested to see a comparison of a 4 years CS grad with another 4 years of work experience up against someone with 8 years of work experience.
We're all aware that getting your 'qualification' only qualifies you to start learning on the job though, right? So if you are ready to learn on the job in two years instead of four, sure why not?
However I think money would be better spent on in-house training programs, get the big companies to take more unqualified people like apprentices and train them in the real workplace along with some of the theory. You'd be a better programmer after a year of that than after graduating university. I had a couple of good coding 'mentors' early on that installed their ideas of best practices into me (subjective) and that was more valuable than any lecture.
I have been interviewing programmers for over thirty years, almost all with degrees in CS, many with years of professional experience, and the majority are rejected because they can't come close to independently solving even tiny programming problems -- problems that capable programmers solve nearly instantly on inspection. Given today's salaries, I don't think there is a vast pool of potential programmers who are kept out because a four-year degree is required. We have a glut of people entering law school to graduate into a crowded field in hope of a professional income. There's a reason they aren't all becoming computer programmers.
You know, like hiring people over the age of 35, paying more, or not require exact matches. Stuff like if you've done C++ for 10 years there's a good chance you know something about OOP and can pick up another language pretty quickly. But like I say, that crazy, way out of there shit.
Did you know 80 to 90% of the moderators on slashdot wouldn't recognize a troll even if one dragged them under a bridge.
But stop with all the focus on only OOP. the programmers that come out suffer from Dunning Kruger and usually aren't as skilled as a good C or JavaScript programmer at the same point in their career. If you didn't spend a good chunk of time on block structured and functional coding there is no point in me hiring you.
Non sequitur: Your facts are uncoordinated.
Take two software engineers and set them side-by-side. One with a four year degree and one with four years of self-study/work experience. Ask them to devise, implement, deploy, and test a solution to a real problem you are having and don't yet know the answer to.
Which one would be better? It depends on the person, and it definitely depends on where the former person got their degree.
In my experience, the best people are self-taught, but the best of the best taught themselves in a university environment. What a university environment gives you is access to smart people, access to a well-stocked library, time where you (probably) don't have to earn a living, and (most importantly) being forced to learn things that you don't want to learn right now.
Far, far too many prospective developers come to places like SE or Quora and ask what language they should learn to get a high-paying job. If that's the mindset that you go into when self-teaching, then after four years you will be more useless than someone with a decent four year degree.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
If you're going to college to learn how to code, you're doing it wrong. You learn a lot more much more important and fundamental skills that are nearly impossible to practice in the real world. From day one, they said we're not going to learn how to program, but how to think and solve problems and not make mistakes that other have before us. You cannot program if you don't understand the problem, but you can throw crap at a wall and some times something sticks just enough to be kind of useful.
Well duh. Programming is an apprenticeship, and a university isn't vocational training. Everyone knows that.
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
There is (among others) a specific reason that HR departments have come to demand a degree: labor regulations under Fair Labor Standards Act, that set the criteria for exempt vs. non-exempt positions. Regulations have evolved so that a gating criterion for an engineering or technical occupation, to qualify as exempt, is an engineering or science degree.
One division of the regulations provides an exception for computer-related occupations. One reading of this appears to exempt most programmers from the degree requirement, but I have heard of conflicting interpretations (e.g. this exemption is intended to apply to IT work, but not to more engineer-like embedded systems work).
The alternative is the learned professional exemption. The criteria here appear to allow some latitude, but the black letter statement is that a degree in one of the sciences, engineering, theology (!), etc. qualifies a person under this exemption.
As FLSA regulations evolved, a number of companies went through job reclassifications, taking non-degreed exempt engineers to non-exempt technician titles.
I was an embedded systems developer, no degree, for 30+ years. My company shut the division that I worked for. I went back to university for a degree in physics, because I wanted something intellectually disparate from my field of work. I qualify under FLSA, but perhaps an HR department would still discount my degree as not being in CS. That said, I went back into embedded systems immediately after graduating.
As a returned adult student, I had the opportunity to observe the university as well as to attend it. There are several reasons that students are taking closer to 5 years to graduate. First, uneven preparation coming from high school. Second, a more liberal policy toward retaking failed or D-grade courses than existed in in the early 1970s. Third, especially after the economic shock of 2008+, a positive surge in enrollment coinciding with a negative surge in funding. It can be difficult to get a seat in required courses. This can turn a 1-semester wait for a course, into a 3-semester delay in degree progress.
Evidence on preparation gaps: 40% of the seats in my first semester main-sequence freshman chemistry class, went to students who dropped or failed the class. The most frequent deficiency was in basic high school algebra skills. Second might have been too much attention to alcohol and modern high-THC weed. Make that third; I think second was rapt attention to text messaging rather than to the lecture. One aspect of being a returned adult student who is doing the work, is being pulled aside to hear the professors' woes; that is where I got the 40% number.
We don't want more developers, we want more good developers. Increasing the pay just exacerbates the already horrible signal to noise ratio, plus put you on the hook for more payout when you find out how horrible your new hire is. Paying more money wouldn't be an issue if we were guaranteed to get a good hire.
> They've never learned that in the real world nobody
> else knows how to do their job, nobody provides
> you all the information...
But stack overflow often has a pretty good idea...
Arguably the most effective learning experiences are co-ops of 6-12 months minimum duration. The best I have seen is 2 years with a partial course load in addition (full time work in the summers).
What I can't really speak to is if (on average) an 18-20 year old is better equipped to succeed than a 20-22 year old. My personal experience was that the older student was better in the workplace climate, while the younger students would be able to absorb lots of information, but not always the critical application of the information. Not enough young 'uns though to really speak to trends.
My father graduated from the eighth grade, never went to high school or college, and left the military as a captain in the early 1950's. He spent the next 50 years in masonry construction for the same company, where he routinely corrected college-educated architects whenever he got his hands on the blueprints. The blueprints may be "perfect," but a 1/4-inch difference on the ground can be a costly mistake.
I didn't imply that all. There are plenty of people in the trades that are critical thinking and intelligent. The wisest man I've known was a welder, in fact. My point was that instead of trying to water down a general education, the people who think writing papers is a waste of time should go learn a skill where they won't have to.
That's good. College educated does not mean smart (though making mistakes does not mean stupid either). Many are dumbasses, most maybe (probably not though). But I wasn't addressing that. I was criticizing the almost anti-intellectualism that comes with this fad of wanting to change college curriculum because they are super specialized in one specific skill and woefully lacking in others, and feel some sort of superiority from that ignorance. Part of getting a degree is taking a history course. If you don't want to do that, go learn a trade and you won't have to. There's nothing wrong with that. But they should pretend that the stuff that they personally don't want to learn has zero value.
Nothing wrong with being a plumber. From the replies that I've gotten, I can see that it was taken as an insult. I didn't mean that, but I can see how I fucked up. I was actually trying to disparage the people who think anything they don't want to learn is worthless as being anti-intellectuals. I think they should go to trade school or do anything else that they want to do, because college is not for them. And that would be good too. There are too many college graduates. Quality over quantity.
This whole thing is part of a conspiracy by US companies to chip away at high salaried developers. On one front is the give everyone a green card crowd. Bring in a bunch of people from 3rd world countries and drive down wages. On another front are the groups like this that want to turn out programmers with a minimum amount of formal education. This too will drive down wages by increasing the labor pool.
What is so evil about this is that on the surface it seems like a noble thing to do. Create opportunities for people from poor countries. Fill a shortage of talent thereby allowing American companies to grow, benefiting everyone. Provide professional level jobs for people that would otherwise not be eligible for them without attending college.
The problem is that its all a load of shit. They don't give a damn about poor countries. They don't give a damn about creating jobs or other such nonsense. What companies DO care about, first and foremost, is making money. And the easiest way to do that is to cut labor costs.
> "The specifications are handed to you and you simply put the specification into code."
But that means you'll need an institute to churn out better managers that can write proper specs!
San Quentin prison started training inmates to code recently. Plenty of good articles about it out there. We have to live with these people on their release. Makes sense to train them so they can actually integrate into society rather than live on the fringes and risk re-offending for lack of opportunity.
Human Rights, Article 12: Freedom from Interference with Privacy, Family, Home and Correspondence
In my experience, everything learned in school is CS is outdated by time you graduate.
...then you didn't learn CS. The theories behind computation, information theory, boolean algebra...none of this is outdated and indeed a lot of it is relying on hundred year-old+ mathematical discoveries. You can then advance to 'recent' times, like 1930s/40s Turing, 40s/50s Von Neumann etc..
For coding I learned Ada at University. I do not use Ada today. I have never, in fact, professionally coded in Ada. It doesn't matter - that wasn't the point of my Computer Science degree. I have quite definitely used the theoretical aspects of it, and I expect those to stay true for multiple generations to come.
Two thoughts:
1) When someone has only one skillset they have less job mobility and so less negotiating power for salaries (argument in favor of a well rounded education)
2) When someone with that one skillset gets laid off because their job got outsourced overseas for fuckall/hour they will have more trouble finding alternative work.
America is shooting itself in the proverbial foot by making good education so expensive.
blindly antisocialist = antisocial
That's a good thing. We don't need more useless code monkeys who think making shiny webapps in CSS+JS+HTML is computer science.
Yes, but look at the want ads. What prospective employers want - nay, demand are code monkeys making shiny webapps in CSS+JS+HTML.
I am a developer. My manager is awesome, my job is awesome, the people I work with are awesome. I love going to work. I work with Directors, VPs, and have gotten recognition from a board member. I've never gotten a formal promotion, but my pay keeps skyrocketing. Our number one issue is we can't hire new programmers fast enough.
The other big issue is that programmers are not "cogs". There's a 6 month-1 year learning curve just to break even on a new hire. There's a lot to learn, and very few people have all of the knowledge. We're used to training people. We actually get better results with fresh college students because they listen better. We're stuck with someone for 6 months to a year before we even know if they're any good, at least for the average. Of course I was told 3 months into starting that I was well past expectations and that I was going to get a "correctional" raise. Ever since then, I've been getting a steady set of strong raises.
I'd be more interested to see a comparison of a 4 years CS grad with another 4 years of work experience up against someone with 8 years of work experience.
Just guessing, I would say that the person with 4 years experience would do better than the person fresh out of college.
The person with 8 years experience would probably be about on par with the person with a degree plus 4 years.
The problem comes after that. After 10 years experience, most companies don't really care about more, it's almost a detriment.
On the other hand, there are plenty of jobs that require a 4 year degree and 6-10 years experience and having 20 years experience
isn't going to help you land those jobs. I could probably make a good argument that the best thing to do financially is to work first
and do college part-time so that you eventually get the degree at about the 10 year mark but that's basically like having 2 jobs.
It could be like a 2 year community college degree, without the electives and GEC classes, the extra classes could be theory or practical.
I don't really see a problem with either, I think colleges should give the option to opt out of GEC's, just call it a technical degree, if you want to take several years of filler, then you earn a bachelor's or associates.
I take it think might not be either, as it says hands on, maybe typical schools need to incorporate hands on more into their curriculum. Or perhaps partner more with employers so ever student has a part time programming job.
But it is possible to take someone with no experience and turn him/her into a code monkey in only 2 years.
And I think that that is the point with this. They aren't looking to educate new "engineers". They want cheap, fast labour. Code monkeys.
If one of those people goes on to learn more, on their own, so much the better.
If not, well the CxO's of those companies will claim that it is the fault of the workers.
Depends on what you mean by "no experience". Do you mean "no professional experience" of any kind whatsoever, or simply "no programming experience".
I ask because I know first hand of several schools (a new trend I'm witnessing) where they take professionals (teaches, business people, nurses, fine arts, and what have you), put them on a 10-week bootcamp, 8AM to 8PM, monday through saturday, going through the grind of software development topics (sans theoretical CS such as diving into the purely mathematical analysis of algorithms or automata theory).
And I've seen them making a good transition into competent software developers (junior level, but still very much competent), certainly not code monkeys.
And what I see is that people with a 4-year degree (but could also be a 2-year degree) and some professional experience of any kind already have grit to dive into things and get proficient. They already know how to study, internalize and categorize things. They already know how to divide and conquer problems, and they already know how to see patterns of work.
That is the stuff a degree, be it 2 or 4 gets you. Those people already went through that, regardless of the degree. So for them, taking a 10-week, 6-days-a-week workshop from dusk to dawn is just another do-or-die project, which they complete.
So yes, you can take anyone without prior experience and turn them into software developers in short order, provided they have educational maturity.
A lot of people complain that half of the classes in a BS, AS or AA degree is not related to the main topic of graduation. And they are missing the point. Unless you are exceptionally gifted, you need to go through the grind of things, to learn how to study, how to apply yourself. The actual subjects of graduation come on top of it.
This is no different from a craftsman apprenticeship program. A master plumber just doesn't learn from books. He gets hands-on practice on a medium that is fundamental to the type of work he is expected to perform.
Same with a person hoping to work on the subject of a 2 or 4 year degree. What people call "irrelevant" curricula is that medium.
On another note, I agree that we do not need a 4-year degree to do software development. I got my first job with just a 2-year AA degree, and it served me well. I did get my 4-year degree in CS while working as a developer (and then went to grad school). But for 90% of my work, what I learned in the 2-year AA degree was more than fine.
It was only on the areas of large scale software engineering and algorithm complexity (which I did end up having to confront) that I relied on my seniors. And that area of lacking got resolved once I got my 4-year degree.
We insist too much not just on having a 4-year degree, but a 4-year CS degree, when most programming jobs can be done with just a 2-year AS program, or an apprenticeship program for people coming from other professions. There are a lot of jobs that do require a 4-year CS degree, but they are not the majority. And I think we are doing a disservice to the industry in insisting to fill every programming job with 4-year CS graduates.
I've met good and bad in both groups. However, for purposes of argument keep reading... I've worked with several "self taught" Developers, some w/ 8+ years of experience and the difference IMO is still fairly noticeable. For instance, CS grads tend to understand things at a much deeper level, troubleshoot quicker and pickup on things faster. I attest that to having a stronger foundation, much of what they teach you in school. Personalities tend to be a little more confident/humble. I have met some cocky a**holes though so don't misunderstand me here. The work experience however is still worth a lot since it's practical knowledge... Performance wise, assuming both groups are full-time, people tend to be pretty good at their jobs if they been working it for long enough. I think most people fit this category. Just depends on how much energy is being spent Googling vs. Writing Code and as a new CS grad you can expect to be doing a lot of both. The self taught people tend to be job locked with a single employer for a longer period of time as options are pretty limited without the degree and picking up on new things involves more learning without having that strong foundation. Mentors are key here and most self taught people learned off a CS grad who was willing to spend a lot of time mentoring. Surprisingly, personalities tend to be a little more cocky/aggressive from my experience. I'm guessing that is due to having to having a chip on the shoulder... There are always exceptions to the rules though... and let's face it, almost all of us Developers are narcissistic assholes, so who really knows!
Most bachelors curriculum include a lot of extraneous requirements and electives having little or nothing to do with the job.
"Extraneous..." You mean useless stuff, like grammar, composition, logical reasoning. Right?
Mind, I believe that two years is long enough to produce a skilled coder. It is not long enough to produce a skilled coder with the depth _and_ breadth of education that comes with a baccalaureate degree.
I don't understand the issue though- the vast majority of business applications don't require any computer science knowledge. If there is a need you hire a specialist. Somebody has to do all the grunt work...
love is just extroverted narcissism
Just thought I would be honest about what one can get without a degree. My weekly take home pay after taxes (Illinois, single, no kids): $742.52, or $2,970.08 a month. That's after spending 4 years doing temp work and 5 years full-time. At the end of the 4 years of temp work I was making $18/hr. How much do most people earn while going to college?
I'm sure I could make a hell of a lot more if I were motivated and full of energy, but I'm not. Being paid $24/hr to read Slashdot is quite nice.
-==- Buy a Mac and leave me alone!
"Give them both six months from that starting date and you might be surprised at how quickly things have evened up, and given another six months it'll be all the other way."
Except it won't be and generally never is. It isn't like you learn more at a university, you just alternate between learning more slowly and being dumped mass volumes of information you have zero chance of mastering or retaining. Everything you'll learn at a university is a google search away. In my experience they never catch up. Best case they are about 3 years behind for the rest of their career. Worst case they remain in your bottom 5% and depend on various exploits in the way metrics are done at a company to make the high volume cookie cutter work they churn out look impressive. They are almost never out-of-the-box thinkers and usually the first to point and claim something is unfair. They are the reason for all the red tape.
That quick rule and process violating move that secured the relationship on the new hundred million dollar contract but would have gotten the guy fired if it didn't work... That is never your engineer with the degree, the engineer with the degree is the one complaining that he churned out 10x more cookie cutter work and his stats are better but that guy is getting the promotion or that people look the other way when that guy takes long lunches or that guy gets paid more.
I do however think if you started with a few years in the real world and THEN went to the university you might be ahead of either. But I could be wrong, you might just lose your edge.
The only thing a degree is good for is getting past HR departments and other management tiers that incorrectly believe it correlates with superior employees or at least correlates with better defense of hiring choices.
After a couple years of experience, here is how I've seen it play out...
There's a problem to be solved. Self study guy who never bothered to study algorithms (the usual case for the majority of self study guys) cobbles up a solution from off the shelf parts that 'works' most of the time, but doesn't scale well. Degree guy may pick off the shelf parts also, but takes into account memory usage, CPU requirements etc and either picks different parts or alters the parts he picks and his solution works and DOES scale. First guy's solution ends up needing to be redone during alpha or beta, second guy's solution is still running untouched and unnoticed ten years later.
Of course anyone can read up on algorithms -- but most self study types that I've run across haven't done a very good job of that (in many cases, their distaste or inability for such "book learning" is what resulted in them making a decision not to go to pursue a degree). There certainly are exceptions -- esp. with the generation that is now mostly retired because they are over 65 (there were few computer science/engineering curricula available to them when they were 17).
The problem is that when you have a particular problem to solve, it's too late to finally take an interest in algorithms and begin to read up on them. Once someone has a good grounding in algorithms, they refresh their memory and/or look at new research specific to the particular problem at hand with relatively little effort because they already understand the basics and the terminology used to discuss the topic. Sure, you CAN read up on liver cancer when you get it and self-treat, but few people without a grounding in medicine can fully understand the established and evolving research in the area to make intelligent decisions on a treatment path - and that includes people who were fully capable of becoming doctors had they chosen to.
I've interviewed some self-taught developers and it's usually pretty obvious that they are -- even though I don't generally ask questions requiring much "theory" in such interviews. I don't recall ever making an offer to one.
Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading
What makes you think that?
There seems to be an assumption that nobody can do "real coding" if they don't have a degree. But all the information taught in degrees is available online to anyone who wants to study it themselves.
"Just guessing, I would say that the person with 4 years experience would do better than the person fresh out of college.
The person with 8 years experience would probably be about on par with the person with a degree plus 4 years."
"On the other hand, there are plenty of jobs that require a 4 year degree and 6-10 years experience and having 20 years experience
isn't going to help you land those jobs."
In my experience they catch up around 8-10yrs of actual experience. At which point in real world terms you have enough experience to be at the top of the profession. More is not going to make you better. Either you are a rockstar or just a 10yr old cog who has managed to avoid getting fired at this point.
But what you outline above is poor hiring practice. In most cases it is "or equivalent experience" even if they don't list it and usually they aren't looking for extra experience to make up for the degree so this stays 10+. Degrees don't make for superior developers/tech workers so mandating them is poor practice but is a reality that it happens for senior six figure positions like this exceptions can often be made for proven rockstars. Companies looking for 10+ are almost always enterprise level so yoiu should expect you won't get the position if your last position wasn't an enterprise position. At 10 years and above it's about Ivy league experience not ivy league degrees. Once you've been paid six figures by a blue chip company and held the position for 2yrs+ you will likely at least get a serious interview when applying for similar positions after that.
If you are just staring out consider how you will get your first position when entry level is four year degree or equivalent experience. It is possible but you'll start at low pay for small employers and spend the next 4 years having to be a rockstar to get to high pay enterprise positions with the same requirements.
"Which one would be better? It depends on the person, and it definitely depends on where the former person got their degree.
In my experience, the best people are self-taught, but the best of the best taught themselves in a university environment."
I would agree. I think a big part of why the best are self taught is nurture rather than nature and that universities have lots of concentrated information with fewer gaps to be had but what the same methods that convey that seamless information fail to teach one how to learn, how to improvise and fill round holes with square pegs, and how to scavenge information.
That is why I suggested starting with apprenticeship, a guided self study. Even a couple years and those who do well THEN go to a university. Whether you believe that finds those with the right nature, or nurtures the right learning mindset; the result should be isolating people who already think and explore in a revenous and creative way. Then you unleash them on a massive buffet of information and resources.
I'd put my money on the resulting individuals bneing top of their field.
Any credible university will teach you, that stack overflow is not up to grade and should not be cited as a source in your papers.
Self study guy would have found and utilized it during the first week.
I was wondering if you you can cite any references on this idea? Because I personally think it's complete BS.
Few sites that give you knowledge compare and contrast the pros and cons among the many different algorithms and their potential uses in hypothetical situations. Assuming you have a decent teacher, you'll get that.
Any CS curriculum at a US university is essentially a 2 year degree. The other 2 years are wasted on mandatory courses that have absolutely nothing to do with the major. In European universities the curricula focus on the subject studied, they do not include stuff you already did or should have done in high school. US universities should remove all the gunk and clutter from their curricula, which will make graduating faster without lacking knowledge and skill while also keeping the expenses for students down...but since each and every university soaks those who are not athletic to pay for money wasters like college sports and overly landscaped campi they have to make the CS majors study biology, philosophy, and write a book report about "The Great Gatsby" for nth time in their lives.