8 ms·
Advice for Coding Bootcamp Graduates
- FLUX-YOU 9y agoGoogle Cached: https://webcache.googleusercontent.com/search?q=cache:soISHS9sP6EJ:https://thinkfaster.co/2018/02/my-advice-for-coding-bootcamp-graduates/+&cd=1&hl=en&ct=clnk&gl=us https://webcache.googleusercontent.com/search?q=cache:soISHS...
- meri_dian 9y ago"Error establishing database connection"
- perseusprime11 9y agoIronically that's the most common error that bootcamp graduate see when they first deploy their app.
- knarf180 9y agoI guess the graduates are supposed to fix that
- deleted 9y ago[deleted]
- passivepinetree 9y agoThe author has the right idea. The company I work at hires junior engineers somewhat regularly, and the quality of bootcamp grads varies wildly. It'd be awesome to see additional CS courses on a resumé, as fundamentals like time/space complexity are usually the biggest weaknesses of the bootcamp grads we interview.
- foroak 9y agoAfter going through a web dev bootcamp myself where we actually devoted a decent amount of time to algorithms and their time/space complexity -- this has been the thing I have used the least in my professional career.
- emsy 9y agoMaybe your not working on professional things? Also what is a decent ammount of time?
- ghostbrainalpha 9y agoNot OP but I did a 3 month boot camp, where the final month was spent on a big group project (which was great) and then algorithm optimization, red-black trees, and a bunch of stuff that I didn't actually think I needed on the job for 2 years. Sometime in my third year on the job I had to find the duplicates in an array. My beautiful solution "arr.select{|x| arr.count(x) > 1}.uniq" didn't work because I had 100,000 items in the array. My solution was O(n^2), and that finally made sense to me, and it actually mattered. I would say this was when I didn't feel like a Bootcamp beginner anymore, and thought of myself as an intermediate professional programmer.
- philwelch 9y agoYup. Understanding fundamental computer science is a good example of the Dunning-Kruger effect. If you don't understand it, you likely don't even realize that you're missing something important.
- thebiglebrewski 9y agopro·fes·sion·al prəˈfeSH(ə)n(ə)l/Submit adjective 1. relating to or connected with a profession. What do you mean by, "not working on professional things"? Seems a bit insulting to me?
- emsy 9y agoIt's not meant as an insult. I meant professional as in >characterized by or conforming to the technical or ethical standards of a profession. In Germany we use the word to express sophistication and technical expertise. If you don't know how to handle algorithmic complexity it's less likely you will take a job that demands knowing much about it, but that doesn't mean it's not professionally needed.
- mnm1 9y agoIn over a dozen years as a professional web developer, I've never once needed to use Big O notation outside of an interview. Sounds like this guy doesn't know how to interview, knows that he doesn't know, but still doesn't want to admit it. No wonder he can't find anyone.
- kitanata 9y agoI think it's less about the notation, and more about thinking around computational complexity. You should know when to use a set vs a hash vs a list vs an array. You should know what different sorting algorithms do, and why you might use one over another. In some cases having exposure to more esoteric data structures like persistable tries, minimal spanning trees, red/black tries, bloom filters, etc can come in handy. Knowing why things like that are useful is worth knowing. But I agree with you, judging a bootcamp graduate on skills that can be taught with experience and continual study is probably not the best way to go about hiring people.
- ganonm 9y agoI think it's more about simply having an awareness of algorithmic complexity. I'm talking about writing a doubly nested 'for' loop and being able to realise that you've just written an O(N^2) algorithm if you're iterating over the original collection again. This sort of stuff is blindingly obvious to experienced programmers but for bootcamp grads who haven't built up that intuition, a short course on Big O notation exposes them to it.
- moate 9y agoOr, since you're hiring Junior devs, someone could like, take 10 minutes to explain why what they did is wrong and point them towards some resource to help them get on the right track. This whole thing is part of the circular logic problem with hiring: you have people making these hiring decisions that aren't trained in hiring, so they just go with "what makes sense to them" or hiring a younger version of someone who looks exactly like them for a junior role. It's fine, it works for the company, but it's why people will miss long term talent.
- FLUX-YOU 9y agoThis article treads lightly around calling bootcamp grads inferior on average, when actually, very little is standing between the company itself turning the bootcamp grads into the engineers that they want. After all, you already have ample evidence someone can learn software development concepts on a compressed timeline compared to college, surely another week or so covering time/space complexity and data structures topics is worth the time if the candidate is otherwise a good fit. But I don't know, maybe their idea of junior development tasks is "find and fix deadlock or race condition that occurs 0.00001% of the time"
- swimorsinka 9y agoAuthor here: I don't believe anyone is inherently inferior. Given the same amount of time invested, I think everyone has a shot at performing well. But a computer science graduate typically has 4 years under his or her belt in an engineering heavy curriculum, and because of that time invested, they seem to be stronger in problem solving. We use Big-O as a signal for problem solving ability. Whether or not that signal is problematic is another question - you could argue that it is. So yes, I would say that someone who has invested 4 years into problem solving is going to have an advantage over someone who has only put in 6 months, even if those 6 months are dedicated. But the bootcamp graduate could equal the C.S. graduate with a little more investment.
- FLUX-YOU 9y agoBut why don't you hire them, make that little investment yourself, and have them fix things they're capable of fixing while they catch up? This just seems like such a small obstacle that the technical parts would end up taking a back seat to other hiring criteria.
- acr13 9y agoSeems like the answer is within your question. > why don't you hire them, make that little investment yourself, and have them fix things they're capable of fixing while they catch up? Because they can hire someone that has the skills they desire, and not have to worry about the investment time to get them up to speed.
- matty22 9y agoThe advice to include online MOOC courses on your CV runs counter to every piece of advice I've ever received in regards to putting online courses on a CV. I've always been told that that is seen as a red flag and that you might get docked 'points' for having something like that on a resume.
- egoid2 9y agoDoes anyone have more opinions on this? I'm a coding boot camp dev with a few years of experience at startups and half of my resume consists of online MOOCS (Udacity's machine learning, Udacity's Linear Algebra, Fast.ai's deep learning, and Cloud Academy's Certified AWS Developer) I'm curious as to what HR from Big Tech companies and small startups think about a resume filled with MOOCs like this.
- mpblampo 9y agoI don't hire engineers, but I am one. I've never heard this advice about not putting MOOCs on your resume, and if I were hiring, I would likely consider any MOOC (with a decent grade if applicable) to be better than nothing. Can the OP of the comment say more about the reasoning?
- matty22 9y agoAm OP of comment, I believe the reasoning is that the quality of MOOCs varies wildly and there is often no way to confirm that a student actually completed the content or how well they did? Another reason could be that the sheer number of MOOCs that a student might take would just add noise to your resume? I'm not sure that's accurate, but I've had many people tell me to avoid putting anything about MOOCs on a resume.
- the_bear 9y agoI hire for a small startup, so maybe this isn't how it works at the big companies, but I certainly wouldn't dock points for this. I think it shows initiative, and at worst I wouldn't care one way or the other. The only way I could imagine it being a red flag is that sometimes people put things on their resumes that aren't real accomplishments (like things they did in high school, or the fact that they know how to use MS Word) and it makes me wonder if there are so few worthwhile things for them to talk about that they use filler like that. But even then I pretty much just ignore it.
- moate 9y agoCool Store Bro (TM)
- DataWorker 9y agoCoders who don’t have enough statistical expertise is a problem why? I understand the importance of O notation, but didn’t know that stats/probability was important for things like web design and other coding jobs. Can someone help me understand this part?
- who_is_firing 9y agoI think the basics of it (i.e. recognizing n vs n^2 vs exponential) is important for back end developers. After a few years of doing back end I've definitely had to have awareness in how I design things like my loops to optimize. It's not a biggie for most companies, but you should have a general awareness. Unlike the author of the article, though, I do believe you can learn this on the job. Also, you don't have to necessarily know the big 0 notation, it's a good idea to write a load test which will give you a more relevant stat anyways. But sometimes its good to recognize "Oh I don't need a 2nd inner loop that will change this to O(n^2)".
- xapata 9y agoIf you can't understand the results of a design experiment, that makes your web dev job harder.
- who_is_firing 9y agoI am a bootcamp grad with several years of experience now. I agree with the article that the two of the weakest areas for bootcamp grads are data structures and algorithms. However, my advice would be to interview at places that have focus less on these areas instead of taking coursework. At the end of the day if you are bootcamp grad you are probably not in the financial situation to take extra coursework. It's better to lower your standards a bit to get your first job and then pick up these skills on the job. You will still have to grind out algorithm prep by using sites like Leetcode and Cracking the Coding Interview, but it's probably a better idea to focus on companies that focus less on this area.
- wccrawford 9y agoMy advice for them? Don't tell people you paid for a coding bootcamp. Without fail, every single "code bootcamp" that has applied for a job here has had a horrible resume. They didn't have anything on their resume that wasn't from the bootcamp, and even that was horrible. And they generally failed our "use Flickr's API to get some images" test that we give out. Miserably. I think we ended up interviewing 1 of them, out of dozens, and they just weren't worth trying out. So now, when I see that on a resume, I groan. I still go look at whatever's on their Github, but I'm already primed to fail them. They would have been better off having nothing on the resume and anything in their portfolio.
- jamestimmins 9y agoCan you expand on what you mean by "They didn't have anything on their resume that wasn't from the bootcamp, and even that was horrible."? Do you mean the projects they built, or the list of courses they've taken?
- edmundhuber 9y agoLike the top comment I have passed on many bootcamp graduates, and many of my colleagues have too. I can only think of one bootcamp graduate that was ever hired at any org I worked at. When we look at an application/resume from a bootcamp grad, it tends to only contain: "this is what I was doing before", "this is the bootcamp I went to and the projects we did there" (sometimes, these are cleverly formatted to appear as projects done after the bootcamp. We can generally see right through this, and it feels a little dishonest, but it is fine.) What would make a bootcamp grad resume infinitely more attractive is if they demonstrated their enthusiasm by doing more projects. What it comes down to for me is: this person wants to have a job that many people go to a 4 year program for. Additionally, lots of those people who went to the 4 year programs had an inherent interest in the subject even before starting schooling. Bootcamp grads are heavily outclassed in general by these candidates, and an org is taking a risk (burden) by hiring a bootcamp grad. So, it goes a long way for a bootcamp grad to 1) demonstrate that they're going to come in fighting and have a raw enthusiasm, 2) possibly tie in their previous employment (biotech? stats? very relevant.) These two things are going to be their strongest assets coming into the job. Not whatever they learned at bootcamp.
- dglass 9y agoSlightly off topic, but I'm working on putting together a newsletter aimed at career advice for junior software engineers and bootcamp graduates. It will focus more on the soft skills side of engineering. I've gained enough experience in my career where I feel I can offer advice for career advancement for people just starting out their careers. It's something I never had when I first started and I haven't been able to find a lot of solid advice more than a blog post here and there. If you're interested you can take a look at the first post and subscribe if you think it would he helpful. https://exponentialbackoff.substack.com/ https://exponentialbackoff.substack.com/
- deleted 9y ago[deleted]
- patientplatypus 9y agoSooo obnoxious. Bootcamp grads are fine. You know what isn't fine? Apocryphal programmers that can navel gaze about theory but can't code their way out of a paper bag. If some company wants to take junior engineers and throw them at mission critical back end architecture that has stupid run time requirements, that's like, their problem man. CS degree or no that's a stupid decision. What engineers are scared of is that since they make more money than average camps are flooding the job market and bringing down salaries. So they take stupid things like memorizing algorithms and big O notation and earnestly defend them to the death. If you don't know these things you are not a "real" programmer, regardless of if you can program or not. The real tragedy is that you have armies of young people memorizing stupid problems that are easily looked up online to get jobs rather than building cool things. Hackerrank and the like especially are absolute poison. I saw the same thing in big finance, where if you can't memorize logic problems about how many angels can dance on the head of a pin, you must not be smart enough. Welp. I guess these moronic strategies will work long enough before people start voting to regulate high earning industries because the barriers to entry prevent the non-hip people gaining entry. Oh you don't have 200k to drop on the big CS colleges, guess you can't get a job! Oh you don't have 6 months to just blow on memorizing bullshit algos and runtimes? Guess you can't get a job! I really fucking hate people sometimes.
- songzme 9y agoI started this non-profit to address the bootcamp problem: https://garagescript.org/ https://garagescript.org/ After trying out different methods of teaching, here's what works for us: 1. We do peer to peer teaching. If a student learns arrays, he/she is in charge of teaching it to new students. This builds the ability to communicate technically. 2. Students are code reviewed from the first line of code they write. As challenges get harder, inefficiencies are caught through code reviews and explained to them by their mentors. 3. Rather than building their own ideas, students build products that everyone on the team use on a daily basis. We have our own internal hosting, our own email, stackoverflow, and student progress, all built by the team of students. By making students work together on one big project that runs exactly like an engineering team (with sprint planning, code reviews, project discussions), students not only get work experience but also get to learn with others through trial-by-fire. Its incredibly fun for everyone. 4. Since we are so young, we have only graduated 3 students, but each of them love their jobs and were able to jump right in to their issues and get stuff done. They were also able to have in-depth discussions with their teammates. Having worked with so many engineers, I personally value technical soft skills. When I work with engineers who can communicate / collaborate well, I feel that I can teach them anything.
- jpzisme 9y agoI'm a bootcamp grad and am about to finish my first year as a dev at a well-known, medium size start-up in San Francisco. The advice the author gives is spot on. Taking the time after finishing the program, working through multiple algo textbooks, and taking an online course on data structures and algorithms definitely helped seal the deal. To those deriding bootcamps, you are missing out on lots of great developers. The trick is to determine whether the individual worked hard during/after the bootcamp. Lastly, if you're considering a bootcamp, do your homework, pick a good one, and work relentlessly (I was there generally 8am-11pm every day). It has turned out to be one of the best decisions I've ever made in my life.
- wootie512 9y agoBootcamp dev here: The camp I went to was very small and went under after my class graduated. There were just 4 of us in the class. 2 of us now are devs. The other guy who became a dev had a good amount of IT experience coming in, but needed more hands on work with development. The other students just weren't picking up the stuff fast enough and quickly fell behind and didn't recover. I have met a decent amount of people from other camps that had similar experiences, sometimes coding isn't for everyone. After graduation, I had to do a few more months of solo studying/project work before I reached hire-able level. I got lucky and got hired by a startup that needed a junior dev ASAP. I had a great boss at this startup and learned a lot while also getting the chance to work on features. Now getting work is easy because I have worked before. TLDR: You have to put in more work than just the bootcamp to go from no experience to hire-able. And some people just aren't made to be devs, and they may be able to get into a boot camp but they won't be able to contribute when hired. Hopefully I don't come off as conceited/cocky, but that's just my 2 cents.
- shawndrost 9y agoI am a cofounder of a bootcamp (Hack Reactor) that teaches Big O. I believe our average grad knows more about it than I did when I graduated with a CS degree. Some comments: 1. If you're a bootcamp grad, be aware that impostor syndrome / low confidence / "maybe I'll be ready to interview after I take one more class" is a FAR GREATER RISK than not knowing big o. When you read an essay like this, consider it as useful input. Big O is useful, and is a special point of interest to interviewers, but do NOT listen to any of the voices (especially those in your head) telling you "you're not a real engineer until you XYZ". So, by all means, internalize this essay if your takeaway is "nudge big o up on the study list". Reject this essay and everything it stands for if your takeaway is "I am not ready to be a software engineer yet". 2. A dissenting viewpoint from me: this is good advice for interviewees, but interviewer focus on Big O / data structures / etc is a part of the same culture that fetishizes CS degrees from tier-1 schools and mistakenly believes that the most difficult/valuable part of software engineering is computer science. In reality, the most difficult/valuable parts of software engineering are craftsmanship (measured in decades of real work, not built at schools except those named waterloo) and working effectively in teams. Big O is not uniquely useful to your work or uniquely difficult to learn on-the-job. You should study it anyway because many interviewers believe that it is.
- faitswulff 9y agoHi Shawn! I think I interviewed with you as a student when HackReactor was calling itself Catalyst. Anyway: > not built at schools except those named waterloo I was in Vancouver once and visiting a friend at his workplace. They mentioned that they hire a lot of University of Waterloo graduates and I asked, innocently, "is that a good engineering school?" I got a blank stare from everyone before they flatly responded, "Yes." I know Waterloo's prestigious reputation better now, but I'm curious what experiences do you have with Waterloo grads that makes them the exception to this rule?
- shawndrost 9y agoHey there :) Waterloo does one thing uniquely well: the co-op program [1]. Their grads have a ton of real-world experience before they graduate, which puts them head-and-shoulders above their peers. (This is connected to my broader worldview.) [1] https://cs.uwaterloo.ca/future-undergraduate-students/co-op-and-regular https://cs.uwaterloo.ca/future-undergraduate-students/co-op-...
- starpilot 9y ago> A coding bootcamp person could perform as well as a CS graduate if he or she took 2 more courses: > 1. Data Structures and Algorithms > 2. Probability and Statistics. > You could take them at either a community college or online for minimal expense. Are there any specific online courses for these subjects that you recommend?
- magice 9y ago"if you take one of the 6 month programs, you’ll get a similar amount of experience as in an undergrad curriculum." I am sorry, what? Look, I know that people are all about "disrupting" the world. But, for the love of hard-work and whatever goodness left in your heart, can you please stop insulting people? I once worked as TA for an introductory class in Computer Science. It takes about a semester for students to wrap their heads about what is "programming." It takes at minimum another semester of honest to goodness to absorb the fundamentals of computer science (incl. formal languages, basic complexity theories, and basic algorithm). It takes at least another semester to work through how the computer (you know, the silicon?) works. Of course, I have only talked about the theory side the programming world. A good CS program also needs to introduce at least 2 (if not 3: one introductory, one system, one industrial) programming languages, plus at least 3 paradigms (corresponding the languages above: functional, system/procedural, and OOP), plus some discussion over the industry. And they should ensure that the students get stock overflow at least once, infinite loops at least a few times, and (on the verge of?) kicking their classmates/teammates at least once on some stupid bugs. More challenges: a brain isn't a hard drive. Cramming is about the worst way possible to induce understanding. All of these above need time and space to work themselves through various layers of consciousness. (BTW, all of the above are just the basics; if you notice, I have not brought up any "sexy" topics like networking or cloud computing or AI or what-have-you) Imagine for a minute: what happens if a person walks up to newly minted chemical or mechanical or even electrical engineers and tells them that their 4 years of education can be done in 6 months. What would the new engineers think? Well, here is the nice version: such "disrupter" is laughed out of the room. The less nice version involves some honor-defense beating. The pragmatic version probably involves some lawsuits over how such claim is a fraud and may endanger the consumers (not to mention co-workers). And yet, here we are. Software engineers, who spent years to acquire immensely complicated skills, are forced to sit through and agree with such insults, then to give comments like "oh yeah, maybe you should learn more about big-O notation." You know what I think about big-O notation? It's about as useful as calculus. Remember, doing something twice does NOT cost as much as doing it once (and this is before factor in goodies like cache miss and waiting for OS and whatnots). It's like push-ups: good mental exercise, but not actually used. So, telling someone "you need to learn big-O notation after 6-month bootcamp" is like saying "learn football for 6 months, add some push-ups, and you are ready for NFL." Am I the only one finding this ridiculous?
- focusgroup0 9y agoHave interviewed a bunch of bootcampers. Goal is to give everyone the benefit of the doubt. Without fail, they lack the fundamental knowledge needed to excel. Not because the classes or assignments are bad, but because there is so much hard-earned experience and "instinct" that only comes with time in front of a keyboard.
- cholantesh 9y agoCurious as to where this demographic gets hired, as it is rare for me to find a JD out there that doesn't ask for a degree in comp sci/soft eng.
- t0mbstone 9y agoI've been doing full stack web programming and server administration for the past 20 years, and I almost never encounter "Big O" notation and algorithm problem solving except in interviews. 99% of the things I have built in the past (and continue to build on a daily basis) consist of just gluing things like APIs together, or building user interfaces that essentially just allow users to display and modify data in various databases. I've had to learn tools like Docker, Git, Travis, Ansible, and Kubernetes. I've had to be able to learn the basics of languages like Javascript and Python and Ruby in a matter of months or even weeks. I've had to pick up frameworks like Angular and React and whatever new shiny thing exists, at the drop of a hat. I have built large web-based software projects that power multi-million dollar companies, and that handle millions of users on a daily basis. I don't have a college degree, and my knowledge of advanced math ends at Algebra. But that didn't stop me from assembling and launching a machine learning platform for the company I work for. But yeah. I don't know shit about algorithms or your "Big O" that you love so dearly and love to judge every "programmer" by.