Skip to main contentA logo with &quat;the muse&quat; in dark blue text.
Advice / Job Search / Resumes

Yes, You Can Land a Software Engineering Job Without a College Degree—Here’s How

person typing code on a laptop
Luis Alvarez/Getty Images

As demand for software developers has skyrocketed and the tech industry’s image has transformed from geeky to glamorous, landing a lucrative programming job has become a goal for twentysomethings as well as experienced workers looking for a change.

A formal university education in computer science has typically been the golden ticket you needed to enter the field, but companies scrambling to fill roles are now more likely to tap new sources of talent beyond recent grads. According to Stack Overflow’s most recent developer survey, roughly 75% of the global developer community has a bachelor’s degree or higher. That means a quarter of developers don’t have a degree—and coders without a diploma can successfully get a first programming job and join their ranks.

“Job descriptions with a degree requirement are facing increasing backlash in recent years,” says London tech recruiter Stevie Buckley. “They immediately eliminate an enormous pool of candidates who, for various reasons, didn’t have access to a university education.”

As the industry’s attitude toward companies requiring degrees has soured, the prospects for self-taught programmers and graduates of non-traditional programs have seemingly improved.

During my 20-year career as a recruiter for tech startups and my more recent experience as an advisor to job seekers, I’ve assisted hundreds of people in making the leap. What are the keys to their success? And more importantly, how can you land your first dev job without a degree? Here are four steps that’ll get you through the job search.

1. Gather Your Other Credentials

A CS (or related) degree alone typically provides its owner enough industry cred to get an interview, but if you don’t have a diploma, you’ll have to rely on other evidence to make your case to employers. Online courses, immersive coding bootcamps, and (to a lesser degree) certification tests are increasingly popular alternatives to college that provide learning opportunities hyper-focused on the core skills needed to code—without spending time on electives and frat parties.

Personal projects have become a standard listing on resumes for entry-level candidates, with most university programs and bootcamps requiring several coding exercises that can be used later as work samples. To get your foot in the door, Buckley recommends a multi-faceted approach that includes “building things, creating a portfolio website, [and] taking online courses.”

So take stock of what credentials and examples you already have—list them out in a document if it helps you to see it all on the page—and consider whether there’s anything else you want to add as you get ready to start your job search.

2. Perfect Your Resume

Once you’ve identified your assets, it’s time to organize them on a resume. Recruiters are often overworked and have a reputation for making snap decisions about whether to swipe right (interview) or left (reject).

When you’re writing a resume, the goal should be to make the recruiter’s decision as easy and painless as possible. How can you do that?

  • Think lean and cut the fat. The recruiter wants to determine your technical skills, so you should limit how much space you devote to past work that’s unrelated to coding. Showing some history is fine, but don’t overdo the details—we know that a barista makes coffee—and keep your resume to one page. Anything that portrays you as someone who is “smart and gets shit done” is useful. If you had a unique project idea that resulted in improved revenue or reduced costs in any context, for example, make sure you highlight it.
  • Consider where you’re listing your education. A well-crafted resume highlights your assets and minimizes your weaknesses. If you’re a relatively recent bootcamp graduate or have taken some significant online courses, listing your education at the top is often an effective way to show that you’ve invested some time to make the transition into software. If you have a degree that isn’t in CS or a closely related major, it probably belongs at the bottom of your resume. Even listing an incomplete degree with the number of credits earned can be useful to demonstrate some post-high school learning. For those with no formal training or education after high school, leaving the education section off entirely may be the safest bet.
  • Describe your projects in detail. When explaining what you’ve built, be sure to include what the application does as well as the tools you used to write it (languages, frameworks, etc.). Post project code to a public GitHub repo if you can and link directly to each repo to make it simple for the reader to review your code with a single click.
  • Be humble. If you make wild claims of having “expert” skills in any technology or define yourself as a “rockstar” or “ninja,” it exposes that you don’t understand what expertise truly means and gives interviewers added incentive to try and knock you down a peg. (Also, it’s obnoxious, so just don’t.) List your skills without embellishment, and don’t use those ridiculous skills rating bubbles. Nobody knows what a “seven out of 10 in JavaScript” even means.
  • Proofread and edit. Readers may be looking for a reason to say “no,” so don’t give them any easy ones in the form of spelling or grammar errors. Proofread your work and then have someone else do the same.

