JoshWComeau

Becoming a Software Developer Without a CS DegreeAccording to hundreds of people who have done it

Filed under
Career
on
in
March 16th, 2020.
Mar 2020.
Last updated
on
in
June 10th, 2021.
Jun 2021.

A little while ago, I had a question for the internet:

Josh ✨
@JoshWComeau

If you work as a developer and don't have a college degree, I'd love to hear the story of how you got your first job! What convinced employers to take a chance on you?

1:45 PM · Jan 15, 2020


1200
955 people are Tweeting about this

In a shocking and delightful twist, the tweet got a ton of responses—over 450 of them!—from some of the most wonderful folks I know on Twitter.

I went through each reply and grouped them into common themes. Today I'd like to dig into the data a bit, and see how folks actually got their start without a Computer Science or Software Engineering degree.

This is a personal thing to me since I'm a member of this club! I wasn't a great student, and none of my college applications were accepted. Now I work as a staff software engineer for Gatsby(opens in new tab), and I also work part-time at Concordia Bootcamps(opens in new tab) as an instructor and career coach.

If you're aspiring to work as a software dev, my hope is that this article gives you an inside look at how others have done it, and you come away feeling inspired and armed with a couple new strategies ✨

Link to this headingOverview

While going through the replies, I tagged each tweet with 1 or more broad categories. Here's a quick bird's eye view of the data:

CategoryPercentage
Started own business7%
Internship14%
Transitioned from an adjacent field17%
Referrals & community25%
Side Projects & Freelancing42%
Personality & Skillset15%

Link to this headingStarting your own business

keith kurson
@keithkurson
i made a company and built my first job and then people had to hire me after because i had “years of experience”

5:17 PM · Jan 15, 2020

Matt Kane
@ascorbic
Started a company and hired myself. Nobody else would hire a 20 year old chef who left school at 16!

2:33 PM · Jan 15, 2020

If you can't join ‘em, beat ‘em!

7% of respondents got their start by employing themselves. This is a clever idea that honestly never even occurred to me. You get 100% valid work experience, and you're under no obligation to tell future employers that you were your own boss!

If you've struggled to get traction through other avenues, this might be an idea worth pursuing, if your situation allows for it.

Link to this headingInternships

Monica
@indigitalcolor
I had taken misc. CS classes and learning on my own. I did an internship and then transitioned to full-time. I felt like I was at a point in my learning where a a boot camp wouldn’t have been valuable but I didn’t have 3+ years of engineering work exp. to get my foot in the door”

7:46 PM · Jan 15, 2020

For developers who do go the traditional route with a CS degree, internships are a standard part of that deal. Amongst self-taught folks, though, only 14% got their start this way.

As a career coach, I've worked with a couple students who got their start this way. One student I worked with was offered a paid internship by her top choice, and she was able to parlay it into a permanent junior-dev role within a few months.

Because the first job is the hardest to land, an internship can provide a gentler on-ramp. In the ideal case, it can very quickly turn into a typical full-time dev role. And after that point, many more doors open up.

Companies hire interns for lots of different reasons. Good companies see it as a great way to bring in enthusiastic aspiring developers. The salary is lower because the company recognizes that interns will require mentorship, which can lower the output of senior team members. Unscrupulous employers aren't thinking in those terms, though. They're interested in hiring the highest number of developers for the lowest amount of money.

Sites like Glassdoor can help you figure out whether a company is hiring interns for the right reasons. Be very wary of any company with a pattern of bad reviews. If the company is a small start-up without much info on Glassdoor, you can try to sleuth out how solid the company is in the interview. Try asking questions like "What is the ratio of junior to senior developers?" and "How does the company ensure that interns receive mentorship?".

Link to this headingTransitioning from a different field

Jay
@wpdevlife
I’d worked for the company doing technical support in Customer Experience and learned as much as I could hoping to one day get a dev role. I saw an opening online while looking for other jobs and figured I’d take my chance. I’m now almost 6 months in on a career I worked 5yrs for

2:31 PM · Jan 15, 2020

Hans Kristian Graebener is stone toss
@__________siah_
🤚no degree senior engineer here. My first job was working for an agency web design company doing phone technical support. Over time I increased the technical responsibilities and moved to new jobs doing more and more development. I am self-taught and spend all my time learning.

1:47 PM · Jan 15, 2020

Genna Matson (she/they) ✊
@gemliza
It was ‘07, I was an account manager at a direct mail house and my client wanted to start sending emails. I was dabbling in dev, had a site and played the hell out of notpron. So I showed the CEO my site and explained the table based code it was built with and he let me run 💌

5:29 AM · Jan 16, 2020

Jeff Matson 👾
@TheJeffMatson
I'm a high school dropout, developer, and documentation writer. Long story short, I got an entry-level job in hosting support. I moved up there, got more involved in open source, then moved on elsewhere. After getting the first gig, things just sort of fell into place.

4:57 PM · Jan 15, 2020

17% of folks said that their first developer job was for a company they were already working for in another capacity.

