Last year at this time, I was a high school teacher. A few months before that, I graduated with a degree in software development. I knew I wanted to switch careers soon but I didn’t have much software experience and my degree was from a little-known, all-online school. I also had a wife and three kids to support and couldn’t afford to take a lower-paying job to get experience. To make things more challenging, I was only looking for jobs in Grand Rapids, MI.
Despite these challenges, I was able to get five software companies interested in me at once, allowing me greater leverage in salary negotiation. I will be sharing the story of my job search and the things I did to help me get a great job. I hope there will be parts of my story that can be helpful to you in a job search. These strategies actually helped me get two jobs since I’m now on my second software job.
As I started teaching last school year, I knew it would be my last. Considering I just started learning software development at the beginning of 2016, that did not give me many more months to prepare to get a software job. I figured I could do it, though, since I was able to get my entire software development bachelor’s degree in just six months.
Since I wasn’t sure how a potential employer would view a six-month, all-online degree, I knew I had to do a lot more to make sure I stood out among other applicants.
The first thing I did was to start creating a lot of projects that I could show off on my resume. After completing my degree, I began creating projects through the freeCodeCamp curriculum. This provided a great source of project ideas and the community was helpful in completing the projects and getting feedback.
Then, I began asking people I knew if I could create a project for their company or organization. I made a few projects for free for organizations that were helping the community. Two were static websites but one was a Craigslist-like web app developed with Ruby on Rails. This one was key to me getting my first job as a Ruby on Rails developer.
I also got paid for some projects like an android and iOS app I made with Ionic for a regional newspaper. I had a friend that ran the newspaper so that helped me get the gig. I gave them a good deal since my main goal was to build up my resume.
These experiences with actual clients gave me good stories to tell when interviewing. More on that later. Another good way to build up your resume is to work on open source projects.
I figured that a few projects would not be enough for me to get a good job, so I started thinking about other things I could do. Toward the end of 2016, I read Linchpin by Seth Godin. This convinced me of the importance of putting content out into the world. What I did next I’ve come to describe as building an authority piece. If you only get one thing from this article it should be the importance of building an authority piece.
This is a specific piece of work that establishes you as an authority in the field. It helps employers trust that you will be a good hire. In the best case scenario, an employer will have already heard of you before you even apply. However, that was not my experience and it is not necessary to have a successful authority piece. An example of an authority piece is an e-book, video course, or popular blog.
Here’s the most important secret of an authority piece: You don’t have to be an authority to create it! The act of creating it makes you an authority! Many of the topics I created videos on were brand new to me. I had to research the topics to make the videos. And that process made me into an authority.
I have another friend who wrote an ebook about using Angular with Ruby on Rails. He said he had almost no familiarity with the technology before he wrote about it. It only took him a few weeks to research and write the book. It does not have to take a long time to develop an authority piece. Just like me, my friend found that having the authority piece made getting a job easier. A potential employer told him, “You obviously know your stuff on Angular. You wrote a book about it.”
One thing leads to another
Just putting something out there often leads to more opportunities. Soon after I started posting videos on my own channel, Quincy Larson from freeCodeCamp offered me the opportunity to post my training videos on the freeCodeCamp channel (with many many more subscribers than mine). Also, after seeing my training videos on YouTube, Manning Publications, a popular software book publishing company, asked me to create a video course on Algorithms.
Not everybody needs to create a video course. But I firmly believe that everybody can create something to show they know what they are doing. Remember: you don’t actually have to know a lot about a topic to create something to teach others about the topic. You just have to have an interest and a desire to learn. An e-book or e-mail course are possible for anyone to create and it will help set you apart to employers. Just the fact that you created them, shows you have initiative, creativity, and drive. And often, one authority piece can lead to another.
Here’s one more thing I want to emphasize: If someone were to ask pointed interview questions about every topic I’ve made a video about I would probably get a lot of the questions wrong. It’s easier for me to know what I’m talking about when reading a script I developed after researching a topic than when I am just answering questions in-person with no script. That’s what great about an authority piece. You can show your understanding of a topic, even if it would be a challenge for you to explain things spur-of-the-moment in an interview.
At one of my interviews, there was a coding question that I couldn’t figure out. I couldn’t remember a specific concept but afterwards, I realized I had made a video about the very thing I couldn’t figure out in the pressure of an interview. The next day I emailed them a link to the video. This was one of the companies that ended up wanting to hire me.
Resume tip: focus on failures
I already had some things to put on my resume, such as my projects and video course. I also had some popular technical articles on Medium. But I wanted to make sure my resume was unique. Employers often get hundreds of resumes for a single position and have to make split-second decisions on whether or not to pursue a candidate further.
Jeff Scardino developed an idea called the relevant resume. Instead of filling your resume with accomplishments, you include job failures, bad references, non-skills, and missed honors.
Scardino recommends that you fill your entire resume with your failures. Many people have had success using a resume like this. It makes your resume stand out when employers are looking through many (almost identical) resumes.
I used a modification of this idea on my resume. Much of my resume was about how my experience and education was perfect for the position. You know, the standard boring stuff.
But I also included ‘bad references’. I used the following bad references with links to the original comment:
“So you went to a fourth tier school and are shipping software that compiles but may not work. I strongly suggest you stay in teaching. #FAIL!” — a commenter on one of my Medium articles
“your explanations really need some work. there has been a lack of clarity in at least half of your videos that i’ve watched so far.” — a YouTube commenter
I figured this would set my resume apart and when people clicked through to see the comments in context, and it would end up reflecting positively on me. Also, I hoped it would communicate how much I value honesty and transparency.
Not everybody I told about this resume idea thought I should go through with it (such as my wife ???? ). I did it anyway and it worked out.
I got positive feedback about this section on my resume from many employers, including the company that ended up hiring me. And here’s what the CEO of another tech company said to me in an e-mail about that part of my resume:
“You’re the first person that had a bad references section on their resumes that I’ve encountered. It was a welcome departure from the norms. Thank you for being honest, courageous, and open.” You don’t necessarily have to have share negative things about yourself in your resume but it is important to think about something that will set your resume apart from all the others.
Here is the actual resume I used, minus my phone number. Free free to use the format.
The Power of Cold Emails
Almost everything I did when trying to get a job was originally inspired by reading about someone else doing something similar. This next helpful thing I did was inspired by a software developer named Haseeb Qureshi’s story
And speaking of Haseeb, I once heard him say that he got a great job offer just on the basis of a single blog post he wrote. That definitely goes along with the authority piece idea I talked about earlier.
Anyway, in an article by Haseeb about how to break into the tech industry, he suggests to cold-email as many software developers as possible and offer to buy them coffee. That is exactly what I did.
I mentioned I was looking for jobs in Grand Rapids. That was about a 2 ½ hour drive from where I lived. Even though I lived so far away, I was able to meet up with about 15 different people doing jobs in Grand Rapids, four of whom ran software companies. I took multiple days off work to drive over to find jobs in Grand Rapids and I often scheduled back-to-back meetings. If I had lived closer, I would have scheduled meetings with far more people.
Here is an actual email I sent to get an idea of what I said in my cold emails. I always started with something personal that showed what we had in common.
I’m a husband, dad, and wannabe beekeeper. I have chickens but in Saginaw where I live bees are not allowed. I’m looking for jobs in Grand Rapids soon and it sounds like GR is a little more open to bees so hopefully I will be able to become a beekeeper. The main obstacle, though, will be convincing my wife. ????
Anyway, I am currently a high school teacher and freelance web / app developer but this summer I will be moving to Grand Rapids and making the transition to full-time developer.
I’m trying to find out more about the jobs in Grand Rapids and I know you have a lot of experience there. Do you have a few minutes so I can buy you coffee and ask you some questions about web and software development?
I will be in town in about a week on March 6th. Is there anytime that day (even very early) that you would be available to meet up? If that day doesn’t work, maybe we could meet the next time I’m in town.
I had a pretty good success rate with this approach. Also, sometimes people I met with introduced me to other people. One of the company CEOs I met with introduced me to another CEO that I was able to meet with.
I found the people to cold-email either by searching on the website for software companies I was interested in or by searching LinkedIn for 2nd and 3rd connections in Grand Rapids that had the word ‘software’ in their profile. I never contacted through LinkedIn, though. I would find their email address somehow and contact them directly.
I always prepared for my meetings by researching the person and their companies. I would think of specific questions ahead of time that was specific to the person I was meeting with.
Besides the one-on-one meetings, I also went to a few different meet-up groups. Again, this was limited because of the driving distance.
In one of my meetings with a company CEO that was set up completely through a cold-email, the person offered to set up a mock-interview at his company for me. The mock-interview was a great experience and I learned a lot — plus I was later invited back for a real interview! Another one of my meetings also led to an interview.
Besides leading to these interviews, my meetings were very helpful in finding out about the software industry in the city and also learning about what interviews were like at different companies. The software industry can be quite different in different parts of the country, so it is important to find out things that are specific to the area you want to work near.
I learned about which programming languages were used the most so I knew what to focus my learning on. I also some things common about interviewing at companies in the area such as the fact that whiteboard interviews were not used as much in Grand Rapids as they are used in other parts of the country. These meetings definitely helped me know how to prepare better for my job interviews.
While the original job I accepted did not end up coming out of one of these meetings, my current job kind of did. Remember that email above? Eleven months after sending that email, I was working for Aaron at Elevator Up! Sometimes things take a while to pay off.
And I only ended up buying coffee for two people. It was common for the people I met with to insist on paying for my coffee and a few even paid for my lunch.
(btw, shoot me an email at [email protected] if you want to offer to buy me coffee ???? )
Apply Everywhere at the Same Time
My goal was to get multiple job offers at the same time so I could use that to negotiate a better compensation. Everyone I told this goal to suggested in some way that I shouldn’t get my hopes up too much of that happening. Well, it did happen. I had five companies interested and I received offers from three of them. The other two let me know they were interested but couldn’t get an offer together before I made a decision. Both those companies let me know they were disappointed to find I had accepted another offer. And just having those other companies interested in me helped me to increase my offer from companies who had already made an offer.
To make multiple offers more likely it is important to apply at many companies at the same time. Once you get an offer or even just an interview, consider letting other companies you’re interested in know about it. After I received an offer, I let a few other companies know about it and two of them expedited the process and scheduled an interview with me right afterwards.
I believe that the location I was in was helpful in getting multiple job offers. For instance, I’ve heard it is more challenging for someone with no experience in Silicon Valley. Also, there are some places with very few software job openings. That being said, following my other suggestions should give you a better chance.
Here is a quick tip for negotiation: Even if you only get one job offer, always ask for more money and make sure you give a reason for asking for more. The worst that could happen is they don’t agree to give more but you can still accept the original offer. Companies will almost never revoke an offer just because you asked for more money.
Interview Practice Makes Perfect
I knew from all my meetings with different software developers that the technical part of the interview at most companies in Grand Rapids was not as intense as it would be in San Francisco or New York. So while I did some technical preparation for my interviews, I prepared more for other types of interview questions. It is important to figure out what type of interview you are likely to encounter so you can prepare appropriately.
I talked to one developer who was getting ready to interview for some companies. Since he wanted to present himself honestly, he thought he didn’t need to really prepare for an interview. I told him I don’t think he’s thinking about it in the right way. Preparing for an interview does not mean that you are thinking of ways to present yourself that are not true to who you are. It’s about being able to better answer questions truthfully or learning the technical skills that will be required at the interview.
I’ve heard that when politicians prepare for debates, they have certain talking points that they make sure they work in no matter what the questions are. That is how I recommend preparing for a job interview.
I prepare good, story-based answers to the following key questions:
- Tell me about yourself?
- Why do you want to work here?
- Tell me about a challenging bug you faced and how you solved it.
- Tell me about an interesting project you worked on.
- What is one of your weaknesses?
Not every company I interviewed for asked all of those questions. But that didn’t matter. I had good stories prepared that demonstrated how I could add value to their company and I made sure to work them into our discussion somehow.
You’ll notice one of the questions I mentioned is specific to the company that you are interviewing with. Make sure you prepare for a specific interview with a specific company and not only for general interviews. I had people from multiple companies communicate that they were impressed by how much I knew about their company. This reflected very well on me. Besides researching the company, you should also attempt to determine who you will be interviewing with and research the people as well.
Something that is almost as important as your answers to questions is the questions you have for your interviewer. I believe that I bombed one interview just because I did not ask good questions at the end. (There may also have been other reasons…)
Here are some key questions I asked at most of my interviews:
- Why should I want to work at this company?
- Tell me about the company culture.
- What is something you wish someone told you before you joined the company?
- What is one of the biggest challenges at your company right now?
- At your company, how would I know what to work on each day?
Besides those questions, I thought of questions that were very specific to the company or individual I was talking to. Not only do good questions show that you are thoughtful and very interested in the position, they also help you determine if you really do want to work at the company.
All of these strategies helped me to differentiate myself from other job seekers. I believe these things helped me get so many companies interested in me at once. So here is how I would summarize what I learned in my successful job search:
- Create many projects to show off your skills.
- Develop an authority piece.
- Do something creative to make your resume stand out.
- Cold e-mail software developers and invite them to coffee.
- Apply everywhere at once to maximize your chances of getting multiple job offers at the same time.
- Practice and prepare appropriately for your interview.
I hope my experiences can help you get your next software job!
~Beau Carnes, Software Developer at Elevator Up.
Posted with permission from Medium