3. Use a Hybrid Job Hunting Strategy

Once the resume is done you’re ready to take your skills to market, but first you have to find targets. There’s a pretty widespread movement in the industry toward giving people without the typical pedigree a chance, but not every company is as receptive as the next. Search online for companies that have announced or talked publicly about removing degree requirements, ask around your nascent network about companies that are more open to hiring developers without a degree, and do some research about particular companies you’re interested in to see what kinds of educational and professional backgrounds their current employees have.

Job aggregation sites are great for quickly finding and applying to high volumes of open roles, but keep in mind that these will be crowded with applicants. Look for “an entry-level job that seems to have a quality support structure,” Buckley says.

When you’re applying, remember that a little personalization goes a long way. Avoid using a generalized cover letter with generic language (definitely stay away from “To Whom It May Concern”) and write a sentence or two that makes it clear you are applying with genuine interest for this job at this company. Tell them what you like about their brand or product. If the recruiter feels you put some effort into the application or did a bit of research, they’ll be more likely to give your resume their full attention.

Perhaps the most overlooked job search method for those lacking a degree is attending meetup groups, where you can learn from and network with developers at all levels. Even though you may be the least qualified person there, these events offer a golden opportunity to make a lasting impression on people who can help open new doors for you. And just by being there, you’re showing some dedication to learning the craft.

4. Slay the Interview

Interviews for tech jobs can be rather intense, with rapid-fire questions and live exercises on a whiteboard or laptop to prove you know your stuff. Do some research to determine how each company tests candidates so you don’t get caught off guard. A quick web search will turn up sample interview questions to use as practice (and you can consult our advice on preparing for technical interviews).

It’s important to remember that you’re not expected to get 100% of the questions right. Some interviewers will ask questions they’re sure you won’t be able to answer just to see how you respond to pressure and what you might do in a real-world situation where the solution isn’t obvious. Other interviewers will start with easy questions and then progressively raise the degree of difficulty until you fail.

You also need to leave your preconceived notions of success at the door. High school grading standards have probably trained you to think of 90% as an A, 80% as a B, and so on. In any entry-level interview, the interviewers may be more interested in your problem solving process than the correct answer, and a 50% rate of success may be above average.

For those without a degree, interviewers are trying to identify aptitude, ability to learn quickly in a work environment, and passion for the industry. As an entry-level candidate, you’ll be quickly forgiven for not being able to answer some of the technical questions. However, there are a few unforgivable—but easily avoidable—sins:

  • Blanking on “What do you know about us?” If you can’t speak intelligently about the company for a minute or two, you’re done.
  • Botching “Tell me about yourself.” This is not a trick question, and if you don’t have a degree it’s an opportunity to explain any circumstances that prevented you from attending or graduating or to talk about why you chose your path to a programming career and what you can bring to the table when it comes to this particular role.
  • Bullshitting. There is no worse interview tactic for newbie programmers than trying to BS through a question you can’t answer. Have a plan for failure, whether you decide to ask for help, collaborate with the interviewer on a solution, or simply say “I don’t know” and continue by explaining how you’d plan to find out.
  • Stumbling on degree-related questions. Asking a candidate “Why don’t you have a college degree?” can be awkward for both sides, but you need to be fully prepared to answer it in case it comes up. Reply with details of the education and training you do have, express confidence that you can contribute immediately, and acknowledge that you still have a lot to learn—just like your new grad counterparts.

The tech interview process can be brutal regardless of your academic accomplishments, and there are those in the tech community who will make anyone lacking a CS degree, internships with leading employers, or a particular “pedigree” feel as if they don’t belong. Don’t let them. Balance your humility with the knowledge that you’re deserving of the opportunity presented.

I tell my clients that the first job search is the most difficult one you’ll ever have, but (in most cases) the good news is that once you’re in you’re in. Entry-level job seekers without a degree who rant today about a lack of interviews may find themselves complaining two years from now about their LinkedIn inboxes being flooded with offers from recruiters. When you’ve racked up some professional accomplishments as a programmer, almost nobody will care whether or not you have a college degree.