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.
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.
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.
9 women + 1 month != A baby..
No, 9 women and one month = cardiovascular collapse.
Faster! Faster! Faster would be better!
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.
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.
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.
I'm friends with the principal of a local tech school. They've almost broken that stereotype. He said he can't graduate highschoolers fast enough. They're learning internet security, coding, CNC, 2015 automotive repair. I sat in on one of his tech classes, 16 year olds had a better grasp of how CAN networking works and how to debug problems in engines than a lot of PhDs. I'm trying to talk him into opening the school part time as a MakerSpace, it has better equipment than I had going though college. (Oscilloscopes, CNC machines, 3D printers, etc).
These are the trades of the next century. It's why H1Bs are being hired into the spot, a lot of these jobs don't need someone with a masters degree. They need someone that has been training to do it since they were 14-15. It's still how Germany structures their school system.
Not everyone needs to go to university. They have 21 century trades. It's why Simulator games are a huge hit there.
"Even though the average purchasing power is very different between say the UK and Poland, we actually sell more copies in Poland than in bigger Western Europe countries," he notes. "We also have lots of fans in developing market countries like Brazil or Turkey, and incredible number of players in China, but it's really hard to actually sell any games in those markets."
Meanwhile, the Farming Simulator series is a very similar story. Marc Schwegler, associate producer at Giants Software in Germany, tells me that the main audience for its annual farming series is kids, especially boys who love tractors. Oh, and farmers, of course.
Kids that grow up playing 'stupid simulation' games will be trained to run a fleet of automated trucks or tractors. We already see military implementation with drones. Doctors are starting to do it with DaVinci. You could work anywhere with fast enough internet. There are still things that require a human, we have the technology such that the human doesn't need to be where the actual process is going on.
IT is already doing it with support Apple and other companies have house moms with VOIP answering tech support questions.
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.
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.
That all depends on what kind of job we're talking about. My first job was just such a shit job, and it was fine since it let me break into the industry.
But for the Big-5 software dev companies, and dozens of others in Silly Valley who model themselves on them, there is a shortage (and these companies probably employ the majority of software devs on the West Coast). If I average across the last 3 companies I worked at, so I'm not revelaing anything about any of them specifically:
* We hire 1 in 20 people we phone screen
* We hire 1 in 4 people we interview in person
* We lose maybe 10% of offers due to salary offered being too low (hard to measure that well, but it's low, these companies don't like losing on price)
* Normal work week is 40 hours, with crunch time being rare.
So, no for the big names, it's simply not about employee abuse, it's genuinely about finding people qualified to work at this level of expectation. And once you're past your first few years, almost no one cares where (or whether) you went to school. If 2-year programs broaden the talent pool to more people not following the traditional path, more power to them. Whatever helps those bright enough to make a career of it get in the door is a good thing.
Socialism: a lie told by totalitarians and believed by fools.
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+
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
It's not the job of the companies to train people up from scratch. Nor should it be, as there's just no telling whether someone will "get it". Getting together with other companies to fund coding schools seems a much more useful approach.
That being said, we always expect to spend that first 6 months training people on everything company-specific, along with the language we use in development if needed. But you have to demonstrate proficiency in coding during the interview in some language.
Socialism: a lie told by totalitarians and believed by fools.
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.
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.
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.
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.
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.
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.
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.