The thing I like about this path is that it shows that raw technical skills often aren't the most important thing to employers. Many will take an underqualified candidate that they know is a good worker over a qualified candidate they haven't worked with before.

In fact, I know at least 1 bootcamp student who got a free ride to the program from their employer. This student had previously worked in a non-technical role, and his company was willing to pay for him to go through the bootcamp to gain the foundational skills needed for a technical role!

If you currently work at a job with an engineering department, you might be surprised by what opportunities are already around you. Maybe it's worth talking with your manager!

Link to this headingReferrals & Community Involvement

Kara.
@KiraArghy
The biggest thing though was I had worked hard on my networking, I've never been the most extroverted person but by meeting people they could advocate for me. @RichardWestenra vouched for me and @Geek_Manager picked up my cv and passed it onto her recruiters.

2:00 PM · Jan 15, 2020

Brennen 🇨🇦
@bkd705
Was in college when I got my first job, a prof had referred me for a coop, turned into full time so I dropped out. ~3 months later decided to move to Toronto, and used meetups, slack communities etc to find a referral. Applications never lead to interviews, referrals always did.

2:24 PM · Jan 15, 2020

Erika Leblanc
@erikalleigh
I met a woman while volunteering with @learningcode and she offered to mentor me on the job, (she was the only woman on her team)✌️

5:08 PM · Jan 15, 2020

laura
@freezydorito
twitter contact invited me to work at his startup lol

1:53 PM · Jan 15, 2020

25% of developers say that referrals played a role in getting their first job.

I think when many of us think of referrals, we imagine something pretty nefarious, like the boss hiring their unqualified nephew instead of the well-suited-but-unfamiliar applicant.

These replies paint a different story, though. It's (usually) not about convincing a relative to give you a job, it's about community involvement. If you meet someone at a meetup and are able to speak confidently and fluently about software development, it sends a strong signal about competence.

If you live in an urban area, look for local meetups. These events are usually free to attend. Recruiters do attend these events, but often the strongest connections are made with fellow developers.

Most companies have an internal referral process, so anyone you meet that works for a company can help put you on the recruiters' radar. Referrals are rarely enough to secure a job offer outright, but it's a great way to stand out from the stack of applications.

Link to this headingSide Projects & Freelancing

Kenza Iraki
@kenza_iraki
Towards the end of my Psychology degree, I took up some online classes on iOS dev. I had a friend who had an app idea, and I made that app to practice, and put it on the App Store. Ended up getting two offers before graduation, an app they could play with impressed employers!

8:16 AM · Jan 16, 2020

Gabe
@gabe_ragland
Made a music app for FB's brand new app platform (~2007). It was terrible spaghetti code, but it did well and got me a job offer from Project Playlist (RIP) a year later. Super lucky they didn't ask me any technical questions. Much imposter syndrome. Lots of learning on the job.

2:19 PM · Jan 15, 2020

Linnea Huxford
@Linnea_Tweets
I have a degree in neuroscience. Self taught myself programming, first Java then php, built WordPress plugins to show off my skills. It worked! First did freelancing. Now full time remote work 3+ years!

10:05 AM · Jan 17, 2020

McKayla 👑
@partheseas
I built a Game Boy Advance emulator using Rust and WebAssembly, caught the attention of a startup interested in those technologies (which is exactly what I hoped for when I started it).

3:34 PM · Jan 15, 2020

JSON Bahl
@jasonbahl
I have a college degree, but not related to software engineering. I have a Photojournalism degree. I built websites for friends, family and fun before getting my first web job. Having a portfolio and being knowledgeable about web development helped them feel comfortable

2:22 PM · Jan 15, 2020

Brenton
@appsforartists
Graduated with a non-CS degree into a recession with no idea what I wanted to do. Realized my computer skills were worth more on the market than most entry-level jobs, so I started freelancing. One of my clients hired me full-time - been in this space ever since.

6:28 PM · Jan 15, 2020

The most popular answer! 42% of developers say that the things they've built played a part in getting their first job.

Sometimes, folks worked on an amazing portfolio piece, whereas other folks did some paid work freelancing. Either way, they created a body of work that gave prospective employers a window into their skills, a demonstration of their abilities.

For the folks that work on passion projects, there's another advantage. When companies hire junior developers, they're often looking for candidates who are really enthusiastic and excited about software development. That energy can be contagious, and it can reinvigorate the entire team. By showcasing a project that is significant to you, it sends a strong signal to employers that you're ambitious and engaged.

It's important to recognize that having hours and hours of free time a week to spend hacking on side projects is a luxury that not everyone has. If you have young children, or if you're a caretaker for a sick relative, you likely won't have the time or the energy to fire up VS Code on the weekend. This is even more true during the COVID-19 global pandemic—many folks are scrambling right now with office and school closures. It may not be realistic to start working on a passion project right now.

Fortunately, it's not the only way to show enthusiasm. After all, 58% of people didn't think side-projects played a part in their own career success!

