My post-bootcamp job hunt

Note: This is a long and rambly post about my experience of applying for jobs after WDI. The tl;dr is that hiring practices differ in the US compared to the UK, but that I eventually got a job that's pretty much everything I was looking for.

I'll start by explaining that I was a bit of an unusual case when it came to the job search. I'm British, but I took WDI in San Francisco, and I ended up applying for jobs in the US as well as the UK. It was interesting getting to experience the process in both countries.

I travelled to the US under the Visa Waiver Program for WDI, which lets you stay for a maximum of 90 days. It turned out this was just enough time for the course, but it meant I had to fly in on the Sunday before it started and leave on 20th December, the day after it finished. GA puts on a science-fair-style 'meet & greet' hiring event a few weeks after each cohort ends, where local companies looking to hire developers can meet the bootcamp grads, and you can demo your projects to potential employers and chat to them about what kind of job you're looking for. Being back in the UK meant I'd miss the SF one, so GA suggested that I join in with the London one instead.

I spent the 3 weeks before the hiring event tidying up my GitHub and polishing my projects, fixing bugs, making the UIs pretty, coordinating with my team back in SF about our group project, Oomerang, and generally making sure all my code was in a presentable state (nicely commented, readable, easy to walk someone through etc.). I also built myself a portfolio site so I'd have somewhere to direct people where they could see my projects as a developer, but also get an idea of the stuff I used to do as a copywriter.

The meet & greet

The London meet & greet was a 2-day event, held on January 14th and 15th at Google Campus near Old Street. I think they had over 150 sign-ups in total, and it really felt like it! It was manic. I don't think I've talked so much in the space of a few hours before, ever. Both days were basically solid talking, sometimes to 2 or 3 companies at once, often with a line of people waiting behind them. I'm still kind of amazed my voice stayed intact for the whole thing. The companies had been given a document with info on all the grads beforehand, so it was really great to have people come up to you and know your name, tell you they'd checked out your projects and wanted to come and speak to you specifically.

There was a huge range of attendees, from tiny startups to more established companies, recruiters to founders to developers, tech firms to digital agencies and everything in between. I got to chat with a lot of really lovely people, even if I wasn't specifically interested in every company there. Most of all, the excitement and interest around our new skills was a massive confidence boost. This was really the first time we'd been exposed to the real world as new developers, and I wasn't sure what to expect, but the overwhelmingly positive response from companies felt like a first taste of confirmation that this whole thing had actually been worth it.

I got contacted by 10+ companies on the first night alone, and by the following week, had 4 interviews lined up. Of those, 3 turned into offers. The other one was with a little startup where we mutually agreed I was probably a bit junior for what they needed at that point, but we connected on LinkedIn to stay in touch anyway. I turned down several more chances to interview because I didn't feel like I'd have enough time to prepare for them all properly, but I ended up making similar casual agreements to stay in touch with a few companies. The London tech scene seems pretty close-knit like that, as I got emails from a few more people in the following days who'd been given my details by companies I'd met at the meet & greet.

Back to San Francisco

Overall, although the London hiring event was a hugely positive experience, I didn't end up accepting any of the offers I received. Instead, I went back to the US in February for 2 months to try my chances at getting a similar response over there. From what I'd heard, the hiring environment there was even crazier than London. But I also knew I had very little experience, and additionally would need visa sponsorship. I didn't know what to expect, but I was curious to find out.

I don't think I was prepared for quite how different things would be in San Francisco. The first couple of companies I spoke to (I had introductions through friends of friends) were pretty big names in tech. Both would've been interested if I hadn't needed a visa, but this, combined with the fact I had no experience, meant they didn't want to continue the interview process when they found out. So I didn't get beyond talking to a recruiter in either case there. There were a handful of other less well-known companies that didn't want to continue the process for the same reason.

I think there were 3 companies I spoke to who were aware of my visa situation, and who still invited me for interview. The first happened early on in my trip. After the interview, they got back to me and said they thought I'd be a great addition to their team, and asked me about salary expectations. It seemed like this was looking positive, so I replied with an initial figure based on advice from people I know in the industry. But they came back to me with a very odd response, saying that the figure I'd mentioned was far too high, and that they didn't have a suitable position anymore. I tried twice to reply and say that that figure really was just a rough starting point and that of course I was open to negotiation, but I never heard from them again. I still have no idea what happened there, but I have a feeling I can probably count it as a lucky escape. The second was a small startup in Redwood City that actually got in touch with me. They knew my background, but one of the people who interviewed me there started asking me if I knew Java and then asked me CS-based questions about things I'd had no exposure to. This would probably have been entirely appropriate for a new CS grad, but I'm not one, so I'm not entirely sure what they were expecting. Either way, I was certain I hadn't made the impression they were looking for. They came back and said that they'd like to speak again in 6-12 months, but that I was too junior for the moment. The third was my first real try at a coding challenge over Skype. The problem was easy, something I was perfectly capable of doing, but I'd failed to anticipate just how difficult I'd find coding under those circumstances. I managed to completely fall to pieces, muddling my way through what I knew was a stupidly easy problem. I eventually produced something that worked, but it took forever and was possibly the worst code I'd ever written. It was like I just forgot how to think. With 2 people staring at me over Skype, my brain pretty much refused to work and the whole experience was about as painfully awkward and embarrassing as it could've been. I guess at least I learnt that coding on the spot, in front of people, is something I need to practice.

There were a handful of other companies I spoke to where I didn't get as far as interview, either on the phone, or over email, or by dropping in to see them. They all fizzled out at various points. Some after a call, some after submitting a code challenge, some after emailing them a résumé, only to wait, and wait a bit more, and then hear nothing back. This isn't even counting the 20-30 cases where I either applied through a job posting, or mailed someone personally through LinkedIn, and still received not even so much as an acknowledgement. I was starting to notice a theme in the general response. An underwhelmed, unimpressed, unenthusiastic, disappointed-that-you-weren't-a-shiny-CS-grad theme.

After the positive London experience, it was kind of like smashing into a big brick wall of disappointment. There's nothing like someone looking down their nose at your work and reminding you that 'you're really very junior,' and then when you've finished talking them through your code, that 'this isn't going to go anywhere, at all' to bring you back down from that relative high perch of confidence.

The worst part was the stock rejection emails. 'Unfortunately we do not see a position that closely matches your skills at this time, but we wish you the best of luck in your job search.' Yeah, thanks. I don't know if it's a legal thing in the US or whatever that no one seems to want to give any actual feedback, but this kind of response just turns applying for jobs into a black box. You put a heap of time and effort in, then at some point either one of these generic corporate rejection templates or absolutely nothing falls out the other side, and you're never any the wiser as to what you're doing wrong. Were they guessing I wasn't a US citizen from the fact I had a UK university listed by my degree? Were my projects too silly for people to be taking my abilities seriously? Was it because I was female?

One person I spoke to kindly shared that they 'hadn't seen much quality coming out of the bootcamps.' It was at this point that I started to wonder, maybe I'd joined the bootcamp party too late. A year or two ago when bootcamps first took off, graduates were snapped up quickly. The industry was (and still is, in certain cases) desperate to hire people, and bootcamps sprung up in an attempt to capitalise on this demand. But now I see that what the industry really wants is people with a couple of years' experience. It might sound harsh, but I have to agree that in the majority of cases, bootcamps are not producing engineers. They're churning out people with, in most cases, a lot of potential, but barely the very beginnings of what it takes to be a successful engineer. And no matter how desperate companies are to hire, there are only so many roles they can afford to fill with people who'll need extensive mentoring and support before they'll be productive. If you think about it, bootcamps were never going to be a complete solution to the problem. There's still a need for experts, specialists in areas that need a lot more than 12 weeks of training. They probably also want people from CS backgrounds partly because that means you've already covered certain theory that's going to be useful for the kind of scale those companies are working at. Bootcamps don't (because they simply can't) teach you all this stuff. So I think it was only a matter of time before the bootcamp thing would start to saturate the market, and increasing skepticism from companies (plus more and more jobseekers with a bootcamp-acquired skillset) would mean that the number of jobs available to bootcamp grads would start to dwindle.

Interview style

One thing that stood out in my experience was the difference in interview style in the US compared to the UK. The first few interviews I had in the UK, all with companies I'd met at the meet & greet, ranged from a casual chat over coffee to a 45 minute interview, perhaps with a few basic technical questions thrown in, but certainly no whiteboard coding or asking me to solve problems on the spot. They all went out of their way to make sure I felt really at ease, reminding me that it didn't matter if I got things wrong, and that they were only even asking me the technical stuff to get an idea of what level I was at.

For each offer I received, it was after only one such interview. I was confused. It seemed too easy. This was nothing like the gruelling processes we'd been told to expect by GA.

In San Francisco however, things were different. Every company I spoke to had (or would've had if I'd got further) a multiple-stage interview process. While it usually starts with a non-technical phone screen, you're basically going to be put through your technical paces before they're even thinking about hiring you, or considering whether you're a good cultural fit. It can involve any combination of a technical phone screen, a take-home coding exercise, a timed challenge online, pair programming with one of their engineers, solving problems in a shared editor like Stypi or CoderPad, or writing code on a whiteboard.

I had been told to expect all of these things, but I didn't realise just how much of a tendency I'd have to panic and have my mind go blank when attempting any of them. And of course the more this happens, the more you form that association, and the more likely it is to happen the next time. There's something about being expected to perform on the spot and write code that is going to be closely scrutinised to determine your worth, and ultimately form the basis of a decision about your future, that I just found inherently terrifying.

I completely agree that companies should want to gauge technical ability before hiring anyone, but this process seems crazy to me because it's going to weed out people who might otherwise be awesome. It's basically saying 'we've seen your code, we know what you can do, you have a valuable skillset, and we think you'd be a great person to work with. But if you fail to solve this one specific problem on this particular day in this exact environment, then NOPE NOT INTERESTED.' And that's your chance gone.

There also seemed to be a lot more emphasis placed on the importance of having a computer science degree. Job specs seem to list it as a requirement in the US more so than in the UK (even though it's not in reality, because I know several very successful engineers from other backgrounds). What this means for job-seekers is that a lot of the interview hoop-jumping in the US tends to be based on CS trivia. Although I am learning more of this theory as time goes on (it's really interesting, I wish I'd known it was a thing when I chose my degree subject), this wasn't the focus of the WDI course. We learnt web programming. How the internet works, what servers and databases are, how to build Rails apps and how the stack fits together. There was a tiny bit of CS theory, but it was so brief that I don't think anyone really understood it, and we moved on so fast that there was no way we knew enough to pass interview questions designed to test people who'd just finished a 4-year degree.

I'm not sure why this CS trivia style of interviewing is so prevalent there, especially given that I was mostly going for front-end roles. I'm not saying it doesn't matter. For example, knowledge of algorithms is important for writing efficient code as opposed to code that works but will probably be horribly brittle and expensive, and I think this is something bootcamp grads will have to learn while making the jump to become engineers. But the thing is, a lot of the things you get asked about at interview aren't even things you'd ever need to use once you got hired to do the role. I think what it comes down to is that interviewing is hard, and it's easier to say 'right, this is our benchmark, this is the arbitrary bar we're going to use to determine whether someone is good enough to work here.' It's a very Google-style approach, and I think there's probably a fair amount of cargo-culting by other SF tech companies in adopting this strategy.

Computer science also seems to have this kind of respect and prestige around it that doesn't really exist in the UK. If you want a typically prestigious career in the UK, you go into law or medicine. In the US (at least in the Bay Area, I'm really not sure about anywhere else), people who've 'made it' are in tech. The amounts of VC money pouring into the industry mean that's what you do if you're trying to be the next big thing. In the UK, although I think things are gradually changing, IT is still much more of an underground, nerdy thing. It doesn't attract the chino-wearing frat boys in the same way.

Why the difference?

So why did my experience vary so drastically in each place? I know I'm generally employable. I'm enthusiastic, hard-working, very bright and a nice person to have around. I've never had a problem with that side of getting hired. My developer skills were new, sure, but I'd completed WDI successfully and wasn't behind where I would expect to be for someone of my level. I wondered if I'd made some cultural faux pas with résumé style, but I had several American friends who know the industry confirm that my résumé was fine. I always knew needing a visa would be a barrier, and I was expecting that this, if anything, would be my downfall. But the weird thing is that the majority of the rejection/disinterest happened without companies even getting to find out that I needed visa sponsorship. I don't know what else to put it down to other than the SF job market becoming gradually more hostile towards bootcamp graduates.

In London, there are only 2 bootcamps that I know of, compared to what must be about 20 now in the Bay Area. Sure, it's a different market and there are undoubtedly fewer jobs in London, but there also isn't the saturation of this kind of entry-level talent. What's more, if the holistic hiring practices that I experienced are common to other London companies (evaluating someone based on their whole offering rather than PASS OUR TECHNICAL TEST TO OUR SATISFACTION NOW OR WE WON'T EVEN LOOK AT YOU), then that would also mean it's generally going to be a friendlier place for a new developer looking for their first chance to prove themselves.

