Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Disclaimer: My post-bootcamp experience (Chicago 2014) was probably very different from what I'm seeing today (New York 2017). Every meetup I go to seems flooded with bootcamp grads, and it appears the market is oversaturated with bootcamp grads. Overall, it seems like it's much harder to get that first engineering job

I graduated from Dev Bootcamp Chicago in 2014. Before starting, I was a financial analyst for three years, and had been teaching myself some rudimentary python for about a year.

It took me about two months to get my first job at a start up, where I stayed for a year and pretty much made what I was making as an analyst. After that I moved to New York, where it took me a month to find a (better) job at another start up. Now I'm at a third start up as a senior engineer, which also took me about a month to find.

The program was fun, I met some great people (some of whom I'm still good friends with), I think it helped me get a foot in the door in the industry, and I picked up a lot of good conceptual knowledge and soft skills related to building software.

However, the the technical skills I learned from the curriculum ended up being almost completely irrelevant the second I graduated. They focused primarily on back-end development, with a Ruby/Rails/SQL/jQuery stack. Since then, I've focused mainly on front-end, and worked almost entirely with Angular/React/Node/Mongo. Now I'm am starting to dip my toes into Scala and PureScript and have no intention of ever using Ruby again.

My cohort mates saw mixed (but mostly positive results). All the people who were clearly talented got jobs immediately after graduating. It was more difficult for those who had no prior coding experience, or had trouble picking up the material.



"However, the the technical skills I learned from the curriculum ended up being almost completely irrelevant the second I graduated."

I hope both boot camps and CS curricula will emphasize this point very strongly. The exact technology stack you are learning right now is probably not the one you will be using in the near future, and that's OK. Learning to learn, and understanding the fundamentals of what makes a good developer regardless of technology stacks are the key skills.

Anecdata: In a recent job search, the developers who had something close to the technology stack we use were bad on algorithmic questions, and we decided to hire the person who had almost no overlap with our technology stack but aced all of the algorithm questions.

The technologies we use in our backend have changed over time as our needs have changed, so it's very important to us the person filling this position understood the underlying algorithms well enough to have a good mental model of the key algorithms determining how the system will perform and write code that plays to the strengths of those algorithms. (Or pick a different system implementing different algorithms with different characteristics, if required.)


Yeah, that's what they told us at the time, but

1) How much can they really to teach you to learn in an 18 week period? I think it helped give me enough learning momentum to grab that first job and keep learning there, but I don't know if my fundamental learning ability was significantly altered.

2) Not only have I not used much Rails in my career, but I barely did anything back end development in the first year. And the back end development I've been doing recently has been a lot of mongo and GraphQL. While I've found knowing REST and SQL are definitely useful and necessary, those concepts aren't as useful for my day to day as I would have hoped.

3) They (understandably) didn't focus much on algorithms and CS. So we were kind of left up to our own devices to get the the real "meat".

Again, I found the whole experience incredibly useful and worthwhile, but I think teaching a relavant tech stack can add a lot if value for the job hunt and early job performance. These programs are mostly very expensive, and you have to derail your life for a few months and start your career over at stage 0. It's a big commitment, so I think grads need every advantage they can get.


The problem is that people misunderstand the point of getting a Computer Science degree. At the school I attended, the head of the department was upfront that what the degree would be teaching had nothing to do with any specific stack any specific company was using, learning those things would be up to us individually.

Personally, I ended up dual majoring in computer science and computer engineering. The idea was that the former is the abstract science behind programming (algorithms, complexity, etc.) and the latter is how and why computers actually work. Computer Architecture was probably one of the coolest classes I took in college.


A professor in college told us that we'd likely never use 90% of what we learned in our curriculum. He said engineering is largely an exercise in vocabulary: the core structures in CS are like "function" words (articles, prepositions, pronouns) in human language; they tie the other "meaty" words (nouns, adjectives) together. The nouns and adjectives are the specific technologies you use.