Link to this headingPersonality & Skillset

EzilyBoredBen
@EBgameZzz
I showed passion and dedication through how much I had learned in my spare time (whilst being a full time teacher). I also had recently focused on web accessibility and this was a huge area for my now employer.

4:43 PM · Jan 15, 2020

Kathryn Gonzalez
@ryngonzalez
I did a design challenge for a small startup made of people from the same college I was going to at the time. I ended up building a working version of the design challenge, backend and all, to demonstrate I could be both a designer and engineer for them! 👩🏻‍💻

4:01 PM · Jan 15, 2020

Brotzky
@brotzky_
I asked a year after I was hired why they decided to take a chance on someone without a degree and no experience. It came down to the speed at which I learned/improved and my design skills. I worked A LOT on my portfolio when applying to try to standout as a newbie.

2:07 PM · Jan 15, 2020

timgl
@timgl
First full time job, they were the only ones that didn’t really read my CV and just sent me a dev test. It was great because it allowed me to show that I could do the job.

2:30 PM · Jan 15, 2020

TruncatedThought
@GroveEsten
I was honest and upfront about how long I’d been learning(which wasn’t long ) and conveyed my enthusiasm and practically begged them to give me a take home ode test to prove it to them. 2 years laters and I’ve learned so much

2:04 PM · Jan 15, 2020

Horacio Durán
@perrito666
They hired me because I learned the language they used (php) over the weekend before the interview (was called on Fri for interview on Mon) and was honest about it (plus passed the tech test like everybody else)

3:53 PM · Jan 15, 2020

Finally, I have an umbrella category, which I've labeled “Personality & Skillset”.

Some of the folks in this category were able to get a job because they had exceptionally strong technical skills. Others had a diverse skillset that the employer appreciated. Others still were very persuasive, or excelled in the interview process.

Critically, folks in this category didn't fit into one of the others. They didn't credit their side-projects, or their community outreach, or an internship, or any of the other things we've looked at.

15% of respondents fit into this category. What this says to me is that 85% of developers had some sort of ace up their sleeve. Most developers don't find success by filling in dozens of generic applications and hoping for the best.

For every open junior developer position, companies typically receive dozens of applications. This can be discouraging, but there's another way to look at it—most applicants have not figured out a way to differentiate themselves. If you pick one or two of the strategies outlined in this article, you'll have a much better chance of standing out from the crowd and getting an offer.

Link to this headingPicking strategies that work for you

If you add up all the percentages mentioned in this article, you'll notice that they don't add up to 100%. This is because people's stories don't always fit neatly into a single category.

Charlotte Mays
@charlottecodes
I had a portfolio project on github. It wasn't fancy, but genuinely showed that I had the basics down. I stayed involved in the local community, and the job I first got (an internship) I actually got on the _second_ time I applied to it, so persistence was a factor

3:32 PM · Jan 15, 2020

Queen Arit #SpicyTechAunty 🔥
@AritDeveloper
Biology degree. Online bootcamp grad. I think I impressed my first company with my: - Finessed code projects - Honesty about what I dont know - Passion to code, evidenced by my blogging and tech conference participation - High emotional intelligence and communication skills

8:48 AM · Jan 16, 2020

When I was looking for my first job myself, I tried a few different things, but I think 2 factors deserve the credit:

  • I worked on interesting projects, and had a decent portfolio
  • I took an internship offer

I discovered that I really liked building niche side-projects, like a weekend project that let users compare yoyos by their specifications:

Josh W. Comeau
@joshwcomeau
Ok, it's a couple hours late, but my weekend project is done! Compare your favorite CLYW yoyos

10:24 PM · May 26, 2014

Those projects, along with some past freelance work, gave me the opportunity in interviews to showcase my enthusiasm and competence, and I got offered an internship at a small startup. Within a few weeks, I was able to re-negotiate it into a full-time junior-developer position, and I've been working ever since.

Link to this headingPlaying to your strengths

This article shares many different potential strategies, but it's important to recognize that not all of them will work for every person.

In fact we often give aspiring developers a laundry list of tasks, a todo list with everything that has ever worked for anyone. I feel like this is a mistake; there are only so many hours in the day, and we should spend them pursuing the things that make us stand out, not doing the same things that everyone else is doing.

We can tailor the things we focus on based on the skills we already have, and the ones we wish to develop. If you're extroverted, take advantage of that! Get involved in the community; you'll make connections that can refer you, to help you stand out from the crowd. If that idea sounds awful to you, though, your time will probably be better spent doing something else. Develop an amazing side-project. Build a blog, and do a deep-dive into the project, sharing the thorny technical challenges you hit and how you were able to overcome them.

If there's one thing I learned going through so many individual stories, it's that they're all different. There are lots and lots of different paths—no single category eclipsed 50%, so there is no "typical" path! It means you can craft a strategy unique to your situation and skills, one that encourages you to keep developing strength in the areas that interest you.

Last updated on

June 10th, 2021

# of hits