As my time in SF was coming to an end, I was starting to feel a pretty serious dent in my self-worth. Unemployment is dehumanising at the best of times, but I was still convinced I must be getting something really wrong here. The only other difference I could think of was that all my interviews in London had been with companies from the GA meet & greet. They'd come specifically looking for people of our level, aware of the course we'd done, and knowing that we were preparing for our first roles as developers. Maybe this was why they were so nice at interview, because they had more of an idea what they were getting.

Although I was nearing the end of my capacity to cope with much more rejection by this point, I really wanted to test this last theory. By way of experiment, I applied for a couple more jobs back in the UK. Just through job boards, no personal connections, no introductions, exactly the same résumé (or CV in this case) and basic cover letter content as I'd used in the US. I got a response from both of them within 2 days. Of those, one turned into the job I ended up accepting. Ironically, it also had the longest and most intensive interview process of all the jobs I'd applied for.

It started with a phone screen with a recruiter. After the call, she sent me a coding challenge to do at home. The position was a JavaScript-heavy front-end role, and the challenge was very focused on JavaScript. I actually really enjoyed it, and learnt a few new things about the language in the process. A couple of days after submitting it, I got an email back. They were happy with the results, and wanted me to have a call with the front-end team lead. This went really well too. We talked about the kind of things I'd done on the course, why I was passionate about front-end development, and some of the things they were currently working on. He also mentioned that he was impressed by my solution to the challenge, which was nice to hear. Next was an in-person interview to meet the team lead in person, and also the VP of Engineering. I got on with them both really well, and there was another small technical challenge to complete during the interview. It wasn't something I knew how to do, so I was upfront about that and didn't manage to write much code, but talked around how I would approach it and the kind of things I could see we might need to consider. I was worried I'd messed up at this stage, but luckily my attempts were enough to get me through. Next was another in-person interview, this time with the CTO and a senior QA engineer. We went through my CV and talked about technical stuff, but they weren't quizzing me on anything specific this time. By the time we were halfway through the interview, the questions had turned into asking how my reflexes were in the line of nerf dart fire. The final interview involved meeting the founder and another engineer I hadn't met yet. We chatted a lot about the importance of diversity, and what kind of things make an awesome culture. I was getting really good vibes by this point. Everyone I'd met had been lovely, and I was genuinely excited about the prospect of working there. The role was perfect for the direction I want to push my skills in, and the people seemed to have just the right mix of intelligence, calm patience and sense of humour. Later that day, I got a call to say they'd like to make me an offer. I accepted, and I start on April 28th.