If you work in tech, you probably know how hard it can be to get a job sometimes. Your first job is by far the most difficult to land (especially if you want a half-way decent one). When I meet developers at meetups or talks that have recently finished a bootcamp and are looking for advice, that’s usually what I mention. “It gets easier” I try to tell them, and I think that’s true. The first job is the hardest… In fact, I had to lie to get my first job…
I went to the University of Maine where I majored in English (hold your laughs, please). I graduated in 2008, which was the worst year to graduate since the great depression. There were no jobs whatsoever and the only work I found was a temp job at my mom’s company (thanks, mom).
I bounced between a few jobs, worked at Best Buy for a while and eventually ended up working in Tech Support for a software company. This is where I first got exposed to web development. The company had software that allowed you to create surveys and questionnaires that could be published to web, mobile and paper. The web surveys allowed you to insert custom HTML and sometimes customers wanted to do really weird things.
At the time, I was living in Portsmouth, New Hampshire and there weren’t a ton of resources available for me to learn. Bootcamps did not exist near me (and they were fairly new in general). So, I signed up for classes at my local community college. Twice a week, I would leave work and sit in a classroom for three hours. The first class I ever took was a course in SQL and database design (something I knew nothing about whatsoever). I’d say that has been one of the most useful courses I have ever taken because it is still so relevant. Sure, Postgres is a bit different than the MySQL I was writing, but the core knowledge behind writing a query has come in handy more times than I can count.
The act of applying for jobs was pretty deflating. To be fair, I had it better than most because I at least had a job at the time that I didn’t hate. I wasn’t making a developer’s salary, but I kept the lights on. I really feel for the people who had to quit their jobs to attend a bootcamp and go into debt to complete it. That’s one of the really nice things about community colleges: the classes weren’t that expensive. I paid for each course as I took them and if money was tight, I could take a term off.
Applying to jobs usually went like this:
I could not get my foot in the door anywhere. Nobody wanted to talk to someone with no experience, no internships and no CS degree. Out of the 100+ jobs I applied to, only 2 did phone interviews. The first one was a google hangout where they asked me a series of questions in Java. This was a language I knew almost nothing about and the position was “Front End Developer!”
I remember I had to talk through (no code, no using google) how I would write a function that would check to see if a string is a palindrome. In a language that 👏 I 👏 didn’t 👏 know! I forget how I got through it, but one of the guys on the call sighed and rolled his eyes so cartoonishly, I thought they’d roll away. He said “won’t that create a bunch of extra strings in memory?”
So, I got to the point where I really just thought it wasn’t going to happen. It had been over a year of applying and I couldn’t get past level one. I started to accept that it just wouldn’t happen. At least I enjoyed learning and maybe I could work on some cool side projects.
As fate would have it though, I came across a really interesting job posting.
There was a startup in Boston called “Society of Grownups” and the job posting said that they were looking for junior developers. The technology description said they were writing Ember and Node but it was ok if the applicant didn’t know those technologies. They actually said in the job posting that they would teach you!
But I’d done this dance before and I knew all the steps. These skills aren’t “required” … we’ll take someone without this experience if literally nobody else applies. So, I thought I’d mix it up a little bit and pad the ol’ resume.
- Ember? Sure, I know the embers.
- Node? Node problem.
- Git? Gitchu that job, son!
I had no idea what git was or how version control worked.
My version control was copying a folder and calling “v2.”
I changed the language around of my resume to strongly imply that I helped with my current company’s website redesign (I hadn’t). I wrote up a long blurb about an internal project for parsing survey results and managing them in a CMS for a client. The client was me… And it was “internal” to my computer…
Years later, I would push that code to GitHub for laughs.
You can check it out in all it’s PHP glory. It features great file names such as
I sent the application off, slightly chuckling and certain I would never hear back. But fate is funny like that and it turns out companies actually want people with experience. The only problem was, I didn’t actually have the experience advertised. But I’m a man of positivity… and what did I have to lose?
They sent me a follow-up email asking for my portfolio.
I scrambled to put something together. I had been playing around with Angular in my free time, since I read it was the “biggest thing” in web development. I managed to throw together a pretty awful portfolio with some code examples.
You bet I pushed that up to GitHub years later: Portfolio
Somehow, that was sufficient and they sent me a take home test 😱! The email said “it should only take a couple of hours.” … It took me 6 …
But I learned a lot! This is when I learned what a ternary statement was and I was pretty proud of myself.
developer.hasNoClueWhatTheyAreDoing ? 'They are going to be so impressed' : 'If conditions probably read better...';
…I literally left a comment pointing out said ternary…
I managed to find this in my emails and now it is up for your viewing pleasure
And yet! Somehow, I got an in person interview! I was ridiculously nervous. It was in a part of Boston I’d never been to (Brookline? That can’t be real). So, as a person from Maine, I naturally assumed it was 3 hours away and left early to give myself “extra time.” It was an hour… and I had so much time, I walked around the neighborhood and got ridiculously sweaty and oops, forgot it was only 2 hour parking.
Anyways. Lucky for me, the job interview wasn’t overly technical. Everyone I met was really nice and there was never a trick question — it actually felt like they were trying to get to know me. Clearly, they didn’t get to know me well enough because they eventually offered me the job.
And the rest is history. Ember, Elixir, Open Source, 1,000 YouTube Subscribers, Engineering lead at Netflix, and so on. All because I padded the resume… I don’t do that now, obviously, since I have the experience. And I certainly won’t advocate for this at all. Maybe I would have been interviewed at this place any way and it was just the right place at the right time. Maybe that extra couple of sentences got my foot in the door, and that was really all I needed. Who knows?
I’m glad it worked out the way it did and hopefully there is a lesson to be learned here. One thing I will say is that if you are interested in learning how to code but don’t want to a 4 year school and don’t want to shell out $10,000 for a boot camp, look at your local community college. The nice thing with night classes is you can work around them and you can pay just a little bit of money to see if it’s something you’ll even like. Self-teaching works too, but I benefited greatly from having an instructor and a path to follow.
I was hoping some moral lesson would come out of this, but it doesn’t seem like that’s the case. Oh well.
Life is funny like that, sometimes.