Zoho Don't Need No Stinking Ph.D. Programmers
theodp writes "When it comes to tech academic credentials, Zoho CEO Sridhar Vembu has The Right Stuff: a Ph.D. in EE from Princeton. But Vembu has eschewed Google's Army-of-Ph.D.s approach to software development in favor of tapping into the ranks of high school grads who would not normally go to college for Zoho. Seeing his youngest brother succeed at programming without a college degree convinced Vembu that others could follow that example with the proper training and guidance. And studying the best employees in his own company led to another epiphany: 'What if the college degree itself is not really that useful?' thought Vembu. 'What if we took kids after high school, train them ourselves?'"
Whoa. Someone with common sense. Someone in charge with common sense! I need to get some people around my workplace to read this blog entry.
While I'm sure that everyone's personal experience is different, this observation matches perfectly with what I've seen over the last 30 years or so in the field. On-the-job performance is the application of skills that are atually needed somewhere. Education in school is teaching something that may be needed at some future date. A new graduate still has to learn how to adapt their knowledge to the real world. Given what schools seem to be teaching these days, and the typical student's retention rate and enthusiasm, I'm not surprised that grads and non-grads are about equal in skill after working for awhile.
Kudos for admitting that, Vembu. I hope others follow your example.
College is a mix of vocational training (particularly important for some professions) and personal growth in the "learn to be a good citizen" sense. It's socially irresponsible to encourage people cut back on the latter, and being lax on the former results in a lot of "not seeing the big picture" kind of thing. I suppose it might be good for businesses that want to lock their employees into working for them long-term, but it's bad for society.
For every problem, there is at least one solution that is simple, neat, and wrong.
The company gets crappy code written by people who understand the syntax of the language, but has no deep understanding of algorithms or data structures. They might think they know what they're doing, but having been at that point myself once, they really don't.
The workers end up not really knowing their craft, and have a much harder time getting their next job without a degree.
The only winner here is management, who makes a quick profit off bonuses for cutting costs so much, and don't need to worry about long term maintenance.
I still have more fans than freaks. WTF is wrong with you people?
Any other reason? Perhaps they are a bit cheaper?
I do think he has a point that a degree in anything doesn't mean you're going to be any good, and I learned a heck of a lot of programming back in the 80's on my own, in my basement.
But, the motive here seems to be cost, not anything else.
And Zoho products show it. They are poor quality knock-offs of other, more commercially popular packages.
The are the Rodger Corman of software.
(Apologies to Mr Corman)
I admire what he is doing here. I think that any reasonably intelligent person who's willing to learn can do any job reasonably well, regardless of their background. I think too many HR idiots assume that someone gets far enough down a career path, they are incapable of doing anything else.
The sending of this message pretty much inconveniences everyone involved.
Answer: we could pay them a lot less.
That is how I learned to program. I started out at 13 with basic and have moved up. That is also how I learned about computers. 22 years later I am a full-time programmer and a Network Admin. Self taught all the way.
Kosh: "Understanding is a 3 edged sword, your side, their side, the Truth."
Hiring an engineer without a degree in any other industry is ridiculous. Perhaps, CS didn't evolve much from being a voodoo science?
The students are taught very little theory, avoiding computer science altogether.
Yes there are many things you can do in programming without a formal education, and I'm all for rewarding people who want to make an effort. But by not studying theory they are missing out on all those giants whose shoulders they could be standing on. This will lead to wasted effort as they reinvent everything from the wheel to Unix badly.
I am Slashdot. Are you Slashdot as well?
It's full of self-taught, degree-free programmers who learned on the job... just like what this bozo wants. It also kills two out of every three projects that it starts. Job security is terrible. Much of the code is unmaintainable. Software engineering discipline is regarded as a waste of time for bureaucratic wusses.
Teaching people on the job means they make their costly, disastrous mistakes on the job instead of making them in college, where nobody gets hurt.
I piss off bigots.
So you apprentice to a company, and develop no other marketable skills. Maybe they use some language that no other company will ever touch...suddenly, you have to take whatever pay they give you, because you've got nowhere else to go!
No arts or studying outside your field...That doesn't sound too hot. Oh yeah--and do YOU really want to maintain code written by a guy who's never taken college-level writing courses?
But I hope that they are actually training them in real computer science. Algorithms, data structures, patterns, etc. I have no college degree, but I love to learn (just couldn't afford it when I was that age, and now I'm too busy!) and I did just fine. Worked in management consulting as a developer and then architect, it's definitely possible. However, ignoring the other areas of learning the university can offer may be a mistake - it's great to know your computer science, but it's nice to be well rounded. As long as you're the type of individual who pursues that learning on your own, however, you'll be just fine without that massive student loan debt!
Would Google's index (and infrastructure) be as good as it is if they relied on high schoolers?
Umm...no.
Non-cookie cutter programming requires serious, well-educated people.
Nope.
Programming isn't that hard. I began at the age of 8 myself. You can go from zero to a hacking code monkey in a month, and from there to a decent programmer in 6 months if you are willing to learn.
But when it comes to the hard problems: design, algorithms, efficiency; most everyone is going to need a broad spectrum of formal education to be able to handle that properly.
How about looking tech schools not dropping resumes from people who when to them they tech stuff that uses in the real work places vs the big schools that some are more about sports then classes also they have less filler classes that have little to no use in the work place that most IP people / codes are in.
Congrats to the CEO with a PhD who has just discovered that "code monkey" actually means "code monkey"
With almost no computer science and a disdain for math, these guys will fit right in with the majority of the programming workforce, probably on par with a technical college grad (and perhaps myself) in coding ability. However, in my experience, I have seen very little correlation between raw ability to code and the success of projects. Zoho better have some kickass business analysts and project managers for these coders.
Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
Google's hiring criteria are a joke these days, and I'm not just saying that as an outsider: I used to work there and take part in interviewing etc.
They essentially give a "+100 score" bonus to candidates with a PhD, which doesn't necessarily get them hired, but does get them through the first level of filtering. It's absurd that this can give fresh-out-of-graduation candidates a chance at an interview, whereas someone with 10 years of industry experience doesn't.
It's not just the worst hiring policy I've ever seen - it's also a form of age discrimination. Getting a PhD in Computer Science and related fields wasn't all that popular until just recently (and by recently I mean the last decade). Hell, getting a degree in CS wasn't all that popular until "recently" either. So what we're seeing is a PhD in CS is more common for the younger (It'll bite Google eventually, because they're going to end up with a mono-culture of academics. Or more people will realize just how absurdly discriminatory the PhD requirement is, and how 10, 20 or even 30 years of experience in the field counts for a hell of a lot more than a dissertation about one specific project. Don't get me wrong: every company in this industry needs its share of PhDs, but it's idiocy to make your entire company from them.
I don't have a PhD or even Masters, and even that gives me issues. Getting a Masters wasn't all that popular until "recently" either. My goal was to basically get a decent degree as fast as possible and get started in the real world. But now every company - and even immigration for most countries - wants to see a Masters, not a Bachelor. Again, that's just a "recent" fad as everyone tries to increase the value of their degree because they're so damn popular. So it ends up being another form of age discrimination. It's pretty weird having that happen to me when I'm not even 40. I'm guessing there's a lot of folks reading this in an older age group than me who've seen far worse.
I have seen masters for help desktop level 1 that is way over the top even 2 years with tech schools being passed over is way to high.
Same thing with jobs hoppers and people who have been out work for more then 3-6 months. I thing that HR is to stuck in the old ways doing things and today high cost of school / hard to find jobs. Also places don't like to hire people who been in the work place for a long time for low level jobs.
Why bother? Let the Indians and Chinese get the formal education, learn the theory and be able to do something useful once they've done their apprenticeship.
As for the US, use the uneducated but enthusiastic young programmers until they burn out, discard them, and get new ones.
The danger of highly focused training is that you can end up with people who don't know how shallow their knowledge is, like the author of the Therac 25 code, who apparently didn't understand the dangers of concurrency and ended up killing people. Fortunately, at Zoho, nothing of that importance is likely to be worked on. When they are as innovative as Google, I will believe their model is superior.
This might work. This might not work. One thing, though, is clear from Google's example: hiring a huge number of incredibly well-educated people does, apparently, also work.
My two Google friends are both motherfucking good programmers. I was in college and asked one of them his strategy for handling exceptions in his code. He shrugged and said, without any sense of irony whatsoever, "I don't really know how to handle exceptions. I find it easier to just write code without any bugs in it."
For almost anyone else, I would have rolled my eyes. For him, I nodded in agreement.
A college cs degree (or similar) is equivalent to four years of job experience. Someone who will never be good at programming graduates from college with about the same abilities as someone who is similarly bad but has worked in the industry for four years. Someone who is/will be good at programming graduates from college with about the same abilities as someone who is similarly good but has worked in the industry for four years. This is because it's not about what you learn to do, but rather what you learn not to do*. Advanced degrees, while nice for certain things (eg. advanced search algorithms), are not about programming and represent little to no additional skills to most programmers.
* To illustrate this point, I'll share an anecdote. A few years ago I worked with a decent programmer who had not gone to college. One day in a meeting, he came to the sudden conclusion that all relationships in tables should be modeled as many-to-many, in case requirements changed some day (because this had happened to one relationship in our product). Obviously, he had no knowledge of database normalization, and to be fair, he didn't need it for most of his work. It took me a considerable amount of time to convince him that approach would give horrible performance. Had I not stopped him, he might have gone on to create a database like that, and would have known better only after seeing the results. This is where the four years come in: it takes that long to experience all of the anti-patterns (and maybe some patterns, too) that would be intentionally presented to you in college.
This actually isn't new... it's a return to the classic "apprenticeship" model. I think it's a great idea.
Consider the benefits. It's all real-world experience, learning how things actually operate and how they are actually used. The modern academia "ivory tower" model, in which people with no industry experience are teaching students only a small portion of what they need to know, isn't serving the industry particularly well. There is also the issue that college/university these days seems to be at least as much about political indoctrination as job skills, but that's another discussion.
Additionally, the instruction in the apprenticeship model is much, much more effective. The mentor-to-apprentice ratio is far better than the teacher-top-student ratio, and the instruction is always what the apprentice needs (you're not going at the least-common-denominator pace, time isn't wasted on rehashing things you already know, you can ask questions as they arise, and you can't hide what you don't know behind standardized Scan-Tron style tests). As a result, the apprentice learns much more quickly, and will become a seasoned veteran in less time.
The one hazard I see is that there is the potential to lowball the apprentices on pay. At the very least, a conventionally-trained college grad has demonstrated they have what it takes to make a four-year plan and get it done in... um... let's call it five years. They aren't going to settle for minimum wage (except in the video game industry), and they aren't going to pull down the average wage for others (again, except in the video game industry). The potential does exist for these issues arising, but it's by no means certain that they WILL arise, and if an employer gets a rep for either turning out ill-trained apprentices or for being an exploitative sweatshop that leverages the naivete of an 18-year-old (sorry, if you're 18 you're a rookie no matter who you are or what grades you got), that employer is going to get blackballed by the rest of us real quick-like.
I do hope Zoho's approach succeeds and gains traction.
Everybody gets what the majority deserves.
People with little or no formal education in programming can very well be capable of programming whatever tools you need, but they are much less likely to be able to do it well. Before I took any classes in programming, all I knew how to do was make things work for myself. That didn't mean they were secure, and that didn't mean they were optimal or user-friendly. They just accomplished a single task, and it took me much longer to create those tools than it would take me now.
This is only kind of related, but at my current job my boss insists on hiring a lot of low-paid programmers for the dozens of projects that we have on the horizon. There are normally 5 of us programmers, but I am the only one who ever accomplishes anything. The others have never been able to finish a single project that they've been given. One good software engineer is better than 4 lowly "code monkeys." Hiring qualified programmers is a must.
After some 15 years in the industry one thing is amazingly clear; Formal computer science education is more of a warning sign then a merit badge.
The vast majority of people I've worked with that actually had a CS degree have been inept to put it kindly. Regardless of experience, if they went to college for computers chances are good they have trouble wiping their own ass. While I've worked with a few very notable exceptions, the rule still firmly stands. Maybe it's because I'm a product of the dot.com boom, but most people that get a CS degree did it purely for the money and not at all because they had a talent or interest in computers.
The one unifying trait in good, practical computer professionals is an aptitude for music. Pretty much all played an instrument and most still regularly do. Any college degree they have tends to be in something random that interested them, like sociology, if they have a degree at all.
My
We follow a similar strategy only at the college level. I have degrees in international business and german, but spent the last 10 - 12 years doing systems work. Roughly half was systems admin, the other half systems integration. I know enough programming that I could get the job done and build something that worked. The company I now run, I wrote the initial the two versions of the software myself. But we started hiring CS & ECE students as interns first and then some full time when they graduated and it's a world of difference to look at the code now compared to what I created.
The school has a reputation as an okay university, but it's not a top tier school by any shot. However, with that being said I can find people just as talented as I can anywhere else and it doesn't hurt that we're pretty much the only shop in town. When we get interns, they know they will be working on a project that will be going into real world production. They aren't sitting around writing documentation nobody else wants to do or reports for some project as their "internship"
The biggest problem we have is scaring off potential candidates because we throw them into the fire day one. Now we're careful not to put them on anything that is time critical. Often times they are working on modules and pieces of the puzzle that are "Nice to have but not critical" and it takes about 2 semesters before they've got enough experience under their belt and we can turn them loose. However, they find their 4th year classes to be a breeze after working for us because they've already done it in the real world.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
Having used Zoho monitoring products, I've found them to be inconsistent depending on the team that wrote them. Their Netflow Analyzer is rock solid. But there SNMP tool, OpManager, is fraught with problems. I wonder why the difference? Did they give SNMP to the high schoolers?
How about looking tech schools not dropping resumes from people who when to them they tech stuff that uses in the real work places vs the big schools that some are more about sports then classes also they have less filler classes that have little to no use in the work place that most IP people / codes are in.
How about hiring people who can construct sentences that make some fucking sense?
Good god man, this is the Internet in 2010 not a telegram in 1910. There isn't an extra charge for punctuation.
That's not true. A degree is a requirement for access to lots of different kinds of high-paying jobs, if only because the HR manager has a degree and decides on wages.
Whether a degree is actually useful in day-to-day work, well there I might agree with you.
and hiring manager....
Two stories:
The first one is about a supervisor I had who felt one must have a college degree to program device drivers. He blew off a really brilliant (I've never worked with a guy since who was that smart - even the PhDs at IBM) guy because he had only a HS diploma.
Second - a bit longer:
There's a company in SE Florida that needed someone to test circuit boards. A two year technical degree was all that was needed: plug board in, read test equipment, note failure.
When they were looking for someone, an EE shows up. They hired him. This guy then takes advantage of the tuition reimbursement and gets a MS EE. He leaves for greener pastures and maybe to actually use his education. Now, they list his job. Guess what? Requirements for thejob: MS EE. A test job. All because this guy got one on the job. They're reasoning? Well, because he got one he must have needed one.
It wouldn't have surprised me if they were one of the companies that said "We can't get any qualified Americans" and eventually hired a H1-b.
RIP America
July 4, 1776 - September 11, 2001
How many kids finish high school saying "I want to do XYZ" and then actually do it? For that matter, how many kids finish high school and have even the slightest idea of what they want to do? This company could end up investing a fair bit of time and money into training this kids straight out of high school only to find that many of them don't want the job anymore. At which point they are back to looking at the next graduating class...
Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
Only an idiot would hire a PhD for a programming job. PhDs are research scientists.
Sheesh, evil *and* a jerk. -- Jade
who finished the story still thinking "What the fuck is Zoho?"
I had been programming since early adolescence, and by the time I graduated from high school I thought I knew all there was to know about programming.
However, my eyes were opened in the university. After every year I wondered at my previous ignorance and looked forward to the next year.
After I entered the job market (having finished the PhD studies but not the thesis), learning ground to a halt. While there has been a thing or two I've picked up over the past 20 years (mostly about project dynamics), I still remember with nostalgia the fireworks of the college years.
At the same time I knew many who graduated without learning much. University studies are an opportunity to learn, not a guarantee of learning.
I'm surprised at the amount of posts supporting these ideas? Are any of the supporting posters university/college trained programmers? I'm not going to rant too much about the subject, it has been discussed by many others much better than I could. There is a reason why the Software development industry is in crisis (in terms of quality) Bjarne Stroustrup has an excellent interview on the subject: http://itmanagement.earthweb.com/features/article.php/3789981/Bjarne+Stroustrup+on+Educating+Software+Developers.htm Ideas like this of taking high school graduates and give them developers positions without the proper education is taking steps backwards. There is a reason why Google produces some of the best software in the world (starting by the algorithms behind their search engine), their employees have all the required education credentials to go with their experience.
"Based on a few years of observation, we noticed that there was little or no correlation between academic performance, as measured by grades & the type of college a person attended, and their real on-the-job performance. That was a genuine surprise, particularly for me, as I grew up thinking grades really mattered."
I never gave a shit about grades until I wanted to go to grad school. Pulled it out in the end, but just. High school was another matter. Did very poorly. Never responded well to the shock collar authoritarian motivation. Which makes me wonder how good an employee my type of personality really can be. If it doesn't interest me, I have a very hard time getting it done. Pretty much the fear of being unemployed is all that gets me going on the mundane bullshit. I bet he sees a drag in the less interesting tasks. Maybe not.
46 & 2
Hiring coders out of high school may very well work for some projects, and those kids may be happy to have a "real job". But in the long run the joke will be on them. Unless they plan to spend the rest of their life in that company (unlikely, as they seem intent on using a cheap supply of fresh young kids) they will find that most projects do appreciate (and need) a bit more education. Back to school for them, and not at the time when it's most convenient - it's hard to go back.
On the specific issue of coding vs. education. 20 years ago I started working as a software developer full time before I had any education above high school. I did some useful things that seemed "cool" then and worked out well enough for my employers. 20 years forward and two masters degrees later (Comp. Eng and Comp.Sc./Infosec) I can see that I am by far a better engineer (and coder too, but that's almost secondary), in part due to all the experience and in part due to education. I would have never been able to do what I do now without additional years of studying.
YMMV
I agree with you and also from a business perspective another large benefit is that by going through a college degree program, you have developed the skills necessary to be diligent at slogging through very mundane work and presumably developed intelligent communication skills as well. Probably the two most important things you will need in the white collar business world.
The sending of this message pretty much inconveniences everyone involved.
I'd prefer English majors. Then I'd teach them to program. I find communication is easier.
In my experience commercial software programming productivity is greatly hampered by the successful completion of a PhD. To complete a PhD you need to convince a committee of professors that you have done unique work in your field. You do this by publishing research and collating it into a dissertation. The type of software required to obtain research results for publication in most fields is completely different then what I need my programmers to deliver for me to ship a marketable product on time and on cost. PhDs often don't get things like O(n^2) algs should NEVER appear in commercial code because they will always blow up, and that not anticipating invalid input and just crashing isn't allowed. Both of these practices are just fine in research code. You may need a couple pointy heads around to make sure you are applying the best solution to your problem at hand, but give me anyone with a BS and demonstrated skills over a PhD any day for writing production code. (I want the BS/BA because it shows me you can complete something and can deal with crap you don't like because I'm paying you to do it).
"This mission is too important to allow you to jeopardize it." -- HAL
Yes.
Do all that and require four semesters of grammar so developers can express themselves in coherent English.
That said - I'd imagine that Zoho isn't doing rocket science - I would bet a dollar that they make 'web applications', which is a nice way of saying they move buttons around on a web page. It doesn't take four years of theory and design training to move buttons around on a web page. Maybe recent high school grads will work out nice for him, and if so - good for everybody involved.
Glonoinha the MebiByte Slayer
...no deep understanding of algorithms or data structures.
That depends on your job. Realistically, how many folks graduate with a CS degree and actually do CS? Very very very few work on operating systems, database engines, and other really intense CS type of stuff where you really would need datastructures and other CS skills. Embedded systems and device drivers are usually done by engineers from I can see and as far as algorithms are concerned, companies hire the folks with graduate degrees in math for that. Business algorithms? The accountants and business types developed those.
Let's face it. You graduate with a CS or MIS degree you're going to be a code monkey. You need to go on to grad school to get into real computer science. A BS CS makes one no more a computer scientist than a BS Physics makes one a physicist.
Data structures? Please. When was the last time you had to code a linked list or sort an array or any of that second year CS type of stuff? I stopped coding that in the mid nineties when the Standard Template stuff came out. And if you coded any of that in Java, C#, Python, or whatever, you'd just be reinventing the wheel - a wheel that has been thoroughly tested and debugged. All you need to know is the basic difference between them and that's it: there's no reason to know how there implemented.
Programming is becoming more and more of a skilled blue collar job.
RIP America
July 4, 1776 - September 11, 2001
It's so funny to read all these self thought programmers writing how good an initiative this is.. I must admit, i come from Denmark where education is free heck.. the gov't pays me about a 1000$ every month of my education, even the in the 2 months of the summer break.. But still.. listen to me..
Yes.. Everyone can teach himself to code, but as someone mentioned earlier this will NEVER give you the inside of what is really happening with data structures, patterns and code-maintenance, so yes.. if you want a mediocre code monkey job for the rest of your life.. go ahead and skip college, and you might even get lucky and invent the next facebook.. But.. Fact is that if you have spent 5 years on getting a masters in CS or as i in Software Engineering chances are, that you will be so much better than a greasy nerd comming from a code monkey job with 5 years of experience.. Yes it is possible for a tiny fraction of people to make without education.. But face it.. These days are GONE.. LONG GONE.. If you want to work for Google i bet they will expect you to know a great deal about code maintenance, best practices, algorithms and the list keeps going.. Fact is that if you are self tought, you are probably a niche coder who maybe knows very well how to make web sites in .NET or something like that.. And wtf can Google use that fore ?
So all of you thinking that you will make it big without a master degree.. forget about iit.. this initiative is complete nonsense and should not be picked up by anyone.. or well.. If you have a shitty company writing shitty code for shitty programs.. This might just be the way.. And maybe also a hell lot cheaper.. But thats it..
I once had to work with a product (OpManager) written by Zoho. Completely incompetent.
I think the stupidest part of the article is in hiring guys fresh out of high school.
I certainly believe that a college dropout can become a talented software engineer given enough real world experience, but no one is going to be able to plan and architect a complex system before it has been implemented without a lot of experience.
Slashdot: Where people pretend to be twice as smart as they really are by behaving like children.
would google be using map-reduce if they had employed only high-schoolers?
not likely.
yes, perhaps they would have something like it, but not as abstract, and probably it would be a big kludge.
I've worked with god awful programmers, and a few excellent ones. My conclusion is that the majority of programmer graduates of elite schools are very good; but the reason is probably that their degree affords them plenty of choices of career, and they would have no reason to stick to programming if they didn't excel in it.
There's another problem, though, and it hasn't got much to do with the reputation of their alma mater, but the vast majority of programmers did not study CS. I didn't (and I'm a sysadmin anyway) but I tried to educate myself in theoretical stuff. Take for instance compiler theory; formal grammars and what not. Most programmers I've worked with have absolutely no idea what the fuck it is. The result is brain dead regex-only based parsers full of glaring bugs. The other day I discovered that a piece of software I had been delivered stored financial transaction amounts in floats. I dare to advance that no CS graduate who didn't get his degree from a diploma mill would commit such a sin. But here the self-taught developer looked at me as if I was nitpicking.
Never worked with a PhD in CS who knew how to program for shit.
Worked with plenty of them who can tell you the theory for making sure you random number is random enough; but none of them could actually code it up for you!
there's going to be some real interesting times in the software industry. Because, all the MBA types will look at him and will want to repeat it.
RIP America
July 4, 1776 - September 11, 2001
In school I was considered a "whiz kid" and (from my wife) I know what a programming apprenticeship looks like (there is NOTHING that you don't learn in the first 3 months of the first semester of computer science studies). When I look back to my codes from school and add the content of apprenticeship - that would be a friggin tinkerer!
You can teach them to use iterators, to use hardcore object-orientation, derive classes, overload streams etc.
but to be really good, you need profound knowledge about thread-synchronisation, discrete math (esp. graphtheory), automatatheory, and complexity classes, because without these, you will unavoidably code shit!
your programs will be slow:
you will use backtracking (exponential running time) for polynomial problems (e.g. problems related to matching- or network-cut problems). You will not use branching-vector minimization or kernelizations (you won't even understand why you should use those and your programs for NP-complete problems will be to slow to actually use them and you won't even be able to recognize these problems). Hell, you won't even be able to understand why polynomial running time is good and exponential running time is bad...
your programs will have race conditions and mutual-exclusion problems
or don't you want to benefit from any further processor-developments? processor development means more cores at the same speed nowadays, so you need multithreadding or you are stuck at using one core (which will not improve speed anymore)
you won't model parsers as (pushdown-)automata and you will NEVER be remotely able to know whether your program is reliable (whether it works for all inputs)
you won't be able to distinguish a fast program from a slow program, so you won't even know the quality of your programs.
My wife works at a software company's support hotline today and just ask her: bazillions of problems with all programs except those from the graduate computer scientists...
If you really think that ALL major software companies pay so much just for fun, then you are out of your mind! They just know and value how much more quality you get out of graduate computer scientists.
IMHO this guy just tries to make "we are nearly broke and can't afford good programmers anymore" sound good to the shareholders...
The MAFIAA is a bunch of mindless jerks who will be the first up against the wall when the revolution comes
scholastic academia was founded in order to teach and do science. not applied practices. applied sciences have become an offshoot of these, but they became increasingly theoretical and abstract. 4-5% is remembered after graduation. and they teach 86% of crap in order to give out the general engineering/applied formation. result ? you learn everything while on the job.
...
however, had they directly aimed at giving the analytical and practical mindset without giving crapload of theoretical info that will probably not used, the duration of such applied teaching would be much less and its effect much efficient. but then again, how could the colleges would make money
its even worse in i.t. related fields. when the textbooks get out for something, that something becomes either dormant, unused by that time, or something better comes up.
they need to teach people how to think and how to learn. not anything else.
Read radical news here
I really don't agree with his statement as a whole. Yes cases vary and some individuals certainly do well just with a high school degree but getting educated will certainly help you down the road.
Going to college teaches you how to learn and how to adapt, giving you the tools needed to actually learn material and evolve it, not just apply it. The actual material that you learn is just a bonus. I see code monkeys all the time, folks with no formal education that will never advance. Yes they can code (notice I didn't specify how well they can code), but they can't engineer solutions that will last and be beneficial in the future.
Code monkeys sure are cheaper than software engineers, but the mess and problems they create cost way more than the salary of said engineer.
Tired of my customary (Score:1)
It's easy to forget how much you learn in school, because the knowledge you acquire becomes obvious after you learn it.
After six years of schooling, 400 classroom hours of math classes, 800 classroom hours of CS/engineering classes, and countless hours of studying, I am confident that I know more than I did in high school. In fact, I'm pretty sure if I met my high school self today I would think he's an uneducated moron. Sometimes I like to go through my programs from early college and high school to have a good laugh.
Of course once they quit school and go to work for zoho, they won't be able to work elsewhere without a degree. So the PhD has figured out a way to lower his HR costs.
They would start contracts with unemployment offices, get low-educated people trained to program and be forced by contract to keep them employed for 2 year.
The strategy consists of lowering your prices for consultants and projects; you have a batch of cheap codemonkeys who work for half the price and can whip up a website or VB-program as well. Armed with this, you can compete with your opponents.
Now, because they are tied with the 2-year "forced employment contracts", with the crisis, they were forced to lay off their bright and highly educated people while they've been stuck with this "quick trainees".
Everybody can code something, however it took me a while and study to really grasp decent programming logic and to learn to think in code. In highschool, programming for me was more a brute-force approach.
My point being, you can train people (in IT we're constantly "retrained" anyhow), but I believe there is some value in a decent base if you want someone with a more deep understanding and having gone through our "maturing rituatials", building networks, social skills and what have you going through university and college.
I think we can keep recursing like this until someone returns 1
Can anyone answer how this setup prevents a computer science education? They take someone who's not going to college, gives them an incredibly valuable skill and the discipline required of a big person job. They are taught how to work. It puts money in their pocket. They code for 3-5 years, and if they hit a ceiling in the career, they PAY FOR THE CS PROGRAM with the money they saved.
In addition to having grown as a programmer (and finding out firsthand if they have a passion for programming), they are taught the academic theory behind the craft right about the time where they could not advance further without the degree. Not all programs require revolutionary search algorithms. Sometimes a business just needs a website.
To me, this setup makes much more sense than being taught the theory while accumulating debt, then shelving it for 5 years before anyone trusts you to code something outside a framework or a tech lead's supervision. It also makes a lot more sense then teaching someone the ideals of computer science only to slam them into the reality of the working world and burn them out. And hey, the work ethic of a competent programmer makes studying seem like leisure.
Disclaimer: I am self taught. I own my company, it is not the first one I have owned, all have been successful (enough for me and for others) and all have had a very large dependence on software development. I have also worked for some of the biggest companies on the west coast, in many different fields from games to Hollywood to finance and pure engineering (geophysics) and I have my own observations about hiring developers regardless of their backgrounds. In my company I personally sit in on every employee interview, at least for some amount of time if not for the entire interview. I have interviewed thousands of candidates (literally).
A degree does not equal good development skills, in fact, a degree only tells me what the candidate considered to be important when they were at university
I rarely hire CS grads, in fact given two people with comparable skills on paper I will hire the engineering grad 90% of the time over a CS grad.
I also rarely hire PhDs. They rarely are good developers and most of the time have no real world understanding of application development (regardless of market). Too much time learning, not enough time doing.
While formal training is not necessary, I have never seen it hurt, and I have plenty of real world experience with developers who have no formal development training but are extremely active in their peer groups, always learning, always trying new things, always willing to improve. On the other hand, formal training in some form of engineering is almost a must. You simply cannot develop good code beyond the most simple cases unless you have good engineering/science discipline behind what you do.
The questions I always ask candidates:
What have you done. Give me examples of things you have finished and why you are proud of them. It could be anything from a library to a database engine to a game you wrote on your own. What is not as important as the passion the person has when speaking about the project.
What gets you excited as a developer. (this really separates the wheat from the chaff and more often than not the answer to this question is all you need)
What do you want to do with your life. A guy who wants to become something other than a programmer or a position in a related filed simply isn't going to be a good developer.
I rarely ask what school they went to as it is on the resume anyways, and I could care less where they finshed in their class as long as what they can demonstrate is drive, what it takes to get things done.
There are always going to be rock star programmers, they are pretty easy to spot, its the guys who turn out the bulk of the code every day that are hard to find and those developers don't necessarily come from traditional backgrounds, you simply have to be open minded about the skills you need and the people you hire.
My pet peeve is games developers, I have never seen so many bad developers in any one place as you will find in the average game studio. Look at the source for almost any of the popular games when it gets released, it is at the best of times just badly organized, hard to read, and impossible to support. Not saying that all games developers are bad, many are great, but there are many examples of developers that the community holds in high regard (because of their games or technical wizardry) who simply should never get behind a keyboard or at minimum should hire someone simply to clean up after them.
It finally happened, I never though somebody in charge in my lifetime would finally figure out that a degree in programming is useless because things move so fast...
In all seriousness I learned 10x more working for a computer doing programming in like...6 months, than I did in 4 years of college. Its about time people understand this fact... In fact I will go as far as to say that trying to get a degree any higher than a bachelors in programming (computer science) is a bigger waste of time than majoring in psychology....there I said it.
I hate to say is going to come to an end.
Transformed it will be, in a new age of darkness created by the one world bank which is just now consolidating its power and will completely obliterate many nations or any nations that can or do survive it won't have a populace that can pay for jack squat.
I will not be sorry to see it go either. Most men of any intelligence or creativity avoided the mainstream with many of their ideas including Newton and Einstein.
What we will see in its place though increasingly will be apprenticeships. You know, when we didn't have the University Industrial Complex, that is how you learned a trade.
I can see computer engineering and programming easily going this route, but instead you will belong to a corporate school or "guild" of corporations that have the resources to train you.
Jefferson, Washington...most of the great men that founded the United States where not wealthy yet, that is how many of the became trained.
That means you work throughout your learning and in exchange for labour you get your education.
You graduate among your peers not in debt, but enlightened.
That is how it was, that is how it should be.
It certainly is not the way it works now thanks to the Banks.
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
There are two types of people in this world, there are those that need a structured and focused environment in which to learn. The second type is those that are fully capable of teaching themselves and do not need to be forced to learn.
When hiring I am always looking to hire the second type of individual. A degree on a resume generally means I pitch it to the circular file.
You need logic, reasoning, analytical abilities and some sort of capacity to "think outside the box". Some people are naturally born with it, some have to train for it. School does that to you, 4-6 yrs of training molds your brain a certain way, but there are no guarantees that you will become a good programmer if you dont have the aptitude for it. Sure some ppl have trained monkeys to pick stocks, but you need a lot more than that to pick them consistently. Similarly, you need to have a solid foundation if you want to start building a career in software technologies... You dont need a degree to make money in software ... look at Bill Gates.
I think this is a cynical move to cut cost and appease shareholders, while at the same time creating a horde of half baked coders barely employable anywhere else.
Seriously, if you had the choice of hiring a guy with a college degree (not necessarily Ph. D. or CS) and Google experience and some guy with no degree who has turned out some semi-crappy online office tools for Zoho, which one would you take? Now say he worked for Microsoft instead of Google. Which one would you take? And so on down the company prestige line. At what point will the uneducated Zoho guy win over the educated guy from company X? I'd venture he'd be forever stuck competing for the worst paid jobs with the worst companies unless he goes back to school. Or he can look forward to a non-career at Zoho.
How is that not exploitation?
My former employer used AdventNet to build a product. AdventNet works fine at the prototyping stage. After investing many man-years in the project, we find out, the hard way, that the adventnet framework does not scale and buckle under load.
The database design suggest that the implementers do not have understanding of normal form, indexing. Evidence also suggest that many of their staff understand computational complexity.
It took our a few months from our master DBA and architect to analyze and make architectural suggestions to adventnet to fix some of the problems we have found. And even that, it did not fix all the issues.
Now I understand why.
The problem with the businesses doing the training. When you're fired, what are the chances you're competent as a worker for anyone else? The reality is that highschool grades are even more useless then postsecondary. We need a post secondary situation where the students are given crafted tasks as the graded tests. They can use google and their textbook and everything to get the task done. In essence representing what happens in the real world. If I'm a physicist lets say. I dont need to memorize every equation known the man. If I'm doing work... I look up the equation. Why then are the grades in school dependant on my remembering the equations?
Anyway I am now on the fence about a PhD. But overall it won't make me a better programmer. It will make me a researcher. And in fact many companies won't hire a PhD to be a programmer because they will see them as overqualified (in fact my work mate who is almost done with his has mentioned he wouldn't hire a PhD to work in his team).
As far as me, college basically added some advanced math and a broad overview of computer science. But do I actually use any of that on the job? No. Basically I use high school algebra and the same basic loop structures you could get from Teach yourself C# in 20 days or something. I taught myself SQL as a freshman in college for a summer internship, and in both my undergrad and graduate database jobs the SQL was much less advanced than what I did on my own. In college I have not met a program that I couldn't do. They mostly consist of stringing together a few algorithms to do this or that based on concepts learned in class. On the job you don't even code the algorithms, you use the collection libraries (C++/Java/C#/Almost all the scripting languages have these...). Most of it is about taking the business rules, and converting it to code with loops, conditionals, etc... I could do all this after high school (because I learned C on my own to fiddle with a MUD).....
Anyway once I finish my Masters I hope to find one of those few jobs that actually uses at least a Bachelors level of computer science education..... In some places there are a few senior guys who do the interesting work and then all the normal guys end up using their libraries... In others it is all just business applications to link to files/database and it is all about the business rules. And then there is Google where the company is on the bleeding edge in many things... Or even Microsoft, although I think the windows kernel would be a nightmare to touch... And office as well.
My question is, has anyone else here actually USED Zoho's apps, and compared them to Google Doc's apps?
Let's just say it comes as no surprise to me that Zoho's apps are written by untrained programmers. They are slow, buggy garbage. Google Docs, on the other hand, work wonderfully.
We hired a Canadian guy with a 3-year diploma to work for our group as a programmer. He has done an internship with our Canadian division under my supervision, and I was very impressed with his work. He does random nerdy things in his spare time that would make ./ers proud. However, the US Border Patrol Officer denied his NAFTA work visa because he didn't have the "equivalent of a 4-year US bachelor's degree". He went to the border twice, but he was denied both times. Now, I, my boss, my colleague (all three have doctoral degrees) are convinced that this guy we hired is good for us, (and we will pay him the same wage as an American employee, so this is no sweatshop), I was quite frustrated that the border officer will refuse to let him work for us.
Right you are -- people with stimulated brains make better thinkers, programmers, analysts, and even editors. It doesn't matter if the stimulation came from college or not. Intense use of the brain, enjoyment of challenge, and a certain ability to persist through obstacles, are key.
if in america colleges hold the monopoly on effective education, what repercussions will be fired at these rogue corporations who (gasp!) hire people based on the talent and technical knowledge they have historically used to succeed and not that pretty piece of paper?
Good people go to bed earlier.
I think this is indicative of the maturing of the IT industry. It's more like construction.. you need a goodly number of carpenters ( a skilled trade, requiring non trivial acquisition of skills and training) and a fairly small number of designers to provide the drawings for the carpenters to follow and execute.
The challenge in most IT shops is not in finding the best algorithm or optimum implementation, it's getting the job done at all. And the skill of a good manager is in doing that with the *average* developer working for them. The *average* developer produces average code of average quality requiring average amounts of bug fixes, but because it's *average* the process is scalable.
If everything has to be done to the standards of the Sistine Chapel, you only get to build one, because Michelangelos aren't very thick on the ground. But if it's ordinary construction, then you can build Rome, because there are thousands of skilled *average* craftsmen around to do it.
Perhaps college education merely makes it much more likely that a candidate has put in her (or his) 10,000 hours, since they (or their parents) did presumably pay through both nostrils for the privilege. There are a lot of generalisms flying through the air here, but I'm willing to agree that among the able, the (vast?) majority hold degrees, and I am unlikely to take the word of a self-declared degreeless expert without some scrutiny. But if everything else is in order, do not deny the opportunity to those lacking formal education. Some of them have put in their 10,000 hours in amazing ways.
Disclaimer: High-school educated programming and networking consultant, professional for 15 years, amateur for another 13 prior
Sorry ... when you said hard I swear I heard "fun". I reserve "hard" for situations that involve "client requirements", "moving targets", "management expectations", "(undocumented) legacy code", "team communication", "branding / marketing involvement", "loss-less backward compatibility" ... all those things text books can tell you about, but never teach.
I have to say I agree with this. Little of what I learned in Computer Science was useful, up to date or relevant. 80% of my classes were in unrelated things also, like speech, spanish, and "other". BUT going to college can expand your horizons and allow you to learn about areas outside of your "career". Someone once told me "No one ever said what you learn in school is useful"
As a software engineering manager and coder with about 30 years experience, there is no one kind of programmer/engineer. The trick is to hire people that can think. My life would be easy if I knew what the government was going to hand me tomorrow (I work for a government contractor). I don't. You have to hire people that can think. I've hired people with PhDs and high school grads.
They just have to convince me that they can think.
Blue collar workers are at an economic disadvantage when it comes to voting because in a lot of cases they can't get to the polls in time, nor take/afford the time off from work. When you are almost paycheck to paycheck, you don't chance getting fired or make demands. I know I had to physically *quit* a blue collar job I had because joe boss wouldn't let me split at five to try and go make it to the polls before 7. We had to work overtime that day, I promised to come back and stay as late as it took..nope..ordered to stay and work so I said see ya later. I actually quit just to go vote, but I know most of my fellow employees that day did not vote..couldn't afford it, too afraid of getting on a shitlist to get fired later, etc.
I know that isn't the entire reason for the voting disparity, but it does come into play.
We really need a 24 hour voting period, or have it be a full week, etc, all over at a bare minimum.
There's a reason a curriculum vitae lists the topics and projects you have worked on, and their concrete results, and not just the schools you attended. While sometimes a degree is used as basic achievement threshold, it's the sum total of your experiences and how you managed to integrate them into your evolving abilities.
I self-taught myself a lot of CS while getting my CS undergrad degree at UC Berkeley. I'd say I learned as much on my own as in the classes. But that is what University is supposed to be like! It's a great environment to gain access to learning resources at a time in your life when you can really absorb them. At the same time, I realized I should go into the field and experience a different environment rather than continue to grad school.
In the late 1990s I learned by the seat of my pants how to engineer concurrent systems, when I had the "opportunity" to debug my mistakes on 256 processors of an SGI Origin computer with my boss breathing down my neck. I could never get access to that kind of hardware in a stereotypical self-teaching environment, yet once again I was self-teaching. That sticks in my mind a decade later as a pivotal moment, just as certain intense semesters were in college. These experiences are complementary.
What I miss the most from University is the rich exposure I got to "elective" topics; I can continue to get intense CS discussion from coworkers, but I regret that none of them can really blow me away with literary nor philosophical knowledge beyond what I gathered for myself at Berkeley. It is more difficult to pursue such interests at a hobby level once work and family demands increase.
..of motivation. If nothing else, it shows a person who is willing to invest his time, energy, and money to educate himself. The best programmers I've worked with are the ones who take pride in their work, yet have the humility to let their work speak for them.
His employees are much less likely to leave in the future when their abilities to work for him improve even if he pays much less than others. There might certainly be an element of loyalty among the employees but the much bigger factor is their restricted ability to apply elsewhere. Or would you hire someone who has since high school only worked for one company and thus not demonstrated any ability to adapt to new practices and furthermore does not have any degree and whose previous manager says that "he was an average employee"?
He's smart and gets a work force that will be good but inexpensive.
The one thing that always gets my goat - as an ex lecturer - is that hardly any employees looks as your college marks after the first job. It is all about "who you worked for" - which says pretty much nothing (because it would be "who you got to give you a job", not about how good you are).
Just because someone has got a drivers licence doesn't mean they can drive an F1 or Champ car - why does anyone think that someone who who has a college degree is going to be at home with cutting code in a distributed HA environment.
I can tell you, without exception, everybody that came out of our university course with marks of 80/100 or above was smokin hot. If you looked at those marks even 10 years into their career you would see they are still a reflection of how good they are. Google's grabbing of PhD's is similar to looking at the marks and picking the top students. If you pick someone who has scraped though, you're probably going to get a lemon, but if you take the pick of the litter - you get stars without having to groom them yourself.
It takes 10000 hours to be an expert at anything. Your contact hours in college may be as little as 2500... If you just give people on the job training - it costs your business lost productivity while the mentor helps out for, lets say, the first 2500 hours, so 62 weeks of Full Time Equivalent work for a grad... lets say that comes out to $50k to make it easy. Now lets just say we have about 28k of lost productivity from the mentor. That is a $78k undergrad degree that the business has just funded (and the employee can walk away with that). Now you can top that with things like 'health plans', 'insurance', and 'opportunity cost'. Opportunity cost is the big thing, because that $78k might have been a few fully competent employee which could bring the business in more money. .. hence the existence or tertiary education....
Depending on how much your mentor is paid, you are probably looking at an expense similar to the cost of a college degree (if you add equipment, taxes, opportunity cost, two sets of wages etc). It just that you are getting business to wear the expense - and then the employee walks away with the benefit. Great if you are the employee.... crap if you are the business!
In my next incarnation, I hope to come back as a code monkey.
People who don't want to go to college pay for you to go. Plus, you aren't spending your own money, so you don't have incentive to control costs.
Except for ending slavery, the Nazis, communism, & securing American independence, war has never solved anything.
I'm a college dropout. I've worked at several companies, from large and well-known (SDE at Amazon, among others) to small and unheard of. I worked in the industry while in school, and dropped out of school when it became clear that continuing it wasn't going to help anything.
When I dropped out I had a 2.8. I did terribly in classes because I didn't care about things like homework, and because I was spending my time working. I read technical books for fun, and not just language references. I read books on concurrent programming, on language design, on data structures and algorithms, on data mining.. the list goes on. And in technical interviews and my job, I excel in these areas. I'm language-agnostic, and have used C#, Java, and Perl professionally.
And let's be clear: I'm not special or particularly smart. I just took the time to learn, except I did it outside of a classroom where the professor regurgitated the textbook at a lectern. Let's not pretend you need school to study. The only classes from which I benefited in college were non-required classes where we worked on group projects in OOP and design patterns.
Everyone here on both sides of the "debate" seem to assume that lacking a degree implies some lack of fundamentals and theory, that someone with just a high school diploma (or less) is a self-taught nightmare that doesn't know what big O notation is. Dropping out isn't a sign of lack of effort that will translate to the Real World; it's a sign that you think college (at least your college) is stupid (and it wasn't some terrible school, but a top 50 ranked one in CS).
I've worked with people who have degrees whose knowledge of data structures and algorithms is abhorrent, and with other people who don't have degrees who are very skilled. Sure, college will put you in an environment where you can learn the fundamentals, but all you need is a good textbook and someone who knows what they're doing that you can discuss it with.
Just because this company is going to "train their own" doesn't mean they're going to leave out the fundamentals and theory. The school of hard knocks can teach those too.
Zoho is a crappy piece of software. Their user infterfaces are crappy, nothing makes sense. Yes you can tell it's been written by people with no education. Code monkeys.
The average American pays between 40-50% of their yearly income to government through federal, state, and local taxes and fees combined. If government quadrupled the tax rate, they'd kill the goose that lays their golden eggs -- overnight.
A College degree is nothing more than a minimum level of certification given by the institution. To get a degree simply means that one has been minimally certified in their field by the school. The school puts it's name behind the degree and makes it credible. The school's name is what gives a degree value. The better known the school, the higher the value. Don't believe me? Which EE graduate would you hire if both were obtainable for the same price? A graduate from MIT or a graduate from the University of Phoenix online. Once price is factored in, the MIT maybe less desirable if they are wanting $100,000 a year versus the University of Phoenix online wanting $30,000 a year. The same thing goes for those who have degrees versus those who don't. If both are obtainable for the same amount, then more than likely the guy who has the degree is going to get hired. Bottom line is that the man is admitting that he is cheap. And he should be, he makes cheap software. I would also question the quality of ZoHo's software. There is no doubt in my mind that Google's software will win at quality. Google's large accumulation of PHD graduates does nothing more for me than put emphases on the fact that they put quality above all else. Google makes the best because they hire the best.
Getting an MS and/or a PhD from an accredited school - and doing it in a short period of time - is evidence that the individual can take up a lot of new information quickly. If someone is able to do this in the field of study you are interested in, they will probably be able to solve some of the more difficult problems.
Getting a BS from an accredited school shows that the individual has some basic common vocabulary with which to think about problems.
Without question, there can be brilliant high schoolers. But... how is a hiring manager to tell?
Evidence.
The biggest problem we have is scaring off potential candidates because we throw them into the fire day one.
I'd hardly having them write another shitty iphone fart app throwing them into anything except for fits of laughter. You are a phoney you piece of shit troll.
Degrees aren't everything. They are a mass teaching mechanism. There is no guarantee you'll get a lot out of your degree.
On the other hand it does make it easier for a lot of people to cover a certain set of information deemed to be important for a given profession.
However, this doesn't mean someone can't self-study their way into knowing as much as or even more than college graduates. Many professionals know that they've learnt a LOT more after college than during college.
However, doing things in a non-conventional way can make it harder for you to prove your worth later on in life.. like when you are 40 or 50 and out of a job because of a recesion or some other circumstance outside of your control. Not every country values experience above degrees. In many countries a degree is worth a LOT more than experience (I don't agree with that.. but it is the way it is). Not having a degree can create a lot of limitations in later in life.
Yes, exactly. I used to manage Support & Operations for a telco part of DT group. I personally started there while first year at university (In my country it is hight school, then university which is BS, MS, Ph.D etc crap, and you get to pay a symbolic fee for attending - yes that is in Europe). The course was supposed to be CS with 3 possible specializations - hardware, software and networking. We were being told things that were well obsolete by the time they were included into the curriculum, but what I did actually learned is how to work a full time job and manage to complete all assignments from the uni. With good scores too. This made me a lot more self organized and dependable on. You have to do A, B and C by COB Friday - you get to actually asses which has top priority, what is the impact of not doing A or B, etc.. And actually gave me some good EE basic for running the data center 'cause when you are able to touch something it costs money when you brake it. Some years forward I had to hire basically blank people with the right attitude, coach them into actually doing anything useful and letting them go in 18 months because what the opportunity that I've given them to have a real live experience allowed them to assume positions with 2x the pay. In fact I was so good in turning my team over in 18 months without nobody noticing any drop in the quality of our work that I ended doing a hiring cycle every 4 months - yes, then 2 to 3 months of coaching and then having them do something for about a year. Needles to say by that time our C level management had decided that Support & Operations is just a cost center and only sales had to be given bonuses and other benefits (yes, another difference with Europe - a benefit is something you receive for free, things that you pay for are called that have no direct translation but the closest one is mob protection money) and because the saw no drop in quality they were keeping salaries the same. So we ended up paying haft the salary of a cable guy for people that were actually trusted with root access and configuration privileges to all but the financial systems - I mean the entire network core, after all that is what they were supposed to do. So I had to hire first year at university, last year of high school guys and gals, that were ambitious, wanted to work for the glory, and for eventually the opportunity to sell themselves with a flying start when it would matter in two-three years when they graduate. And for most of them that mean not relying on their parents for support entirely.
But my point in all this is that I had to pay the price at the end. I had to delay presenting my thesis for BS for one year. I have completed all of my MS curriculum and I am yet to do my thesis 3 years after that. In the mean time I lost my wife due to the fact I had to work and spend for the university close to 16 hours a day, I gained 2x my weight, started having heart issues, etc.. So when DT finally decided to squeeze the lemon of the company, transfer all assets into DT but not the people I had to start as software support. You see, if I went on an interview for a management position they would say - but you were more into technical stuff and operations, when I would go being interviewed for a technical position they would say - yeah, but you were a manager and we need no more managers. So I had to accept a position in software support, something I am really not into, nor I want to. So the price for hiring such people was payed - by me. By loosing good opportunities to grow, and by ruining my health. So the law of conservation of energy is valid.
>>'What if we took kids after high school, train them ourselves?'"
Because, you will be denying them a good bit of personality developmental experience, friendships, networks, and the world being what is is right now, a degree. When your company falls into hard times (dont worry, all of them do) and you lay your programmers off, or move your development into a cheaper country, those 'highschool graduates' will need something gain an entry into the next interview.
are the reason they say IITs do not offer a well-balanced, well-rounded education.
I am an IIT-an btw.
What frigging short-sighted attitude. Those 'high-school kids' need to grow more in this world, as individuals, not just be your sweatshoop coolies fulfilling your limited purpose.
Then you're, by definition of sorts, a college. You're going to have to institute some kind of curriculum, grade the work, and weed out the ones who can't cut it, and then certify the ones who make it through your hoops. That certification is effectively a degree from your organization.
Unlike the NBA, I doubt Zoho pays high school grads the same as it would college grads. Oh no! that couldn't be the motive could it? Cheap labor?
I've lately been mostly hiring kids (late teens, early 20s) with little to no computer experience (in one case somebody who had never turned on a computer before in their life). They're young, but they've mostly got more life experience than usual for that age group. Long story.
I start them off with simple things like maintaining wordpress websites, and then gradually move them on to theming wordpress and drupal sites, basic php development, jquery - and then eventually into out and out developer roles. Once they know one C-like language, they pick others up quickly.
There are specific projects that we've taken on that do, however, require somebody with training in algorithmic design. A person who picked up coding on their own, or through work experience won't have the background to deal with real time systems, resource competition etc etc. Which is why I have a few older team-lead types on staff, with comp-sci degrees.
The thing is though - the vast majority of software developers are working on business applications of some sort or another, and that usually implies an ability to write basic code, some common sense, and the will to document what they're doing. Not "rocket science" by any means.
Short version - We hire wage slaves.
Long version - We hire straight from college to ensure their thinking and work habits are untainted.
I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
I'm tech director in a AAA game company, I haven't finished high school. I can tell you that when I read a resume I just skip the education part. Actually if someone goes on ranting about what he did in school for 2 pages, makes me feel that this person doesn't understand what counts and how irrelevant some tiny school project is. To be a good developer you need passion for what you do, school can't tech you what we need, you need to learn it yourself in your sparetime. I'm more impressed if a guy has made mature open source project than if he has 2000 PhDs. I'm not suggesting to not go to school, is still a good starting point, but fore really skilled programmers is not that important, school is not gonna make you askilled programmer anyway.
Degrees are useless? The guy only wants to pay less, that's all he cares for. Why pay a higher rate for a Ph.D. when you can hire a standard-salary, home-educated slave?
My first comment on slashdot... :)
I agree that having a degree may have little to do with on the job performance.
I think the real reason why vembu likes to hire undergrads and high school students is that they will stick around with his company for 5-6 years at low enough salaries that it makes his business competitive.
The employees cannot obviously leave the company in search of greener pastures since they lack the requisite qualifications and knowing that, they have no option to quit the company, but to perform.
And in India, it is a notoriously difficult to land a job at a software company without a degree. (15 years education) unlike in the west, where you may get a job if you show the aptitude.
Education is not about picking up skills to be used in work. It's about learning how to think and opening your mind to new ideas. Basic knowledge of History, biology, political science, are indispensable in forming well-rounded thought, a sensible and responsible individual, an active citizen. Forming thinking independent of industry interests and moving things forward for humanity in different directions, regardless of industry needs are what education should be all about and it starts at home with the parents.
I don't have a college degree, I dropped out of community college (to raise money), but I have now been programming professionally for over 10 years.
I often hold the title Software Engineer. And I am often work with people who are Comp Sci graduates. But I'm neither an Engineer or a Scientist, at least not to the degree where I'd identify myself as either of those. (Engineering - "the application of mathematics or systematic knowledge beyond the routine skills of practise, for the design of any complex system which performs useful functions." Science - "Accumulated and established knowledge, which has been systematized and formulated with reference to the discovery of general truths or the operation of general laws." Scientist - "One who conducts research.")
Most days I'm a Technician ("a person trained or skilled in the technical details of a particular art or science"). Engineering, to me, has more to do with designing complex systems to meet certain requirements and operate in some real-world constraints, I do that sometimes but it is rare. And Science is about researching and proving new things, which I almost never do(hence my lack of patents). I learn about a complex system, troubleshoot the flaws, and fix them. Which makes me just a Coder.
I have more in common with a night shift clerk who enjoys solving puzzles than I do with a Ph.D.
“Common sense is not so common.” — Voltaire
It depends what you want I suppose. You can take a high-school graduate and teach them how to operate a station on an assembly line in a short period of time, and they'll be contributing to your output of cars, and paying their way, almost immediately. How long would it take to train that high-school graduate sufficiently that they could start designing the drive-train on your next car? Would it even be possible?
The same, I think, applies to software development. On-the-job-training is possible if all you want are programmers turning out simple, generic, DB-backed business apps, or websites and even then you'll probably end up with a mess of unnormalised databases and unmaintainable code. I doubt many high-school graduates could have come up with something like MapReduce for example. How could you run a company that was simultaneously operating as a university, just to get your high-schoolers up the point where they can compete with a Googler with a PhD? Answer: you couldn't.
Amazing that no one has noted that:
1. Indian education is very rote based - especially when compared to the U.S. It kills the ability to question and think creatively more than it enhances it.
2. The high schoolers picked were those that either (A) couldn't afford to go to college or (B) had grades/marks just below a strict cutoff (again, in a rote based educational environment). There probably wasn't a significant difference in their abilities v. a large percentage of those that actually did go to college.
3. comparisons were only over the earliest parts of graduates v. non-graduates careers.
Also, wouldn't those individuals in that society that were given an opportunity like this work their asses off to make sure they succeed, especially considering the bleak alternatives in the 3rd world? Motivation is a very important factor!
What if we took kids after high school, train them ourselves?
OK, I didn't completely RTFA but I agree that degree and programming skills do not correlate. However, I take any degree comes with a much broader curriculum and that training programmers yourself leaves you with employees with limited skills. Perhaps more importantly, there's the risk of creating a monoculture. That would be quite alarming.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
A lot of students that get a CS degree have no real interest in it. They are interested in the money. On the other hand, I've dealt with many developers who do not have a degree in CS but they worked their way into a position because they have a passion for it. Who would you hire?
...flooding the market? There are already too many lousy candidates calling themselves Software Engineer after reading "Programming for Dummies".
Camping on quad since 1996.
I started working as a UNIX sysadmin in 1996. I am going for my Bachelors now - I started off going nights and weekends and am now doing it more heavily. For two reasons - one, many job applications ask for a Bachelors, and even if they don't, HR often asks if I have a degree. My other reason is I always felt lacking in terms of programming skill (and to a lesser extent, OS knowledge). I always wondered about assembly language but never did much to learn it - well, I took a class and wrote Towers of Hanoi in assembly and got 3 credits and an A+. Just one course in Java gave me enough confidence to send in a patch for a bug on a major free software Java project - and it was committed.
Putting aside my ignoring of assembly for so long - I would have never, ever, ever done the studying of discrete math and graphing theory and calculus that I have been doing in school. Yet it allows me to approach projects which I was never able to get a handle on before. Data structures and algorithms which once confused me become clearer - especially complex data structures. And I am still learning.
One of the keys is having great teachers. One teacher I had had us do homework after homework, often just changing around a little what we were doing - we would do recursion with Fibonacci numbers, which was disastrous (which was the lesson), then we would do recursion with something more useful. We also used recursion along with a backtracking algorithm. He was very knowledgeable and a good teacher and his lessons and homework were very enlightening.
The problem with work is there is always such a rush. The business unit wants the code done, the server installed, whatever, yesterday. Then after commuting, 8+ hours at work and commuting again, the last thing you feel like doing is cracking open a book on calculus and doing integrations, or a discrete math book and studying set theory, so as to prepare you for more advanced computer science topics. School is what you make of it - the guy next to me in one of my classes watches the World Cup on his computer screen, I don't see him ten years out as being a programmer making any kind of money, I wonder what he is even doing there. A decently priced state school with a (mostly) good staff can push forward your knowledge.
There are bright people who have succeeded right out of high school, however if they had gone to college they would probably be doing even better. When someone mentioned an algorithm was a (big-O) algebraic one, and could be made better, they would understand what that means instead of stumbling around in the dark somewhat as to what that all meant, as I used to. Computer science is not for "people who do not know how to use computers" - many of my classmates know computers well, are very sharp, and are getting even sharper (admittedly, a few of the other ones I can't see as ever being programmers). Some of my professors are very good as well.
I lived in England and traveled around Europe for 3 years. Great beer, old/ancient cities, and gorgeous women. Everything else pretty much sucked ass though.
Let's see a 25% sales tax rate, $8 for a gallon of gas, houses for 3 times the price at 1/2 the size, electronics, clothing, food, and cars that are nearly twice as much, oh yeah did I forget the cronic 10-19% unemployment rate among adults and 75-99% unemployment rate among teenagers.
Get me a plane ticket I want to move right now!
Most college degrees in the US are pretty much not worth the paper they're printed on. Euro degrees even more so. I think the concept of hiring young people the moment they are legal to work and then train them according to their skills is a long missing concept in society.
All the rest of a "well rounded" education can easily be filled in by watching the discovery and history channels and reading a few books.
US employment rate has consistently been higher than the UKs over the last decade (currently USA 9.3%, UK 7.9%). The youth unemployment rate is 19.1% (2009 figure, latest I could find), almost exactly the same as the USA rate for the same year year. Sales tax (VAT) is 17.5%. Petrol is currently £1.14 per litre = £4.31 per us gallon = $6.53. Food is not double the price - its very hard to compare basics like bread and milk are about the same, other things are a little more. Cars are a lot more, but I think 1.5 times as much for most common models. House prices is hard, £250,000 could get you a large 4-bed house in Inverness or a studio flat in Chelsea. Houses are generally smaller, but certainly not three times the price unless you compare the city of London prices.
http://edububble.com/dpp/?p=511
While many of the PhDs had their degrees funded by the government, they still have big student loans and need to service them. This Zoho guy is smart.
How about realising that it doesn't have to be either or? We have both well-educated aces and selftought aces at our company. Of course here in sweden the latter are much more rare as almost all intelligent people with interests in technology get a higher education, but they certainly do exist and it is a real shame if your company doesn't use them.
College is a mix of vocational training (particularly important for some professions) and personal growth in the "learn to be a good citizen" sense. It's socially irresponsible to encourage people cut back on the latter ...
Ah, a good old "We shouldn't let anyone not properly indoctrinated acquire a power of knowledge or skill" idea. I'd say it is acceptable as long as benefactor of indoctrination ("the society") pays the tuition, and as long as there is choice of avoiding it, for paying students.
Maybe it's just me, but I have always had bad experiences with self taught developers. In my experience, such developers have no concept of structured development practices. They tend to be spaghetti coders who break every rule of good development practices wholesale. They make extensive use of global variables, they see no reason for any kind of documentation, or internal consistency, or for meaningful variable names, and so on.
From what I have seen: the self taught typically learn the syntax of a language, then they just hack away until something seems to work. This method actually works well enough, as long as you are only working with your own code. But when other people have to work with such code, it tends to be a problem.
It's one of the reasons I got out of development. It really sucks to start a new job, and have somebody dump a load of undocumented, spaghetti coded, barf in your lap. Then you are told it only needs a few small changes, and that shouldn't take too long, right?
Except you don't understand that there was a meritocracy based selection process which acted to dampen out the negative aspects of a free for all system.
This is pretty much what a lot of us in the U.S. do not understand, and which is at the root of the matter when it comes to personal student loan debts. Couple that with this pedestrian, quasi-ludite fear of tax-based services (ZOMG, the gubermenmnt took mah money!), and you can see why many of us fail to understand that.
We have a culture that
Put all that together and you can see how we are the way we are. We do have a measure of belief in self-reliance and independence. The idea of depending on a government-sponsored program is abhorrent. We stupidly equate government programs with hand-outs. Ergo people don't have qualms in getting in debt for getting an education.
The unfortunate side effect of this is that:
We don't provide our youth with a chance to explore a vocational trade. Then boom, they are out of HS and we expect them to work as adults. But they have no skills and nobody wants them except as hamburger flippers. The only way out is to get a 4-year college degree, even if that is not what is in their hearts and would be much better off learning a trade.
A fine merit-based, government-paid college education system coupled with equally funded vocational training and a society that appreciates and nurtures the later is what we need.
Unfortunately, that would require a cultural change of a great magnitude. It ain't gonna happen in my lifetime, I'm sure of it.
The scariest thing about all these replies supporting this idea is that it shows how many people without the proper education background work in the industry. (An they all think they are good programmers)
I work for a large IT company, and the department I happen to work in specializes in developing software with niche languages/tools; so developers with experience in those tools are often self-taught, and get hired over educated developers who do not have experience with that specific tool. Of all my colleagues, only 1 has a software engineering degree, all the rest are self-taught. Let me tell you, they are all awful developers (bar and exceptional case), and they all think they are good. I am sure they will tell you we are a "successful" team, but the truth is we deliver software with awful quality. They only reason we have any "success" is because we have an army of testers in this company, and our big name allows to charge insane amounts of money. Things are much more expensive than they should because the code is unmaintainable and full of bugs.
As a developer with a software engineering degree, I was an exceptional hire in that company, within 1 year, I made it to development team leader, over people who have been that company for years, despite not knowing this "niche language/tool" at the moment of being hired. I have had a long and frustrating journey trying to get things straighten out, but there is so much you can do when the people working in your team do no know concepts like good abstraction, encapsulation, decoupling (... I could go on and on.)
Please, do slashdot readers (who are still in high school) a favor: Stop saying you can be great programmers without getting the proper education. By giving that ill advice, you are just perpetuating a problem in an industry in crisis.
This discussion comes up on slashdot a lot: self-taught vs. unversity degrees...
It's a false dichotomy; they're not mutually exclusive. The value of being self-taught is that you have an obvious drive to learn, and a lot of real-world experience. The value of a university degree is that you're going to be exposed to a much broader array of critical thought than the narrow focus that most jobs provide.
The really valuable employee is one who has both characteristics...
Hard and fun are not mutually exclusive. They go together pretty well actually. Real challenge is part of the fun. Artificial challenge imposed by mismanagement isn't.
He'd better not say that too loud or make too much noise about his epiphany or he may just be getting a visit Education Mafia. Can't have millions of "Uneducate" people thinking all they really need is some training in the field they want to be in. That would just bankrupt the whole education system. (Feel free to insert sarcasm any place you like)
I have a college degree in English Lit and became a programmer specializing in C++. I did take a few programming courses, but did not get much out of them. I believe they were poorly taught and the curriculum made no sense to me.
What is funny is that I have been allowed to work (extensively) as a contractor in the defense industry, but they would never hire me as an employee because I don't have the degree! Even more ironic is that I was tasked with interviewing candidates and I was pressured into saying positive things if the candidate had a PhD. I flat out turned one down because he told me that he didn't like programming and thought that using templates and exception handling were evil because he'd had "a bad experience with them." I gave another PhD candidate, who had theoretical knowledge, but not much experience the go ahead. She was a terrible programmer, and insisted that people use the title of Doctor, when referring to her. Colleagues complained about her and asked me why I had approved her. As I said, I was pressured into approving PhD candidates.
Interesting that someone would actually come to this conclusion. I am certainly glad to hear someone conclude that a degree is not required to be successful in a given field. I personally am one of these people. I started learning programming (started on C++) at the behest of my brother who was in school for Computer science. This was in 1999. Since then I have learned C++, VB, C#, Java, PL/SQL TSQL, PHP, and others. I worked for a major defense contractor (7 years) and currently work for a bank (3 years) in this capacity and I believe I am well respected - if my performance reviews, compensation, and personal accolades are correct. I am not trying to knock those who have degrees, but I do believe that you can be successful without it and I don't believe that the degree makes you any better than anyone else with a passion for the work and the desire and discipline to learn it. In fact, the biggest problem I have with people who put a lot of respect into their degree, is that they seem to have a sense of entitlement and therefore show poor work ethic and lack of respect for their peers: especially those who they feel have lesser "qualifications" (lesser degrees or no degree) than themselves.
This is the delusion of the American neo-conservatives. The truth is he doesn't pay more taxes than the average American (or not significantly more so). It ties in perfectly with the "american dream": "If you work hard enough you to will be rich." (if you're an American and you're not rich yet it's your fault: you're just not working hard enough. It's not corporations and government (bought by said corporations) that are screwing you, you just have to work harder. Oh and don't forget to do as you're told and vote for your local neo-con, so he/she can go to Washington and can continue represent your local corporate interests.
The difference is his country is spending money on educating their citizens, rather than spending billions on subsidizing an entire military industrial complex. His country is also not spending billions on bailing out banks that squandered our money after lobbying the government to deregulate the banking industry, and then proceeding to prove why the original regulation was there in the first place.
My guess is that in his country voter participation is higher than 50% and that they vote for what is in their interest (not in corporate interests) likely his countries government isn't as bought because the politicians know that they'll get tossed out on their asses if they
don't listen to voters (who haven't been brain washed to vote against their best interests).
BTW Hint, hint: If you make an average middle class income or less, you get significantly more benefits (child care, education, health care, labour rights, etc...) in a social democracy then you pay in taxes, since most tax systems are generally progressive (aka the more you make the more you pay, http://en.wikipedia.org/wiki/Progressive_tax ) . The Europeans have figured this out and are active voters and think for themselves (for the most part) which is why the have 35 hr work weeks, 6 weeks vacation, free health care and almost free education.
The wealth a society creates can be divided more evenly, rather than being concentrated in the hand of the few.
This training program only has some merit in the absence of free education for everyone, in that it offers those with little opportunity to begin with a faint hope clause.
Otherwise its just the start of a pyramid scheme. Aka we'll pay you a few dollars to bust your as and learn on your own --> then if we think your good enough we'll let you work for us for 80+ hrs / week --> after that "if you work hard enough you can become rich" --> most likely though we'll burn you out and throw you away like used toilet paper. After all we have an endless supply of new kids to feed to the "training mill". Sounds a lot like the "American Dream" (Scheme) recycled.
Bend over and we'll help you help us screw you for profit in exchange for faint hope.
----- "Profanity is the one language that all programmers understand."
Can we all agree here that there are some people who benefit from college, and some who do not?
Also that our species would be far better off if people who excelled in their fields were the ones designing curriculum and/or directly teaching those who would follow in their footsteps?
There are a lot of colors in the spectrum, people-- a lot of ways to pursue truly great achievements, a lot of ways to coast through life, a lot of ways to fail. And you can do any of those things with or without going through the deeply flawed system that is higher education as we know it today.
I, for one, am ready & willing to learn to become a great programmer, and would desperately like to avoid the hell of wasted time & energy that would inevitably make up the majority of a degree-getting process-- but who will take me seriously enough to give me a shot at learning what I so deeply desire to know without me first proving that I can perform stupid tricks like mute beast for years & years?
Honestly, I find the whole subject depressing-- it makes me want to just give up and play my guitar on a street corner with a cardboard sign while keeping myself continuously altered enough that I can enjoy simple pleasures & entertainments without that annoying sting of regret for what might have been.
I wouldn't say that too loud around the office. If there are a lot of people like you in the business, it may explain a few things about the quality of some of the games. :)
I piss off bigots.
A college degree is just another way to market yourself. College degrees really aren't all that useful, as most of the classes you take are electives that you won't care to remember anything about, and the important stuff is usually outdated by the time you are in a real job. So yeah, college pretty much just shows you have the dedication to go through 4 years of bullshit, meaning you may be more reliable than someone who dropped out of college after a year or two. It doesn't mean college students will be smarter.
After all, there is nothing that you can learn in school, that can not be taught by other means. And there is no formal credential that absolutely guarantees competence.
Software development can be life-and-death critical. I know this because I used to do software development for a blood center. Get a mislabeled unit of blood, and you may never get off the operating table - not alive anyway.
So why require licenses for doctors, lawyers, accountants, truck drivers, electricians, airline pilots, or whatever? Not that long ago, none of those professions required a license, or even a college degree.
Isn't Zoho aware
"Experience is the name everyone gives to their mistakes." --Oscar Wilde
I'd like to buy homeland for our 10 million people. http://twitter.com/mahadiga
For getting past HR, a degree is still the way to go. We all know that HR are clueless bastards, but you have to play the game if you want the prize.
After these kids leave Zoho, they may face problems finding work.
Table-ized A.I.
I once was the technical lead at a place where a CompSci degree (advanced preferred) was the norm. The project staff became divided into two groups, one which was the in-house staff with CompSci dgrees and those without (the division ocurred because in-house staff where administratively untouchable, resulting in that group being assigned their own code chunk to program anyway they preferred).
The CompSci degree'd inhouse(Insiders) staff advocated what they had worked with and championed techniques that their educations had given them. The outside (Outsiders) consulting staff were hired primarily because they had needed to learn programming on their own to get specific tasks done. The outsiders were goal oriented, the insiders were means oriented. None of the Outsiders had degrees in computer science, some had partially completed college degrees. Outsider degrees areas were electrical engineers, linguistics, sociology, and business real estate.
The Outsiders developed extremely robust debugging/optimization techniques which resulted in error-free code generation rates of about 150 statements per working day of productivity and had a debugging system built-in to a macro pre-processor that allowed anyone to quickly find and eliminate bugs. The macro pre-processor had debugging modes from trust nothing (testing new code) to minimal checking (for production executables).
The Insiders had very low code productivity where everyone did their own thing. Only the Insider who wrote some code could effectively develop it, resulting in major problems when Outsider code depended on Insider code. One memorable bug in Insider code took three weeks of intensive effort by the Outsiders to find where in the Insider code an error actually was.
The Outsiders controlled all of the interfaces, so they could permanently have code that never trusted any Insider code which resulted eventually in all Insider errors being detected as data structures and their contents were always checked coming and going between Insider and Outsider coding.
The net result was a 250,000 statement program (about half of which as comments) which ran for five years without a progamming error being encountered by end-users and which performed at near assembler-code performance levels (the system was developed pre-C era in Fortran) by taking advantage of compiler optimization techniques and replacement of most subroutine calls with in-line code.
Experience since then has indicated that programmers advocate what they have been educated in (e.g, inve$ted in), what they have used, or what is currently being paid most attention to by the trade press or coporate decision makers. The best programmers have turned out to be persons who learned programming to get something else done; the worst programmers where those who were defending the validity of their resume/C.V.
That experience has lead to the conlusion that most programming systems and languages do not place a design priority on maintainability by someone other than the developers. Also that most developers have minimal knowledge of cost-benefit trade-offs and related business matters.
Another major cause of problems is that top-level management being sold on operating system/development system/language/etc. combinations by very capable sales forces and hiring persons with experience in that combination whether or not it is doable.
The result of this is a very bad completed as initially budgeted and featured as initially promised record.