There has never been a better time to join the tech industry. These days we have all kinds of resources for self-teaching (like I did), connecting with other technologists (DEV), and building a career in tech. It seems like every time I go to a coffee shop or get in a Lyft, someone asks me about becoming a developer.
Liquid error: internal
I usually share my story, or a piece of it, about dropping out of college and working through a few low-paying internships until I found a Rails shop that would take a chance on me. As it happens, that was a pretty harrowing experience and launched what will probably be a lifelong relationship with imposter syndrome.
You'd think that with all the people being told to hop on the tech industry gravy train, finding a developer job would be easy.
Ironically, finding a job in tech can be difficult, and that difficulty is usually multiplied exponentially for those coming from underrepresented demographics.
Before I share the story of how I got hired at DEV, I want to take a few seconds to recognize the considerable role that my privilege has played in my journey.
I wouldn't be where I am if I didn't start with some serious advantages.
I don't come from wealth (I'm probably making more today than anyone in my family tree has ever made), my parents didn't go to college, and I received a public education in a state that competes for the worst education ranking in the United States. Still, I am among the most privileged people in the world.
I am a white, straight, cis-gendered male who knows more about Star Wars than 90% of the population, and while I didn't grow up around other technologists, I started writing code before I was in high school. When I walk into a room, people think I look like a software engineer; that has been a huge part of my journey, and I want to make that clear before I talk about the things I did to break into tech.
I can't give advice in good conscience because some of the things I did won't work for people who weren't born with the same advantages I have, but I can share the things that have worked for me. Hopefully, others can pull some inspiration or value from my story.
I'm pretty young. I rarely share my exact age with people because I learned early on in my relationship with startups that young people aren't always treated with equal respect (specifically by investors and older founders).
A handful of years ago, I was in college and working through Air Force ROTC (a commissioning program for officers in the USAF). After a series of seemingly unfortunate events, a weight-lifting injury, and a couple of heart-to-heart conversations with veterans in my family, I left my goal of becoming an officer in the Air Force behind.
For me, leaving what was supposed to be a lifelong career path was pretty scary. I didn't know what to do and stopped going to school. During this period, I achieved the peak of Counter-Strike career by reaching DMG, but that's another story.
After a few months of not doing much, I enrolled in a local community college, pursuing a business degree. I'll pretty much leave my academic career behind in this story, but I dropped out at about a semester shy of a BS in Information Systems at some point during this journey. Honestly, I wish I would have done it earlier.
While I was screwing around and trying to get a degree, I decided college wasn't teaching me what I wanted to know, so I started searching for internships. This is where my strategy for finding jobs was born.
To help convey exactly how I ended up getting a job at DEV, I'm going to tell the story of how I found my first internship because it was actually a really similar pattern.
I've had a job since I was old enough to work (and also before). I'd been a lifeguard, a janitor, worked in a movie theater, a summer camp, a bookstore, had a job selling MacBooks, and worked at Lowes' before starting in tech. That being said, I had no idea how to go about getting an office job.
My first internship was at a Fortune 500 transportation and logistics company called J.B. Hunt. I got the internship by using a method that would only be employed by someone who had never tried to get a corporate job before: I called the first phone number I could find online and asked for a job.
It turns out that there is a straightforward way to get past auto-filters and ATS pipelines, even at the largest and most slow-moving corporations on Earth. It's as simple as not applying, at least not until after you're in contact with a hiring manager.
I got lucky with this first experience; somehow, I got through to a hiring manager before I hit an HR roadblock. By the time I had sent my resume to the company, I'd already had a phone interview with someone hiring interns for the IT organization within J.B. Hunt.
After that experience, I haven't actually applied for a job (that I've taken) since.
I had something like five internships while I was "going to college" (I had dropped out by the time I was doing the last couple of internships). I got every single one of them (except the one at J.B. Hunt) by cold calling someone with the letter "C" in their job title.
The advice I share with people trying to find a job in startups or medium-sized companies falls in line with the method I used to find each of my internships: Get coffee with someone who can hire you. Ideally, you can build a relationship with someone who can hire you without asking anyone else; CTOs, CEOs, COOs, and Co-founders are the people you want to get to know when you're looking for a job.
There is a secondary benefit here, even if you aren't looking for a job, these people are wonderful contacts and mentors (and sometimes great friends).
This is the part of the story where people start to wonder if I'm going to use the evil, sleazy word "networking." The honest truth is that nearly all of the things you could define as success in my career have come from networking.
I've found, at least among engineers, that networking is really misunderstood.
I got into tech because I love helping people. That's the reason I started in IT; solving someone's immediate problem was extremely rewarding for me.
As it happens, good networking is just that: helping people. I'm always on the lookout for ways to help the people around me, the way some of my mentors helped me. I invest a serious amount of time in helping junior engineers to find jobs, start contributing to Open Source and get more involved with the tech community. I do that because I really, really enjoy helping people grow, but it also tends to pay back in dividends.
This is a bit of a tangent, but what I'm getting at is that networking isn't evil, especially if you're coming from a place of trying to help others and build community.
So, if you're able to get in contact with a decision-maker at a company you'd like to work with, you've done the hard part of getting an opportunity to work on that team.
In my experience, once you're able to get in contact with someone, you can get to know what they need. I always shoot for meetings over coffee because it allows me to find out if I can provide some value to these people.
In my case, each of the internships I ended up working stemmed from a problem that I thought I could solve for the person who took the time to meet with me.
I also made a point to learn during these coffee meetings and turned them into short mentorship sessions, complete with a list of prepared questions about the things I was trying to achieve or working on.
More often than not, I faced rejection when trying to set up meetings with the people I was looking to meet.
Early on, I'd say 80% of the people I sent emails or LinkedIn messages never replied or told me they didn't have the time to meet with me.
Even those people who met with me didn't always mesh with me or sometimes felt that I didn't have enough to offer them. Once in particular, I asked a mentor for the chance to intern under him, and he said, "You're trying to play in the NFL, but you don't even play football yet." That was pretty rough.
Here is the point: Getting in a room with someone who can offer you an internship is the most challenging piece of the struggle. The second step is finding a problem you can take off of their plate, which is easy to do if you come prepared with questions and thoughtfully consider the answers they give you.
I was able to repeat the internship process in some form or another quite a few times. I found some great internships and some terrible ones by getting to know people who could offer me a job and trying to be helpful.
When it came time to get my first full-time job, I was actually working two internships at the same time. I was working a lot more than 40 hours a week, and it wasn't healthy (and interns don't make much money), so I was looking for an out.
Because I had invested in networking, someone reached out to me about joining a super high-quality Rails shop in my area, and I ended up (somehow) getting through a five-round interview process.
After a very difficult year (which I spoke very briefly about at 200OK), I went back to my strategy of networking with founders to find a job at a startup in my area.
I reached out to the CEO of a brand new startup called Engine with this LinkedIn message:
Remember how I said 80% of the people I reach out to end up ignoring me? Probably by accident, John never got back to me in 2017. I tried again in 2018.
By meeting with John over coffee, I was able to have a very human connection with someone who didn't need to go through some HR process to hire me. As the CEO of a startup, John could decide to hire me based on our attempt to connect as humans rather than my ability to navigate an interview process.
Long story short, I joined Engine as a "Junior Developer." That job was a decrease in title and a nominal increase in pay, but it ended up being one of the best career decisions I've made so far.
Engine gave me a platform to expand my professional network by getting involved in Open Source.
During my time at Engine, I doubled down on my involvement in the tech community: I started organizing conferences, speaking at small events, blogging, and I started a tech career podcast. Those time investments in the tech community ended up exponentially increasing my network and exposing me to mentors that I'd never dreamed of getting to know.
Surprisingly, networking is pretty cool.
A few months ago, I accidentally replicated my process for finding jobs with DEV.
I met Ben through my podcast.
Actually, I met Ali, who told me to talk to Ben.
Don't stop reading just because you don't have a podcast. Let me tell you a secret about my podcast.
My podcast is two things: 1) a trick — 2) a useful service to the people who talk to me.
I never set out to build a big following or a serious listenership for my podcast. I came up with the idea while sitting in my wife's office, wondering if Avdi Grimm had struggled with imposter syndrome the way I had.
It took me about 20 minutes to email five or six of my heroes and ask them to talk to me about the things they struggled with. Once a few had agreed, I had a podcast.
The "trick" is pretty well encompassed by something Kent C. Dodds told me after I interviewed him, "I can't sit down and talk with a thousand people, but I can record this interview and send the link to people who ask me these sort of questions."
Now that I've had some awesome guests on my podcast and a handful of dedicated people listen to my interviews, it's pretty useful to the people I interview. They can have the "mentorship" conversation with me once, and thousands of people can benefit from the same conversation.
The kind of people I was trying to meet (generally well-known, experienced engineers) were busy people. I wasn't going to get an hour of their time just by asking for it, but if I could give them something tangible in return, they might be able to make time for my questions.
Just like when I was looking for a way to solve problems for my mentors, I am now trying to solve a problem for my role models.
Ironically, when I met with Ben, I wasn't looking for a job.
I wanted to interview him because someday I'd like to start a company like DEV, one with strong values and a close connection to the Open Source community. It just happened that DEV had the resources and interest in bringing someone like me on-board.
At the end of the interview, when we had stopped recording, I asked Ben something along the lines of, "Is DEV going to hire soon? What does your company look for in people?" I honestly wanted to know what kind of skills I should be investing in to prepare for starting or working with a company like DEV, but by serendipity, Ben was looking for people at that moment.
If you've read this rambling post to this point, I'm impressed. I've told a few versions of this story over the last few years, some pretty painful and others (like this one) more hopeful.
Ideally, there is some value in the story. I'll try to find that for those of you who've read this far!
After some reflection, here is the pattern that I can extract from my journey finding developer jobs.
When I decided to leave my first internship, I wrote down 10 "dream companies." At this point, I've worked for about half of them (and interviewed with most of them).
This doesn't need to be something you do intending to get a job; it can just be an opportunity to learn from someone you admire. That being said, never underestimate the power of networking (even if you think it's sleazy).
This is pretty nuanced; if you set out to take advantage of people or manipulate them, you're doing this wrong. Set out to help people. If those people want to reciprocate great, if not, then take joy in helping other people solve problems.
There is also a difference between networking and harassment. Please don't be persistent when people aren't interested in networking. It's super rude.
Learn how to solve the problem they are having, give them a platform, or connect them with someone you know that might be able to solve their problems. Helping other people is rewarding, and it frequently helps you to build great relationships with the people you're helping.
At DEV, I was able to give Ali a platform to promote DEV and later give Ben the same platform. I also made a couple of small PRs to the repository.
You can't expect people to know that you're looking for a job unless you tell them. Even if you don't think those people are hiring, you can ask them for advice on working for a company similar to the one they work at, that is precisely what I did when I was talking with Ben.
I want to reiterate that I don't consider this advice, it's just the path I took. Unfortunately, the vast majority of people would have a much harder time doing this than I did; I have a lot of serious advantages that came into play during this journey.
My goal is to share this story in a hopeful light because I promise there were some dark chapters on my journey to DEV, but I like to think there is something in every story that can be useful to the audience. I might be wrong in thinking that the pattern in my job finding methodology is helpful, but maybe something else in this story is useful to you as a reader.
I'm something of an open book.
If you're struggling in your job search or you think I have some experience that you might benefit from, please reach out to me on Twitter or DEV. I'd love to help.
It would be untruthful of me to claim that I don't apply for jobs (ever). The truth is that I apply for jobs frequently and like to interview. I see interviewing as a kind of sport, and I enjoy learning how different companies hire employees.
That being said, I've never actually taken a job that I've applied for traditionally. Eventually, I might, but many of those interactions didn't lead to offers or led to offers that weren't compelling enough for a job change.
Every tech job I've had has come through my network in some manner or another.
You can also follow me on Twitter, where I make silly memes and talk about being a developer.