A CS degree teaches you the function words. A bootcamp teaches you a small set of meaty words with a sprinkling of function words. However, the meaty words are the most useful day-to-day. But you have to be able to discern and use new meaty words all the time, or you'll "sound" dated eventually. "Radical, dude! I'm stoked about these parachute pants!"

I've met many CS-degree-holding engineers who don't understand this vocabulary exercise. They choose a particular programming language they're most familiar with and proceed to reinvent the meaty words. They're doing it wrong, and will almost always be less productive and useful. Bogus!

If I'm going to build a machine learning system, I'm not going to open my editor and start writing parsing libraries and convex optimization algos in my favorite language. I'll find a well-supported framework and learn how to use it. If I need to learn the framework's language better, then I will.

Go for the meat first, and you'll be a great engineer.


While you'd be a very brave or silly individual to try to reimplement BLAS yourself, there is definitely value in knowing how to implement any library for yourself.

If programming is behaviour and data, then the deeper and broader your appreciation for data and behaviour in its many forms, the more tools you'll have in your toolkit.

Learning by doing is mainly the defacto way of learning for programming, and so while you may never use your own language to ship in production, there is still value in learning to build your own compiler.

When you use someone else's framework, you are using their abstractions and their mental model of the world. Lucky for you if it happens to be spot on with your own or aligns with your way of thinking. If the abstraction is too tight though, and the fundamental knowledge is not your own, then when "new-and-shiny" framework is outdated for "newer-and-shinier" framework, your framework-specific knowledge is completely redundant.

That's not even starting on confidence that comes with being able to roll up your sleeves and read anyone's code when you've earned enough chops by building various projects.


I often hear "You weren't a CS major?!?!". My common response is "You were?!?!".

I worked in finance as an equities trader for 6 years before taking a boot camp and switching over. I was heavily involved in hiring while in my prior role. One thing I found is that I was drastically more inclined to hire the English major over the Finance major. If they've managed to overcome the commonplace cognitive biases that work against them, chances are they are more intelligent/hard-working than the relevant educational background.

None of this is meant as a slight to CS grads, I'm simply pointing out the somewhat irrelevant dependence on an undergraduate degree. Technical mindedness is much more important than a 4 year rubber stamp.


It seems you're guilty of the same cognitive biases. "Screw those finance guys! Rosencrantz and Guildenstern over Oskar Morgenstern!"

Edit: On my first job interview out of college I was turned down by the head of engineering because I didn't have enough experience in C++. "Silly college kid can't do shit." I was called back and offered a job because another manager was impressed by my work at the speech recognition lab at my school. Three months into my employment they filed a patent on an algorithm I devised to build databases that were searchable through speech interfaces. The engineering head ate crow.

Hiring developers is a crap shoot, but it's hard nowadays to hire a truly incompetent developer. I've really only encountered one in my lifetime who was incapable of basic development tasks.

In the 15 years I've been a working engineer (and 25 in general programming), I've noticed the level of knowledge and skill required to build usable products has been greatly reduced. Why? Because there's been 15 years of advancement by seasoned engineers, prompted by business people, to build tools and frameworks that fit large swaths of business needs.

That cycle is ever present in tech. The obscure things become clearer and more accessible to laymen through the efforts of the experts. And you can bet those experts have deeply studied CS topics, whether at a college or on their own.


I definitely felt like this was addressed during my time at DBC, there was a significant emphasis on figuring out how to approach problems you haven't encountered before methodically, learning new tech stacks quickly, and how to think programmatically overall. We spent a lot more time on Sinatra as opposed to Rails because it gives you a lower level understanding of web development, yet I don't think a single person I know has a job working with Sinatra.


I graduated from DBC Chicago about 7 months ago, found a job as a Rails developer at a start-up here about 3 months later (I graduated right before the holidays though). Of my cohort of about 16 people I believe only about 2 or 3 haven't found jobs in tech yet, though some instructors told us we had a particularly strong group. I think it's true that you do probably have to hustle harder to stand out from other bootcamp grads for a lot of positions, but there are also now some bigger companies that have been happy with previous bootcamp grads and actively seek them out to fill new entry level positions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: