So you want to be a software developer. Welcome to the club! It’s a fun and rewarding profession full of success and a healthy dose of failure. It’s all about puzzle solving and engineering solutions to real world problems. But how do you break into the industry if you don’t have much experience to your name?
The Junior/Senior Problem
Many companies have openings for software developers. We’re very much an in-demand resource in today’s business landscape. After all, software is eating the world as they say. The problem a lot of companies have is they’ve become convinced quality software can only be created by people with extensive formal training and many, many years of experience in the field. Consequently, in really any market other than the biggest ones on each coast, you’ll find several openings for senior level developers, but jobs listed as junior or intermediate are usually few and far between. I think this is attributable partially to the fact there are more juniors than seniors, so there’s more competition for the junior jobs that are available. But I also think many companies overestimate how complex their needs are when it comes to app architecture. The bottom line is that much of the software written in modern companies is fairly utilitarian and mostly solve problems that have been solved before. The idea that all of it absolutely requires a senior level developer with 10 years of experience is just silly.
In addition, the immense amount of knowledge and skills transfer necessary to keep the pipeline of viable developers a healthy one requires those juniors companies think aren’t worth investing in to spend time in a position where they can learn from the seniors that came before. Why this isn’t apparent to more managers is baffling to me.
Ok, enough complaining. So how can you combat this as a junior and get your foot in the door as a new developer to gain that critical experience everyone wants you to have? Here are some tips I’ve found to be useful to the many new developers I helped mentor during my time as an instructor.
Usually, your first point of contact with a company is through your resume. It’s unfortunate that you are initially judged based on a 1 page document with shockingly brief descriptions of your experience, but that is the method society has settled on to evaluate that first pass of candidates for a job.
Because of this, and also because most people spend less than 60 seconds scanning an average resume, you’ll want to be very strategic with how you present yourself on that piece of paper.
Before you design your resume (and I wholeheartedly recommend you treat it as an opportunity to design a UI for employers), think about the kinds of jobs you want to attract with this document. You can present yourself in different lights (without being dishonest of course) and you’ll appear more or less desirable for any given position. Once you’ve determined how you want to frame your training and experience, be sure to showcase the most important and/or relevant items as prominently as possible. Remember, you’ve got less than 60 seconds to impress, so no beating around the bush. Put your most relevant info front and center.
Have a GitHub profile with repositories that showcase your skills as a web developer? Applying for a web developer position? Perfect. Place links to those repos on your resume.
Want to grab a position as an iOS developer and have a personal passion project in the App Store? Excellent! Give them the terms to search and put them on your resume.
Just graduate from a bootcamp where you spent several intense weeks learning and practicing with the platform you’re applying for? Wonderful! You know where it should go, right at the top.
The bottom line – mold your resume to the position or positions you are most interested in attracting. It’s likely you’ll be going after 1 kind of job for your first position, but don’t be afraid to morph your resume over time as you advance in your career. Your experience is never a static entity, and neither should be the document that chronicles it.
Can you count the number of job applications you’ve filled out on one hand for your first job as a developer? If so, you need to multiply that by orders of magnitude. Maybe you’ll get lucky and the first company you apply to will scoop you up. That outcome is definitely not the average however. Most of the time, you’ll apply to dozens of companies and maybe get a few responses. In my last search for a new job, I applied to over 20 companies and got maybe 3-4 responses back. And that’s with a decade of experience on my resume. I may have said above that it’s a buyer’s market, but that doesn’t mean companies won’t be picky about whom they choose to bring in for an interview. Just because you don’t get a response immediately, that doesn’t mean the company isn’t necessarily interested. Remember, this relationship is very one-sided. To you, they are one company; one job. To them, you are one of maybe dozens or hundreds of applicants. So be sure to “stick out” in their minds. Don’t be afraid to email or contact them weekly during the application/interview process simply to remind them you are still here and are still interested.
Now that you’ve prepared the perfect resume and sent in applications like it was your job (see what I did there?), you’ve landed an interview. Oh no! The dreaded technical interview! In my next post, I’ll go over the tricks of the trade for nailing that interview and ensuring you wow them with both your technical knowledge, your ability and willingness to learn, and your business acumen and careful stewardship of your own career.