Want a Job in Silicon Valley? Keep Away from Coding Schools
bloomberg.com
bloomberg.com
Too many of my former classmates graduated and expected that to be the end of the hard work, like they were now entitled to a good job and that they knew enough. It was enough for a junior role but not at a huge company.
Also because of the negative stigma of having gone to one of these I scrubbed it from my history as soon as I could. I don't bring it up in conversations either. It only seems to do more harm than good because people will hear it and look down on me. You only have to look at these discussions to see how much vitriol people have against those of us that attended one.
I also don't list my bootcamp anywhere mostly because I'm worried about assumptions people will make about my technical knowledge if I do (rather than judging based on my actual performance). I'm also hesitant to recommend it to others because while I have to say it was 100% worth it to me... I've tried to help too many people learn to code who just failed because they weren't willing to fight past the frustrations of the learning curve (which is very steep at first). I just assume now that most people don't have what it takes (and that is NOT intelligence or cleverness... it's mostly just discipline/work ethic/intellectual curiosity).. so I'll never really encourage people to follow my path.
In the end, it was totally worth it for me and I couldn't be happier!
I left the world of government contracting to attend a code school on the east coast. Now, I'm on my second year of my second startup, and truthfully, I've learned more here than at code school. Not because the school was terrible, but due to the dynamic environment.
When I left code school, there's zero percent chance I could have successfully deployed one of my applications containerized, secured, scalable, etc. However, after working here, I either (a) know how to do step X or (b) can successfully read documentation and use context clues (or ask peers for help).
To your point, I have trouble recommending code school to friends and family. It's not that I don't value what I learned, but I can't compare my intelligence/persistence/etc to theirs, I wouldn't know how. I haven't worked for one of the "big 4" although I did interview with Google and am in consistent contact with Amazon.
I've always wanted to get together with other code school graduates and develop material for graduates focusing on different areas in more depth, specifically I believe more information on databases, production environments, and open source would be highly beneficial to alumni. After code school, there's a lot of knowing about some topic, but it's so much more important to understand that topic, IMHO.
I'd say boot camps are a way to get yourself oriented, so that you can seriously pursue your education, not an end in themselves.
This is a weird article. It's more focused on one bad school then the industry as a whole. Everyone quoted in the article got a job as a software developer. It seems the biggest issue is that expectations are not set correctly by most schools. Some people find a job asap and some people take a lot longer.
This quote seems particularly shortsighted, “When people go to coder camp, they’re never going to be part of the in crowd,” Dinan, the recruiter, said. “There’s way more to success than just having the software education.”
As a former recruiter I cringe seeing this. Someone is NEVER going to be 'part of the in crowd' because of their education? 1 year in? 3 years in? 5 years in? 10 years in when they are in a management role they still will be an outsider because they went to a coding camp?
Sorry no, you are not.
What they clearly lack in expertise (which can be learnt) they more than make up for in intangible qualities of character- self-driven, hungry to learn, motivated not only to do well, but to do better each time. Many come from backgrounds that are also useful, but not commonly found in degreed programs, such as former project managers, academic researchers, etc.
If you can afford the time and effort required to have a green developer on your team, they can be some of the best hires you'll ever get.
With regard to your specific call out of 3 months, the one I'm familiar with had something like 50-60 hour weeks. Most people were learning non-stop, focused primarily on easy-access web tech such as html, css, front-end and server-side JS, and mongodb. However, many of them also dabbled in a variety of other languages on their own time, such as python, c, java, as well as graph and SQL databases. They graduate coding bootcamps with more ready for web development than many learn at more degreed programs.
It's entirely possible that that level of expertise simply isn't enough where you work, and that's totally fine. But don't imagine that there isn't a place for these people within the industry.
(For reference, I've been in the industry myself for 7 years, and have never personally attended a bootcamp)
This right here I think is the biggest problem with coding bootcamps. Many novices go in thinking that they need to learn a cool/new/useful language - and then they will find a job in it (after all, the job boards rave about experiences with specific languages).
However, learning how to code is not learning a coding language. Learning a language is almost secondary to learning underlying CS concepts. It's not as sexy to say "learn algorithm design and garbage collection" no matter how necessary it is.
I feel many students go into these bootcamps thinking that learning a language and syntax is the most important software skill to have. However, when a company has to decide between someone from a 3 month javascript bootcamp, or someone with a CS degree - the decision is easy. We need to start preaching that learning to code and building software skills is totally language agnostic - and the underlying concepts are by far more important.
That really depends. Often, CS graduates know computer science and that's it. Often having some programming skills as well as domain knowledge can be as useful or even more useful depending on the maturity and positioning of the projects in the team's portfolio.
To use a shitty analogy: you don't need (or even want) a team of Yngwies busting out face melters. Sometimes the project just calls for three chords.
But yea, I'm with you in the sense that when I'm hiring for my team, I'm hiring deeply technical people to shovel bits into the engines. But I recognize that not all projects require it.
1) The good ones have high character requirements, as in they select for the people who are self-driven and willing to put in the work. That self-selects for success, especially since the most famous code academies have more candidates than spots, which means they can be selective.
2) Simply by paying a large sum of money (10k+), which is generally a large sum of money for the applicants, incentivizes the people to actually put in effort to do the work and study. MIT gives away all of its courses free online, and the pass rate is abysmal, precisely because it's free and the entry cost is so low, that you feel as though you can walk away at any time.
I personally think that coding boot camp vs. a four year university education is like learning how to cook in a chain restaurant vs. learning how to cook at a culinary institute. You'll get the same basic (very basic) skills, such as knowledge on how to chop a vegetable, how to debone a chicken, etc etc. However the reasons for doing things and terminology in the kitchen you'll have to learn by yourself.
Is going to college for four years worth it vs a 12 month boot camp? I don't know, but I think it's naive to think that the knowledge imparted is the same between the coding camp vs the four year degree.
Some low-cost coding lessons on Code School, Treehouse, NetTuts+, Udacity, Pluralsight, or Launch Academy are also a good option, and they cost far less than does a bootcamp. MooCs are also a good way to find out if you like coding. If you're still coding on your own after a MooC, then you might be interested enough.
Try building a new application every day. Jennifer Dewalt, the founder of Zube, did this and blogged about it. With each new project, she added to her portfolio and gained new skills. Quantity trumps quality when you’re learning. Just build lots of things.
Full disclosure: I attended a bootcamp myself and I'm now working as a software engineer. My bootcamp made it clear to us that their program most qualifies us to be junior web developers. While some do get jobs at Google, Amazon, etc. straight out, they often had other quantitative background to make up for the lack of a formal CS education. The career services folks told us that the Big 4 become more reachable after we've had couple years of experience. Which is exactly what happened - I have friends who have ended up at those large companies after working in startups for a few years.
Also, my bootcamp made it clear that our education cannot end with our graduation. They established a clear timeline for us: for three months after graduation, focus entirely on applying for jobs, practicing technical interviews, building projects, and continuing to learn. And that's exactly what we did. The bootcamp was a 9am to midnight experience, and most of us did not slack after graduation: we continued to code and build things and learn every single day, all while sending out resumes and practicing interviews. And in the end, it paid off for most of us.
Still, there are many questionable bootcamps out there. For prospective students, I would encourage them to meet with grads and talk about their experience with the specific bootcamps that they attended. Look at the hiring data - many offer audited reports now (and be careful of those that don't). Do your due diligence before making an expensive commitment.
And for companies hiring, keep an open mind and talk to the bootcamp grads. Learn about the differences between the schools too. It's right to be skeptical, but bootcamp hires can also provide very good value to your company.
PS. I don't aspire to work in the valley per se, but I've failed multiple technical interviews with a variety of companies, if I ever want to earn another job I feel like I'd have to learn how to work w the system.
You research companies that share your values/goals, then start a conversation with them.
I know a lot of people who work outside tech, and they actually kind of shudder when they hear about what happens in our field. Yes, interviews outside tech are stressful, and knowledge and experience will be probed, but the whole "here's a marker and a whiteboard, find all strings in this set that combine to form a substring of any other string in this set"? Yeah, that's unusual.
I think there are ways to have a programming career that don't involve this kind of thing, but you do limit your options.
I cannot stress enough how important mathematical foundations is. It'll make everything else much easier to learn. I haven't read the book but heard good things about: https://www.amazon.com/Discrete-Mathematics-Applications-Sus... as a beginner text.
Coursera has multiple offerings on Data Structures / Algorithms -- find one that works best for you.
For instance:
https://www.coursera.org/learn/introduction-to-algorithms
https://www.coursera.org/specializations/algorithms
https://www.coursera.org/learn/algorithmic-thinking-1
https://www.coursera.org/learn/algorithmic-toolbox
By doing all of those you'll get a good introductory exposure to the topics.
You should also look at a rigorous course offering of Algorithms. MIT has a few online to view.
Some readings for a beginner are:
https://www.khanacademy.org/computing/computer-science/algor...
https://www.amazon.com/Algorithms-Unlocked-Press-Thomas-Corm...
https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press... (not beginner level but classic)
After all of this you should be fine with diving into interview books. You'll want to whiteboard solutions and be able to do all the difficult problems. Look into sites like leetcode, glassdoor and be able to do the difficult problems posted there.
I was a no hire. But for google, all I can really say is study the crap out of data structures and algorithms. Buy a copy of "cracking the coding interview" and make sure you can do the difficult problems in it in 45 minutes. Practice at a whiteboard, with a friend if possible. Don't just memorize answers, you have to be able to do this quickly and readily on things you haven't seen before. Try it, work at it, finally look at a solution, then repeat. Basic data structures should be so ingrained that you don't really need to think about them - this is how you'll be able to reason abstractly during an interview.
That's google, other companies may not be quite as data structures and algorithms oriented. That makes it tough, though.
In my 15 years, in interviews, I've had data structures white board exams, math exams, sample projects in rails and java. It varies dramatically. You don't really know what's coming.
Another option would be look for a way to be a software developer that doesn't involve taking technical interview exams. That limits your options, but it could happen. If you're an X that programs, rather than an X programmer, this can work. For instance, I know people who work in various analyst jobs, who do a substantial amount of programming. It helps them stand out in their field, but their interviews are more like usual interviews - discussions of experience, that sort of thing. In most fields, interviews aren't essentially exams. The "interview as exam" culture seems to unusual outside software, where it is pretty much the norm.
This won't work at google or Facebook, though, for those, yeah, you'll need to do well on the interview exams.
Is that so bad? It doesn't seem unreasonable to me to intern for a few months to demonstrate one's technical skills, after just 3 months of learning, are good enough for the company. Furthermore, it allows the candidate to show off some of the "intangible qualities of character" as described by another commenter.
I am assuming, of course, that the internship is not exploitive and that the company truly has the time and resources to mentor the intern. In the best case scenario, the manager would see culture fit and a new motivated employee who is open to growing into a great senior developer at the company. In the worst case scenario, at least the intern should have gotten some real world experience that can be leveraged into the next job.
I guess I'm taking issue with the tone of the sentence. Why wouldn't an internship be "good enough" for a coding bootcamp grad? And why would they have to fight a "manager's misgivings" since it would clearly cost the manager even more time and effort to find and train yet another person for the position. As the manager, it would be in my best interest to find an intern I think capable of succeeding AND to do my best to help him/her succeed!
Disclosure: I've hired a coding bootcamp grad as an intern and then was very glad to be able to promote him to full-time after a few months.
Edit: grammar
For comparison, I received a master's in software engineering from a reputable school with actual professors and a well-tested curriculum for ~$7,500/semester. Of course, it was an academic graduate degree, so I already needed to know a large amount of engineering and programming before applying, but still -- there are a ton of avenues through 'traditional institutions' that are far cheaper, and of higher quality that will teach you programming.
What are people paying for, exactly? Is it the speed that they'll learn at? If you want a "bootcamp" experience, stack 5 classes at a local college and work your ass off for a semester.
Perhaps easier said than done -- I live in the greater Boston area, where you can't throw a rock without hitting prestigious institutions with professional education options and night classes, or at least a good community college. So perhaps it's the accessibility of the bootcamps? Do they serve areas where education options aren't great? Do they do "online" better than other programs?
Is it the branding? The teachers? Something else?
Is it that bootcamps offer a "hands on/practical" experience, where students feel like academia would let them down? I'd disagree on that point, with some reservations, but I don't think that my suggestion of "stacking 5 [well-chosen] college classes" would let you down in that regard. Colleges teach the theory, sure, but they ALSO teach practical application development, especially these days.
So, I don't know. Honest question. What's the draw to bootcamps over other forms of education?
Also, I think we can agree that there are people from all sorts of degrees, bootcamps, certificate programs, and other assorted methods of education, who can't code their way out of a wet paper bag.
the company claimed to have some kind of special relationship with Google. but the course curriculum was apparently homegrown from nothing. very little actual input from Google.
and i remember wondering "what's the special understanding, the inside track, the competitive edge that their students will have?" it didn't seem to exist at all.
i mean, the company wasn't even making the curriculum up as it went along. it was hiring outside freelancers to make it up as they went along. that was their "program."
1). It's structured. You plan to meet people to learn at certain times, so it's easier than going it alone and being tempted to slack off.
2). You need some mentoring/personal guidance along the journey to make sure you're on the right track.
These are helpful, but I don't see why you need to pay $10,000.
Organize a like minded group via meetup.com. Ask experienced people to volunteer to help plan curriculum, to provide once a week mentoring sessions (people will help for free).
And there you go, same thing but no debt.
Important: Be honest, do you really have some natural interest/drive to do this? Really tough if you don't. Also it will take a lot of hours but if you persevere you'll make it.
Also important: There is almost never snobbery about education or "in crowds". Maybe what the author meant is that you will lose repect quickly if you're not prepared. If you are prepared and a hard worker you'll be welcome even with a GED.
Long term programmers know that it takes a long time to get a true understanding and mastering of the profession. Over the years I've known of people who thought a short programming course would be enough to get into the profession. I know I wouldn't pay a new programmer top salary much less one from a 6 month boot camp. They are just not productive enough. But the reality is that book camp is only the start. I wish they would understand that. No one is a master from the start. My advise for them is to continue with their training by creating a project either a brand new idea or just a copy of what is available. This gives them a chance to be masters eventually.
Lots of bullshit from the people running it as well, including talk of knowing everyone in the London tech scene and its great reputation.