Five Tips for Landing a Job as a Bootcamp Grad December 05, 2017
During my tenure as a tech lead at Emsi, I had the opportunity to screen and interview a few dozen candidates for junior front-end engineering positions, and I looked at quite a few bootcamp grad applications. I want to be candid up front: I had a slight bias towards people with computer science degrees from universities (I also had one myself) over bootcamp graduates. The CS degree indicated they had spent several years thinking about challenging technical problems and could probably pick up frontend skills quickly -- even though the bootcamp grads, in theory, would be better-prepared for immediate frontend / web development type work. I was also concerned that bootcamp grads might be able to make web apps look pretty, but when it came to whiteboarding out a new algorithm (seldom as that might happen on the job), they might be all but useless compared to a CS major.
That being said, there are ways that bootcamp grads were able to really set themselves apart from your run-of-the-mill CS majors, both with their resume / portfolio and in the tech screen. Here are some tips that I believe would give bootcamp grads their best bet at landing that first coding gig:
1: Don’t list every single language/framework/tool you’ve ever used on your resume.
Sometimes less is more. Consider this "skills" section of a resume:
In this case, you’ve listed off a ton of technologies; congratulations! Maybe you’ve seen all of them and even written a "hello world" program in all of them (again, congrats). But are you really a competent C++ programmer AND fully proficient with CSS?
This kind of spam-listing of all-tech-under-the-sun is a red flag for me. There are so many things here; it’s impossible to tell what you actually are good at from this list, and I know you aren’t good at more than 3 or 4 of them. Maybe you can get good at anything, but your resume isn’t supposed to list theoretical skills!
Here, on the other hand, is a "skills" section that would grab my attention more:
This might seem counterintuitive, but you’re communicating that you know a couple really broad or complex subjects fairly well, and it sticks in my mind more: "Oh, this person is good with Vue."
Even better perhaps, is to drop the skills section and instead cite the skills involved with the projects on your resume. That way I can see if you know what you claim to know by clicking a link. This leads me to my next point...
2. Link to projects that are hosted live somewhere and look nice.
I get that a lot of people give this advice, but even as a tech lead going through a stack of resumes, sometimes I don’t have time to look at the code (as much as I want to). More commonly, I have about 30 seconds to click a link and play around with your demo app or site. If it’s really awesome I may look at your source code, and if that is really awesome you can guarantee I’m calling you up for a phone screen.
A lot of candidates gave me source code with screen shots of the app, or apps with links that were either broken or took 2 minutes to load (which I never had time to wait for).
If you have some really great projects, you can totally spend a couple dollars a month to have a decent web server so that the page loads in less than 10 seconds or even doesn’t have to "wake up" first. It’s definitely worth it!
Even if it’s an API or some backend project: link me to some nice-looking documentation!
3. Build and showcase projects that you actually enjoy.
I’ve looked through one too many To-do lists, reddit/hacker news clones, etc. Many bootcamp grads end up posting their portfolio of things that were in the curriculum that have been built countless times before.
I suggest focusing on one or two projects that you really like, not that you’re posting just as resume fodder.
For example, I don’t really have a use for C# and I don’t care to look at ASP/.NET jobs or anything, but I built an entire Zelda rip-off in Unity 3D using C# just because it was super fun. I ended up spending a ton of time on it because I actually wanted to, and I learned a lot about OOP and game design, and it often came up in interviews with smaller companies (including when I applied at Rithm School 😉) because they thought it added character.
Adding character is a great advantage to you as a candidate! You stick out more, and can sometimes end up scoring bonus points on "culture fit," which goes a long way. Plus, we’re all geeks for doing coding / web dev anyway, so there has to be some kind of pet project that you would really enjoy working on! It will also be much easier to talk about something that you hold dear rather than something like "Oh yeah, here’s my reddit clone... it’s like most of the other reddit clones BUT it uses async await instead of promises! How about that!"
4. Be verbose during a technical phone screen or code challenge.
A lot of phone screens go like this:
I read the question to a candidate, and ask if they have any questions.
Candidate asks one clarification question, then silently stares at the screen, thinking. Then writes a bunch of code, and says "Ok, I think I’m done."
Alright, so were you just copying stack overflow during that time, or were you just leaving me in the dark for no reason?
Everyone will tell you to constantly talk out your approach to solving the problem. But I will go further, and suggest you "show off" or simply demonstrate a little about what you know about the language or programming concepts. For example, given this problem:
Write a function that, given an array of numbers, returns a new array with the sums of every pair of numbers. Ex: [1, 1, 2, 3, 4, 5] returns [2, 5, 9]
This is a pretty impressive monologue to me:
"So there a couple ways to solve this. I know I want this to be a pure function, which means no side effects, and that brings to mind two built-in Array methods to choose from: map or reduce. I can use either one of them to return a new array. I’m going to choose reduce, so I will set up a callback as the first argument, and an accumulator as a second argument which gets built upon each iteration."
I know this might sound over-the-top, but this candidate basically just convinced me that they really know some fantastic things:
- What pure functions are
- Map and reduce methods / what they do
- How to set up a reduce in JS and how it works
At this point it’s much easier to forgive them for other mistakes such as syntax errors or off-by-ones.
5. Know your Big-O and reference it in technical interviews.
One of the main criticisms about bootcamps is that their grads are clueless about algorithms and data structures. Luckily, Rithm School grads don’t have this issue, but even so, I can’t emphasize enough that without an academic background in computer science,your technical interviewer may very well assume you don’t know anything about time/space complexity or Big-O notation. Or at the very least, they’re not going to be expecting much, if they’ve seen your resume.
You should always state the time/space complexity when you’re solving problems. Talk about trade offs between different approaches. If you can, reference similar algorithms or algorithmic techniques (e.g. "this can be solved recursively with memoization or iteratively with a bottom-up approach"). For even more bonus points, sprinkle in some ridiculous technicalities ("this might be O(n2) worst case, but it’s roughly linear amortized").
If you’ve spent a lot of time on algorithms (and if you haven’t, you should), then technical screens and on-sites are your time to shine, even if you’re "just a frontend web developer." This will put to rest the idea that you’re not as knowledgeable (in the key areas, at least) as a CS grad, and you can effectively close the skill gap.
I hope these five points are helpful to you if you’re a bootcamp grad! Or if you’re someone who recruits or hires bootcamp grads, maybe you have similar experiences!
Written by Michael