9 ms·
Flash was one of the first tools I ever started programming for. Today I work in AI. This article is a thinly veiled advertisement for bootcamps, spouting this
by codesushi42 7y ago
Flash was one of the first tools I ever started programming for. Today I work in AI.
This article is a thinly veiled advertisement for bootcamps, spouting this nonsense:
The “learning-by-doing” approach in the Flash workers’ scenario highlights the value of coding schools and boot camps designed to teach students in-demand skills in as little as eight weeks. And whereas traditional educational environments tend to view their curriculum as having an end date (generally aligned with their students’ graduation), Lambda School co-founder Austen Allred envisions students coming back to his coding school every eight years or so to learn new skills.
No. What will give you longevity is a degree in CS. Frameworks and technologies change, but CS concepts stay consistent.
If you have a good grounding in CS, you have longevity. Couple that with a good math background, and then you have even more possibilities.
Bootcamps are rubbish in the long term. They try to lure you in with quick results from little time investment by teaching you how to hack with the hip framework of the week.
I have been there, done that, having gone to a polytechnic school where I learned Flash + web dev. I later made the switch to a university to study CS. One of the best decisions I ever made.
Don't fall for the trap of instant gratification. Learn CS (and math) with a formal education, and you will thank yourself years from now.
- austenallred 7y agoLambda School is 9 months long full-time (~2000 programming hours) and includes CS fundamentals. The assertion that those things must be taught/learned within the confines of a CS degree is a little silly.
- codingdave 7y agoTrue, but the assertion that 9 months of a bootcamp that includes "CS fundamentals" is the same depth as 4 years of CS study is also a little silly. They are different beasts, for different purposes.
- lonelappde 7y agoAn undergrad degree is only 18months (2 yetas minus summer) in a major, not 4years. And some of that is not-particularly-relevant electives. And if you already have a college degree you might have some overlap with the major.
- track_me_now 7y agowell all those courses that aren't comp sci are still part of a degree, still require learning skills and still promote university-level thinking and production. I think bootcamps actually demand a far higher rate of output and often at a very high level within specializations. The problem is I don't want to hire someone who can crank out bleeding edge framework code 20 hrs/day for 6 months.
- austenallred 7y agoAs someone who dropped out of college after the first two years (before specializing in a degree), I'm not sure "university-level thinking and production" is actually meaningful.
- barry-cotter 7y agoIt isn’t. It’s like transfer learning generally, despite decades of research trying to find it there’s no real evidence for it. Learning Latin barely makes you better at learning Italian, never mind reasoning. People learn what they’ve been taught and overwhelmingly don’t generalize. University level work in physics, literature and chemistry are so different as to have basically no overlap. University level is as meaningful as high school level in a world where Calclulus II tells you the course covered calculus and is otherwise uninformative.
- username90 7y agoPhysics and chemistry has plenty of overlap, you even have physical chemistry and chemical physics.
- 7y ago
- austenallred 7y agoStudents don't study CS for 4 years full-time. They study CS modules for 18 months, some of which are things like chemistry and physics and pretty unrelated to CS (though valuable things to learn generally) and only a part of a day in each. You're not actually going 8,000 hours on CS - nowhere close to it. If you spent time looking at how much time students spent (in and out of class) on CS and math topics, it's way less than you'd assume.
- codingdave 7y agoWell now I'm curious. What are you assuming that I'd assume? FWIW, I assume little. I have a degree and know the effort that went into it, and am well versed in how courses are distributed in and out of your major over 4 years of study. I'm not engaging in this discussion to say one is better than the other... I'm saying they are different. Different schools, for different purposes, serving different people.
- austenallred 7y agoFair enough. I'd guess on average 500-800 hours spent actually studying and writing code in CS-related topics & math.
- learc83 7y agoThere is a saturation point for learning. A 1 year program where you spend 20 hours a week studying a subject is not equivalent to a 3 month program where you spend 80 hours a week studying.
- austenallred 7y agoThat's not what the research shows, given a properly structured learning environment. Research actually shows the losses are much greater due to context switching than to saturation.
- learc83 7y agoPlease show me the research that says there is no saturation point to learning.
- anon9001 7y agoWhat exactly is the purpose of a CS degree? If you go into your CS degree as a young hacker, adept at *nix with a penchant for assembly language, with enough experience to appreciate the CS concepts, you're going to be disappointed. There's a strong chance that you'll know more than the professors. Alternatively, if you go in knowing nothing and really work hard to sponge up everything the degree program wants to teach you, you're going to think you've learned something but you won't actually leave with any useful knowledge. You'll have dated and often half-baked understandings about how computer systems should theoretically be designed. You might have an idea how a basic OS kernel works from your OS class, or how to write a sorting algo from your data structures class, or maybe a parser from a language design class. None of that is useful at all, other than maybe to get you interacting with your machine, in the hopes that you'll learn how to use a computer (which is a completely different set of knowledge) by the time you graduate. And if you did ever want to write your own programming language, you can throw out everything you learned in class and start over by Googling it and following the best practices of today, like we do for everything else. The only point I can see is to be able to say you have a CS degree, and hopefully that's losing value.
- zests 7y agoIf someone with no working experience knows more than the professors then they go to a poor university.
- bshimmin 7y agoComing from a strong hobbyist background, I did a "conversion" master's in computer science at a decent university, and definitely knew more than the professors on the topics that I already knew about. I didn't know anything about SDLC or requirements engineering, for example, though, so from that perspective a good third of it at least was very useful (and at the end of it I had a lovely qualification and had spent a generally enjoyable year, so I can't really complain). (This was slightly longer ago than I'd care to admit, so maybe things have changed... I would expect it's still something of a case of "YMMV", as we used to say.)
- 7y ago
- codesushi42 7y ago9 months is short, and far less than that is spent on teaching CS. So yes, a CS degree would be far more comprehensive. A bootcamp is not a substitute for a CS degree.
- mdellavo 7y agoa cs degree is going to require you to cover a lot of math, which is required for cs proper. a bit of an apple and oranges comparison
- scarface74 7y agoIf the purpose of the degree is getting your foot in the door at your average corporate dev job - it’s good enough for most people.
- leonidasv 7y agoAlso, you can learn fundamental, intermediate and even advanced topics on CS without a formal degree via MOOCs, like the ones offered by Coursera - some of them taught by professors from universities that you may not even have the money/time/grades to get in for a formal degree. I was thinking about attending to a CS undergrad course some time ago, but since I'm full-time employed at a very big ("unicorn") startup - an opportunity too good to be wasted -, I opted to take some classes on advanced topics such as Discrete Optimization and Automata theory on Coursera . It has been the best use of my spare time ever.
- tempsolution 7y agoSorry, but it is IMPOSSIBLE to learn the CS fundamentals in 9 months. Period. What you may be able to do is to teach people how to game interviews within 9 months, sure. Good luck once that performance review comes around... I was very interested in math and theoretical CS. It took the whole batch of students, including the ones in honors math bachelor a good 2 years of daily intense study alone to get the basic feeling for math straight (I was part of the IDEA league program in Europe and I would consider my CS studies among the best in Europe, especially when I see what students come out of Berkeley and Toronto). Then it took at least another year or two of algorithm studies to properly deal with algorithms and data structures. Also note the exam failure rate of about 90%. Sure, you can hack some knowledge together in 9 months. But it is biologically impossible for the brain to properly learn these things in 9 months. If you can do it, you are a genius and your talents are completely wasted in this bootcamp. You should instead apply for a PhD in astrophysics at MIT or something and start contributing to mankind...
- icelancer 7y ago>> biologically impossible for the brain to properly learn these things in 9 months [citation needed]
- colmvp 7y agoI mean is that really a controversial statement? I've been doing self-studying for the past few years and there's no way I could possibly truly learn the bulk of CS in only nine months. Every skill needs many hours of practice and the brain needs time to process information. Unless you're part of the 1% of people who are extremely quick learners and have profound memory retention skills, most people need a lot of time to comprehend complex topics. It's not pure coincidence that some of the best performers of a lot of subjects started when they were young: by the time they were in college/adulthood they already had thousands of hours of practice.
- austenallred 7y agoCould you learn all of computer science in nine months? No. Could you learn the necessary CS fundamentals that are included in a CS degree in nine months? Nine months of Lambda School full-time is virtually equivalent to the amount of time you'd spend in the CS portion of a four-year CS degree.
- vonseel 7y agoI can’t imagine why I would need or want to go back to something like this every 8 years. You don’t see people going back to university and relearning other trades every 8 years. Hopefully changing technology will be learned on the job as needed.
- neogodless 7y agoYes - I was super disappointed by the last two to three paragraphs. Was there any research there? Some evidence that these coding schools and boot camps actually provide value? I didn't finish my computer science degree, I've never done a single boot camp or coding school, and I used to write ColdFusion before moving to VBScript / Classic ASP. Talk about obsolete! But I learned VB.NET and C#. I migrated to HTML 5 and CSS 3 and through jQuery and newer JavaScript libraries. Now I'm a Node.js developer. Go figure! My "learning by doing" has nothing at all to do with any formal education, least of all the aforementioned boot camps!
- ravenstine 7y ago> Bootcamps are rubbish in the long term. That statement is rubbish. An education in CS will get you certain things, but your career is what you make of it. If you(hypothetical person, not OP) go to a bootcamp expecting to be handed a career on a silver platter, then you're a moron. Yes, there are plenty of those morons. I knew some of them when I went to Dev Bootcamp. And they were the types who didn't take charge of their careers, work on their people skills, go to meetups, interview like mad, etc. They got exactly what they put into it and either floundered or ended up in a different career, and I don't begrudge them for figuring out that the field wasn't for them. Going to a bootcamp was a turning point in my life, and I'm making six figures working on a high profile app 6 years later as of this month. I know others who went to my bootcamp, didn't have a degree in CS, and are way more successful than I am. But it doesn't even matter if someone goes to bootcamp; they can learn entirely using free resources, and their inner drive is still the most important variable in their future success. Is having a CS degree better? Maybe it is. But your post is telling people, who may be the perfect type of person to go to a bootcamp, that bootcamps are junk and are short term gratification. That's asinine. By the way, what makes you think that your knowledge in CS and AI are going to be applicable in another decade? You have a good shot, for sure, but if there is a revolution in AI that changes the field fundamentally, or if(when) computers begin programming themselves, then you are just as screwed as someone whose framework or language of choice has become obsolete and dead. Tech stack might go out of vogue? Then fucking learn another one. Your language is going the way of COBOL? Then fucking learn another language. The end. You don't need a formal education to do that. The only reason anyone is in a bad situation because their skills became obsolete is because their ability to predict the future sucks and they couldn't or wouldn't learn new things fast enough. Most languages aren't even that different, and there's a TON of replication between frameworks, libraries, compilers, VMs, etc. I'm not trying to disparage your background in CS. I commend you for it. No matter what, there will always be people who are too inept to adapt. CS will only help those who have a calling for it, but no matter what, if someone doesn't have that fire within them that's going to take them where they want to go, they're an accident waiting to happen.
- codesushi42 7y agoI'm making six figures working on a high profile app 6 years later as of this month 6 years is not really long enough to measure longevity. Is having a CS degree better? That's exactly what I'm saying. Your time and money would be better spent on getting a CS degree if you are concerned about career longevity and opportunities. By the way, what makes you think that your knowledge in CS and AI are going to be applicable in another decade? Because general CS knowledge stays consistent. This is almost like asking whether broad subjects like math, chemistry, physics etc. will be relevant years from now. Yes, they will be. If you are asking this question, then perhaps you should reevaluate what you think CS is. If AI reaches the point of becoming self aware and writing code, then we're all out of work. I'm not too worried about that happening.
- siquick 7y agoMost dev jobs in my experience rarely need much CS knowledge past data structures and the odd basic algorithm. This may be different outside of the top tier companies but they makes up a small part of the working world. Being a good person to work with, ability/desire to learn stuff, cool head when things go wrong, and being reliable are far more valuable once you've got that basic CS knowledge.
- moksly 7y agoI’m not sure where you are, but in Denmark this is absolutely not true as most companies and organisations don’t even go over your resume if you don’t have a degree. I know this isn’t popular on HN, and maybe things are very different in places where education isn’t free, but I’m fairly certain we aren’t the only country to do this. The jobs themselves don’t usually need much CS knowledge, as you point out, but the degree is an entry point because it gives employers a certain form of safety. I know, I know the HN mantra of “weeeell you can get a CS degree and suck”, but the reason practices are like this in my region is because the companies who followed it did better than those who didn’t.
- onlyrealcuzzo 7y agoCan you show me a double-blind controlled trial of companies that interviewed only CS grads vs anyone? I'm pretty sure such a study does not exist. So I'm pretty sure you can't make claims like that with any confidence. There is MOUNTAINS of research at Google which cannot be shared externally that shows -- despite all of our efforts -- we are hardly better at selecting candidates through interviews than flipping a coin. There's also a ton of research by Amos Tversky at the Israeli Air Force that suggests similarly. That's where Google got the idea to try to measure this, and how we got our "strange" interview process.
- deleted 7y ago[deleted]
- deleted 7y ago[deleted]
- discordance 7y agoI see value in learning CS, but not the degree/university part. University has become a business and is causing long term strain on society through debt. I think bootcamps attempt to fill this, although maybe less so for CS/maths fundamentals. Online course work seems good, but the social aspect of having a physical space to go to, meet and collaborate in is what's missing. Any ideas for how to solve that?
- Smithalicious 7y agoThis is a weird post. A CS degree and programming bootcamps aren't mutually exclusive. I'd say they're not even really comparable. There's many reasons why a CS degree would not be a good fit for someone. Some people just don't perform well in an academic environment. Some people simply don't have the intelligence required for that kind of education; not all tech workers are "software engineer", there's "tech workers" stretching from PhD level all the way to near minimum wage. Some people might not have 3 or 4 years of time to spend on a CS degree. Some people might not be able to afford a CS degree, depending on where they live. Basically, I think your post just mentions a lot of the positives of a CS degree (without mentioning any of th negatives), and then somehow uses this to conclude that "bootcamps are rubbish" without actually saying anything about bootcamps themselves, as though there's a binary choice between the two where both options are always equally viable.
- yabadabadoes 7y agoI don't see how you get that conclusion. The OP seems to be saying bootcamps alone are insufficient and a poor choice for someone who will not be able to get a degree and wants career longevity. I've worked with a lot of people from the technical skills but no tech academics portion of the tech field. If they want to work in tech support or IT then it is not such a bad option, but that isn't really what bootcamps are trying to prepare them for.
- scarface74 7y agoHow much good do you think that my CS degree from an unknown state college in 1996 has actually done me compared to keeping up with the latest tech, doing Resume Driven Development and staying buzzword compliant?
- yabadabadoes 7y agoHaving any STEM degree from anywhere has probably lowered your risks of a gap (or level drop) and potentially permanent drop in salary considerably, with more for it being in CS. The degree also gives you options like embedded or government positions that are pretty much unavailable without a CS (or EE) degree and have less change, making better per hour compensation if you don't like working more than 40 hours, 32 hours, 20 years for a pension? You certainly can compete with all the people without degrees where they can make as much total compensation as someone with a degree by going with the most instable parts of the field. But that competition will sound exhausting and the level you put in will be exhausting your other options in life while still probably being less energy than the bootstrap-only graduate.
- molteanu 7y ago> If you have a good grounding in CS, you have longevity. Couple that with a good math background, and then you have even more possibilities. I think you've just described the 1% of programmers out there. For the rest, it's bootcamps and stackoverflow. Unless we're still deluded that any software developer is as good as any other just because they happen to have the same title on their contract papers. And yes, I agree with what you're saying.
- langitbiru 7y agoI agree with your statement: "If you have a good grounding in CS, you have longevity. Couple that with a good math background, and then you have even more possibilities." But I disagree with your other statement: "Learn CS (and math) with a formal education". You can learn CS from internet. https://github.com/ossu/computer-science https://github.com/ossu/computer-science https://teachyourselfcs.com/ https://teachyourselfcs.com/ In the first link, it is said you need roughly 2 years to master core CS. Actually, I have a wild fantasy. I build a startup like Lambda School but it is not supervised. So I give money to motivated students. This money cover their living cost for 2 or 3 years, internet, and a decent laptop. They have to spend 10 hours per day, 6 days per week to learn CS. After finishing the study, they can repay back my money with some interest (capped to a number) only if they find a proper job. If they can not find a proper job for 5 years, the debt is forgiven. But this is just my wild fantasy. :)
- deleted 7y ago[deleted]
- ChuckNorris89 7y ago>I agree with your statement: "If you have a good grounding in CS, you have longevity. Couple that with a good math background, and then you have even more possibilities." Maybe in the US or SV but in Europe nobody outside research, academia and archaic engineering companies where a degree is a form of signaling, care about your degrees. In tech here, unless you have x years experience in the latest tech(.net, typescript, Node, etc.) you ain't getting any job regardless of your CS degree. Edit: not sure why I'm being downvoted, I'm only expressing my experience on the market here in Europe as a engineer with 6 years of C&C++ experience, with BS in CS and a MS in Embedded systems, and web shops have declined to interview me citing I don't have enough experience with the latest web languages and frameworks. Perhaps people feel that ageism and obsolescence won't happen to them.
- pjmlp 7y agoI guess I only worked for archaic engineering companies then. Outside a couple of startups with dubious prognostic of success, I never saw a CV going through HR for IT department without having higher education degree, with the exception of technical students. And in most European countries one doesn't get to sign Engineer on formal documents (from law point of view) without the proper tile certification.
- Mandatum 7y agoI understand YMMV for all statements, but I'd love to understand why CS is needed for.. 80% of programming jobs. We mostly write CRUD apps to fulfill some sort of business or project function. If we're not doing that, we're trying to make two or twenty different systems work together. If we're not doing that, we're developing CRUD interfaces for our databases with some business or project related logic that can be executed programatically.. None of this requires a CS degree. Design and architecture doesn't. Testing doesn't. Implementation doesn't. I don't write embedded firmware for IoT blockchain roundhouse kicks.. I write Java/.NET/PHP/JavaScript/Python code to make CRUD happen faster.
- GuiA 7y agoOne of my first senior engineering roles was making what was at first a CRUD app to support user studies and data collection. At some point the project blew up, and requirements grew many fold in complexity. My CS background let me view the problem space from a broader perspective, and I ended up building what was essentially a spreadsheet based DSL so that user study designers could define what were, under the hood, state machines that covered pretty much any scenario they could come up with. The workload increased by 50x, but the system I built only needed a couple engineers to maintain and add features to. I hate to sound cocky, but I think any engineer without a formal CS background would have attempted to solve each case on an ad hoc basis, either greatly delaying the project at best, or fucking it up irremediably at worst. I have many examples like that. Perhaps in all of the examples you cited, you’ve inadvertently cost the company 10 times the time or the money that a more methodical engineer with a theoretical background would have. You don’t know what you don’t know, and that’s the difference between an engineer and a technician (a distinction that the US doesn’t tend to make, but some other countries do).
- Double_a_92 7y agoI can't really point out what exctaly it is, but it did make a difference for me. I did a did a 4year apprenticeship in IT and Programming before deciding to go to college. It was all fine, could do real coding for a good company. I knew the syntax of a few languages, database design, uml, some basics of how webservers work,... But it didn't feel proper. It was more like a lot of things, but only superficially. College on the other hand felt much more in-depth. I was really given the time to properly understand the things I was doing. Even the "maths" bits helped. E.g. vector maths changed the way how I reason about little unrelated things sometimes.
- collyw 7y agoBootcamps get a bad rap on here, but for experienced developers I could actually see them being fairly useful. There is quite a difference between training an experienced developer in a new language / framework than trying to bring someone from zero knowledge to an employable level of knowledge. As for CS fundamentals, the only time I have needed to implement a sort algorithm was at university and in some interviews. Not saying that it's all bad, it is useful to understand the underlying principles but there seems to be a focus on stuff that is becoming less and less relevant.
- dagw 7y agothe only time I have needed to implement a sort algorithm was at university Sure, but at some point you've probably had to implement some sort of novel algorithm. The reason they make you implement a sort algorithm isn't so that you learn to write sort algorithms, it's so that you learn how to implement an algorithm in general.
- scarface74 7y agoIn most jobs - you won’t have to implement any type of complex algorithm. The complexity is usually in the business requirements.
- dagw 7y agoyou won’t have to implement any type of complex algorithm. Even designing and implementing fairly simple algorithms is easy to screw up if you're not sure how to approach it.
- thorwasdfasdf 7y agoFrameworks and programming languages are useful for anyone that uses them. A CS degree on the other hand teaches you a lot more than you really need to know (compiler design, theorey of automata, etc) as a software engineer and so it's kinda wasteful. Sure, it's interesting and fun to learn as an academic but it's not actually useful. The nice thing about bootcamps is they teach you just what you need to learn and nothing more, nothing less. There's few Software engineering jobs that utilize the full scope (or even half of it) of CS knowledge you gain from a CS degree.
- scarface74 7y agoWhat will give you longevity is a degree in CS. Frameworks and technologies change, but CS concepts stay consistent. Try getting a job outside of Silicon Valley by just knowing “CS concepts” when your standard Corp job wants someone who can hit the ground running on their tech stack.
- taurath 7y agoBootcamps are insufficient to a person being a programmer. Learning CS/math in a formal setting is expensive, and out of reach for many, and also may not prepare you for a job programming. These are not mutually exclusive. One can learn CS at their own pace. Being interested and driven to learn is the difference between a bootcamp coder with only a few years of shelf life and a long career. Same goes for that CS degree.