7 ms·
This attitude, that I see frequently on HN, isn't very helpful. I taught myself to write code in a little under three months and immediately got a job as a Jr.
by MangezBien 11y ago
This attitude, that I see frequently on HN, isn't very helpful. I taught myself to write code in a little under three months and immediately got a job as a Jr. Dev. I knew nothing about data structures or algorithms but I could write a Ruby program.
Now, three years later, I am taking online classes to learn about those issues. The more advanced I got, the more I needed those "basics."
Looking back at myself at 18, there is no way I would have made it through a CS course. I had no motivation for school. Now, I am doing really well and learning a ton.
Saying they are a scam ignores that the students are getting a marketable skill. None of the camps say you will be an expert with understandings of how the language works but you will have enough skill to be useful.
- bigtunacan 11y agoSaying "you will have enough skill to be useful" is naive if you are basing it on your own personal experience of learning to "write code in a little under three months and immediately got a job as a Jr. Dev". +++ On My Personal Experience +++ I also learned to write code on my own and had a junior dev job with no college experience. I then attended college part time to get my CS degree because 1) There are a large set of potential employers that will not consider hiring if you do not have a degree; so in times of job scarcity your options will be limited. 2) The subset of employers that will hire someone without a degree is then further broken into a subset that will pay you less since they know you have less options not having a degree. +++ On Dev Bootcamps +++ 1) 12 solid intensive weeks of learning to write code may be enough to get someone an entry level job if they learn/retain enough to get through the interview process. Having this as a focused class room where assistance and guidance is provided is likely of benefit to some people; so they are not entirely useless. 2) In my experience bootcamps have either not published or have been deceptive with job placement numbers. As a for example; I know of a bootcamp that published a 100% job placement rate. This was deceptive since they did not publish that 1) More than 75% of the attendees did not complete the bootcamp and so they were not counted (only graduate placement was counted), but they still were out of pocket for tuition costs. 2) Being hired for ANY job was considered as a successful job placement, but only about 1/3rd of the graduates actually found jobs that were in the field, the other 2/3rd were counted as successes because they were employed (e.g. if you found a job as a waitress you would count towards the success metric.)
- aioprisan 11y agoDid you really expect the people who chose to drop out to be counted in job placement rates? I believe the same standard is used when talking about placing graduates to jobs from colleges, so I don't find that misleading.
- bigtunacan 11y agoI'm not surprised the numbers are being published that way, but it is certainly misleading. These things are being pitched essentially as "Why waste four years of your life and bury yourself in debt? You can have a six figure career, working from your home, in just twelve short weeks at a fraction of the cost! We have a 100% placement rate!" Someone should be telling these students the truth. "This is going to be the most intensive, gruelling twelve weeks of hell on your life so far. Three out of four students will drop the program and will still owe the equivalent of one years (state university) tuition at a standard college. If you do finish then you still may not find a job in the field."
- LordKano 11y agoI think it's akin to how a couple of days of training could prepare someone to work at one of those oil change places but it won't make him or her into a car mechanic. These bootcamps can teach people the basics of programming and if they have the interest and aptitude, they can grow into mature, experienced developers.
- Apocryphon 11y agoThe eternal problem is that academia is meant to create theoretical physicists when industry needs more mechanics.
- sotojuan 11y agoTrue, except we have a lot of degrees that produce "mechanics"—the various engineering degrees. And we have an organization (ABET) that makes sure schools teach the right stuff. We just happen to not have one for programming.
- apendleton 11y agoAccreditation organizations being the solution only holds if you accept the premise that a four-year degree with any course material is necessary to be a successful developer -- if that were true, figuring out what the right stuff to teach in that four years was would certainly be the challenge. But while I share a lot of people's skepticism of bootcamps, I personally haven't seen much evidence that that's true.
- sotojuan 11y agoThat's a good point, I had not thought of that. Personally I think two years of studying and projects is good enough, maybe one if it's a bit intense like a bootcamp. The problem is people's prejudice against anything that is not a four year degree.
- edgyswingset 11y agoI think a lot of it has to do with an academic identity crisis. My degree was a strange mish-mash of purely theoretical stuff and purely engineering stuff that felt more like a set of topics ABET wanted covered rather than a path towards either deeper Computer Science or Software Engineering. What I'd love to see is schools begin to take on various career-track options for students. Like theory and want to go to grad school? Take the theoretical track. Interested in front-end and mobile dev? Take some in-depth classes that cover fundamentals in that area. Distributed Systems? That could have oodles of classes, too. This is the way many other engineering degrees are structured. Somehow we're in this weird position where we're making students take electives which are relevant to industry so they can go get a good job, but they still have to learn how to write turing machines on paper.
- koube 11y agoFor reference, what year was it when you got a job after three months of self study?
- MangezBien 11y ago2012
- Ologn 11y ago> I knew nothing about data structures or algorithms but I could write a Ruby program.Now, three years later, I am taking online classes to learn about those issues. The more advanced I got, the more I needed those "basics." Data structures are not basics. Self-balanced binary tree graphs are not basics. More basic than that would be to learn what a graph is - Euler's bridges, Dijkstra's shortest path. More basic is the initial introduction to the concept of the graph and the set in discrete mathematics (as well as other discrete subjects like logic, combinations, probablility etc.) Algorithms are not basics. Bresenham's line algorithm is not basic. More basic is theory of computation - Turing machines, lambda calculus, mu-recursive functions. Automata theory, complexity theory, computability theory. Basic does not necessarily mean easier, sometimes the abstractions can be harder to grasp. What is the complexity of your algorithm, what's the worst case big O notated case? How is big O notation determined? Can you even know what an algorithm is, or compare algorithms without knowing these things? Then more basic than these things is the math such as calculus you may to determine some algorithms. Frankly, if when "looking back at myself at 18, there is no way I would have made it through a CS course. I had no motivation for school" , and then you study Ruby for three months and get a job and are now taking online courses - I would be very skeptical of how deep your knowledge is. You're honest enough about what you did. There's also nothing wrong with being in a situation where you don't have the opportunity to study CS intensively for four years under professors and grad students who have published papers in the field (although "no motivation" sounds worse than "no opportunity at the time"). There's nothing wrong with being lucky enough to bootstrap yourself to your current situation, there's everything wrong with fooling yourself that in five years, that kid in his third year of CS right now, who is dedicated to studying the things I mentioned, and who will study it next year, and who will then get a job and work for four years. In five years he will be ahead of you. He has a foundation that you don't. He will have a confidence you won't. As an interviewer I will be able to tell this. My advice would be to look at local public colleges and see if any are good. See what their CS programs are, how they deal with night/weekend students for CS majors (some required classes may be on a weekday at 1 PM) etc. See what the pre-requisite graph is. Then take one class a semester, at night or on weekends. It will be one or two nights a week. Maybe take an easy non-CS class first like art appreciation or something. Note they often put one of the hardest courses for CS (like Calculus 101) as an initial pre-requisite for all CS classes to weed out "unmotivated" people from burdening the school CS program. Keeping on the topic of the weed-out class though - if you struggle over Calculus 101 like we CS majors did, to where you're even thinking of dropping out - wouldn't that be a sign that we were learning things in school you didn't know? It's not a laugh a minute to do Cook Turing reductions of NP problems in order to show similar properties of problems - but it does help in understanding fundamentals of CS. It is better to think about this sooner than later. People do these things when they're in there teens or early 20s because it's easier to do then. You really don't want to have this revelation after you have a child or two, and are having trouble finding good work because of no diploma and lack of fundamentals. One bonus is the diploma is not the only payoff - even halfway through school you'll be a better programmer, more attractive to some employers, will have met interesting professors and students (if you put yourself out there) etc. You get out what you put in - professors like students who pay attention and do well, and can be helpful.