5 ms·
People confuse entry level programming with true computer science. I'm sorry, but there is no way a few months at some "hacker school" will replace a four year
by USNetizen 12y ago
People confuse entry level programming with true computer science. I'm sorry, but there is no way a few months at some "hacker school" will replace a four year degree heavy in mathematics, theory and design.
Schools like these are producing mediocre coders, at best. Which is fine if you just want to write a few small apps. But you REALLY need that CS experience and education to effectively work on large scale engineered systems. There is no way around it.
On a side note, I also got a CS degree debt free. I served my country to get it. People want so much for nothing - there are no true shortcuts in life.
- ericcholis 12y ago> On a side note, I also got a CS degree debt free. I served my country to get it. People want so much for nothing - there are no true shortcuts in life. I'd argue that you paid a higher debt in some ways. Glad to see that it paid off though.
- woah 12y agoActually, CS degrees have little to do with programming skill. I work with hacker school graduates that write cleaner more maintainable code faster than others with CS degrees and 20 years of experience. EDIT: Actually, the fact that you mention "large scale engineered systems" is interesting. Generally, I have found large, monolithic, tightly coupled systems to be very unmaintainable. "Building a small app" (or a bunch of them), along with in-house libraries tends to be the way to go if you want maintainability. "Building a large scale engineered system" might actually be a red flag when it comes to code reusability and quality.
- USNetizen 12y agoThat is your social proof. Try passing one of these hacker school grads off in an engineered environment at Google scale - they fall apart quickly. You proved my point, though. Programming is only one small aspect of computer science. Engineering, mathematics and theory is the biggest part which you can't get at a 6 week school.
- this2shallPass 12y agoIt would be helpful to hear about your proof, social or otherwise.
- woah 12y agoAbsolutely, if your job is to write search algorithms you definitely need a CS degree (and it'd be great if you have a math degree too). But I'm talking about the day to day app dev, where craftmanship matters a lot more than algorithms.
- nostrademons 12y agoI worked at Google, in Search. Some of my best co-workers studied Film Studies, Philosophy, never went to college, or toured with a punk rock band in their early 20s. A CS degree is one way to learn about algorithms and core CS concepts. It is not the only way.
- toomuchtodo 12y ago> A CS degree is one way to learn about algorithms and core CS concepts. It is not the only way. This is a dangerous idea to those who spent 4-6 years of their life in school before they started receiving real life experience.
- robotkilla 12y ago> Engineering, mathematics and theory is the biggest part which you can't get at a 6 week school Agreed. Sadly lots of people are getting sucked into the start up tech bubble. Sure you can get a really high paying tech job on limited knowledge as a web developer at some shitty start up, but it might be gone tomorrow and you'll find yourself SOL. Having gone the no CS degree route myself I can say that I find myself in a constant loop where I have to prove my abilities even with the recommendation of former bosses and a nice resume.
- Lawtonfogle 12y agoI've met individuals with one year experience in doing something the wrong way, 20 times. I think the CS degree will prepare the right person to be a better programmer while letting the wrong person slide through. So it may be that the hacker school doesn't prepare the right person as well, but works far better at quickly culling the wrong person, meaning they would be the safer choice to hire from.
- USNetizen 12y agoI think you haven't worked much in enterprise environments. You confuse "monolithic" with engineering. Nowhere does an engineered system have to be "tightly coupled" ... I think you could benefit from some of that CS education to see what I mean. You're confusing "engineered," as in orderly, organized and planned according to specifications with "legacy" systems. A little more time in industry will show the difference.
- crimsonalucard 12y agoI've met these hacker school/self taught types. One of them worked as a programmer for 20 years and didn't know what was recursion until about a year ago. He gets away with it because in programming there are many ways to solve a problem. Usually you only need to solve the problem rather then find the best way to do it. A CS graduate will know about a 50 ways to solve a problem and will have the ability to find the most optimal way to do it. He'd probably take twice as long as the hacker school graduate who'd solve the problem using the one canned method he was taught in hacker school.
- toomuchtodo 12y ago> He gets away with it because in programming there are many ways to solve a problem. Usually you only need to solve the problem rather then find the best way to do it. "Getting away with it" == using another solution. > A CS graduate will know about a 50 ways to solve a problem and will have the ability to find the most optimal way to do it. He'd probably take twice as long as the hacker school graduate who'd solve the problem using the one canned method he was taught in hacker school. Disagree. I rarely find someone with a degree to be substantially better than someone self-taught on the job. I've even seen developers with degrees do far worse.
- crimsonalucard 12y ago"Getting away with it" == using another solution. Not knowing recursion for 20 years is more "getting away with it" then just simply "using another solution" >Disagree. I rarely find someone with a degree to be substantially better than someone self-taught on the job. I've even seen developers with degrees do far worse. Sure in jobs where the most optimal solution doesn't matter there is no correlation with performance and degrees. This is probably the case for many jobs. However for a job where it does matter, say the programmers behind the V8 engine or people implementing Ruby and the python features, a degree or knowledge about theory makes a huge difference.
- toomuchtodo 12y ago> Sure in jobs where the most optimal solution doesn't matter there is no correlation with performance and degrees. This is probably the case for many jobs. However for a job where it does matter, say the programmers behind the V8 engine or people implementing Ruby and the python features, a degree or knowledge about theory makes a huge difference. Its disingenuous to think everyone needs to obtain that level of knowledge, at substantial cost, when only a few are going to use that knowledge in the scenarios you described. Not everyone needs to know how to create programming language or write a complier. We should not look down on those who are bootstrapping themselves in the industry without the exorbitant costs of a CS degree lest we retreat to the mindset of ancient guilds.
- rnovak 12y agoI cannot agree with this comment more than I do. Also, thank you for your service.
- th0br0 12y agoThis comment reminded me of http://www.nytimes.com/2015/02/22/sunday-review/please-dont-thank-me-for-my-service.html http://www.nytimes.com/2015/02/22/sunday-review/please-dont-...
- deleted 12y ago[deleted]
- deleted 12y ago[deleted]
- duaneb 12y agoThis is crap. Yes, CS has important theory you won't learn about in "hacker school", but it's not like the (ridiculously expensive) education itself is necessary. Everything you need is on wikipedia and stackoverflow.
- Kalium 12y agoIn theory, you don't need college to learn much of anything. In practice, few people are going to correctly teach themselves discrete mathematics within a reasonable timeframe.
- duaneb 12y agoI disagree. I'm not sure what the added value of college is aside from graded evaluation.
- Kalium 12y agoA graded evaluation is valuable, agreed. I submit that instructors, peers, and an instructional environment are also of value in aiding the learning process.
- duaneb 12y agoAnd yet, people do not go to college for an education, they go for a degree. Which is useless for determining education.
- Kalium 12y agoThe degree is evidence of a graded evaluation, which is a proxy for education. Despite some propaganda to the contrary, it is not a zero-correlation proxy. Also, I don't know about you, but I went to college for an education. Which I received.
- patio11 12y agoFWIW, I'd self-assess at top 20% of my CS class (WashU), and I can say without reservation that as of graduation day it would have been rank insanity to have me coding on a production system. There are occasional times when the book learning comes in handy, but CS degrees are, in my experience, neither necessary nor sufficient to develop ability to ship working software.
- USNetizen 12y agoYes, to ship working software you need nothing - high schoolers do it. But to MAINTAIN and ENGINEER an efficient, secure software system (especially for enterprise environments), you need CS fundamentals. These CAN be learned on the job over several years of work, but no 6 week school can teach you them overnight.
- nostrademons 12y agoI might be misreading this, but I read patio11's comment as "Even if you have CS fundamentals, you are still woefully unqualified to be working on production software. The ability to MAINTAIN and ENGINEER an efficient, secure system HAS TO BE learned on the job over several years of work." This squares with my experience as well. I have a CS degree from a good school, but switched into it in my last semester after self-teaching myself much of the content while avoiding my physics homework. My first job out of college had many coworkers who had graduated from MIT; none of us knew what we were doing, as far as creating robust maintainable systems, and we needed senior engineers who had actually built stuff (regardless of where they went to school) for that. I've since worked at Google, founded a couple startups, written about a dozen programs from scratch (some of which got used by millions of people)...and found that while I use my CS fundamentals occasionally, the bulk of the know-how on how to engineer a maintainable system comes from actually doing it, over and over again, and dealing with the consequences of my missteps.
- patio11 12y agoTotal agreement.
- robotkilla 12y ago> CS experience and education I will add that the experience and education can be gained outside of a classroom. I managed to teach myself everything I know and have been a valuable employee at various large companies in a major US city and I never attended school (see previous comments). In the end though what I really did was get lucky that I was born a fast learner.
- Dewie 12y ago> On a side note, I also got a CS degree debt free. I served my country to get it. People want so much for nothing - there are no true shortcuts in life. And if there were, I'll bet people like you would feel pretty cheated.
- afutd 12y ago> I served my country to get it. Served the intersts of the military industrial complex maybe. Killing random people on the other side is not of any use to the rest of us.
- xlm1717 12y agoI want to start by thanking you for your service to our country. But knowing that, your elitism in the rest of your comment is even more confusing. Not everyone is going to work on large scale engineered systems. Even companies with those systems are gonna need cheaper mediocre coders to code the app that uses the engineered system as a backbone. So what if a few months at hacker school won't replace a four year degree in CS. Take as much or as little schooling as you want, as long as employers are willing to pay for your skills.