How to become a software engineer without a CS degree

So you want to become a software engineer but you don’t have a degree in computer science. Is it possible to get a job without formal training? Yes, I’m living proof it can happen!

I’m what you might call an accidental software engineer. I studied literature in college and graduated with a Bachelor of Arts in English. After graduation I planned to get a job in marketing, but my career took an unexpected turn towards technology. Despite a complete lack of coding experience I became a highly-paid software engineer without a CS degree.

My story is unique but the steps I took are straightforward and easy to follow. I’m living proof that you can become a software engineer without a technical degree. I achieved financial success as a computer programmer and I would do it all over again in a heartbeat.

If you are considering switching careers, just graduated and want to make the leap or simply want to know how to become a software engineer without a degree in computer science check out the details below. I hope they provide inspiration and advice to help you start your own journey.

Start with an Introductory Computer Science Class

In college I signed up for the most basic computer science class I thought I could handle. In that class I learned how to design my very first website using HTML and Javascript. I created a series of linkable pages and loved every second of it.

Most universities, community colleges and online programs offer some type of introductory computer science course. Unlike higher-level courses you don’t need advanced math skills or a background in computer science to try it out.

Sign up for an easy course to learn the basics of computers, website design and coding. If it’s enjoyable continue on to step 2.

Train Yourself

Online Options

Remember you don’t need a CS degree to become a computer programmer or software engineer. These days it’s easy to learn how to program right from your home computer.

Coding newbies should check out Lifehacker’s unbiased list of learn to code resources specifically for beginners. Coursera and Codecademy are two of my favorites.

Leetcode is another amazing website for those just starting out. You can find hundreds of problems as well as detailed solutions that include real Java and Python code.

Many sites offer a short, free trial. Just make sure you don’t sign up until you are absolutely ready to try out their programs. That way you can test out each platform before paying for it.

Also search for free computer programming courses on the web. They might not be the best option, but they will give you a taste of coding without paying upfront fees.

Coding Boot Camp

Boot camps provide a hard-core coding curriculum within a short period of time. If you have the energy boot camps can train you quite quickly. Just beware of their hefty price tags, which can range from $6,000 to more than $20,000.

There are plenty of self-study options available to avoid these programs, but boot camps do offer one major advantage. Many provide job assistance to help you land your first gig.

Course Report provides extensive ratings of fifty-five different boot camp options. Check out their detailed reviews before making your decision.

Ask for Employer Assisted Training

If you already have a job find out what types of training resources are available at work. Explain your goals to your manager and ask for his or her advice on learning new skills. Some larger companies offer in-house training or provide employee reimbursement if you have to train elsewhere.

Keep in mind that different companies utilize different languages and computer skills. Ask about the technologies your company uses. Then focus on learning those specific skills.

Make Connections with Software Engineers

During my senior year of college I interned for a very small technology company. As an English major I worked on marketing materials. I also spent a lot of time learning about software. It wasn’t part of my job, but I didn’t let that stop me.

In fact, I inundated the engineers with questions about the products they built. It turns out most of them were more than happy to talk with me.

Just before graduation the president of the company offered me a full-time job. He commended my interest in the technical aspects of the business and offered to train me to learn more.

I turned down that job offer, but I learned a valuable lesson. Don’t be afraid to show an interest in technology just because you lack experience with it.

Most companies have an IT or technical department. My best advice is to forge relationships with other employees who are working where you want to work.

Network, network, network! Start conversations now that can lead to future opportunities. You never know how those connections might pay out.

Search for Related IT Careers

As an English major I didn’t have the background to become a software engineer, but I did have the chops to become a technical writer. Interning taught me how to explain technology in ways that non-technical folks can understand.

So I set off to find a technical writing job. Along the way I stumbled across a company willing to train technical writers to write code. It was a once-in-a-lifetime stroke of luck. Or was it?

It turns out there are tons of IT careers that can get you closer to the world of software engineers. Technical writers are one option, but so are testers, project managers, UX designers and even those who perform technical support.

Working alongside software engineers can help you become one. Trust me, this is one of the easiest ways to get your foot in the door.

I’ve known testers, analysts and call center operators who became software engineers simply by hanging out with the technical folks. Again the trick is to gain proximity to the job you want.

Create relationships with IT managers who may be willing to help you learn on the job.

Believe in Yourself

My company provided four months of broad-based technical training. That was it. We spent a few weeks learning C, Objective C and the general constructs for creating databases. Then they sent us off to write and test code.

After training I began working as a QA Analyst. Testing was okay but I really wanted to code. I forged a great relationship with my manager and explained my goals early on.

Within a few months I volunteered for a programming task even though it wasn’t related to my assigned position. My manager liked my eagerness and initiative and gave me the chance.

This may be the most valuable lesson of all. Don’t be afraid to talk your manager about your future career options. Be honest about your lack of experience and formal training. Then express your desire to contribute to the project anyway. If you don’t speak up you’ll never get the chance to try.

My new task involved writing Java code, which was a language I’d never used before. I bought a couple of books, read them cover to cover and began experimenting. Beyond that initial training I learned everything I needed to know on the job or by studying after work.

Most of my counterparts graduated with computer science degrees, but a couple of the older employees were self-taught. I asked them for advice on advancing as a software engineer without a CS degree. One smiled and said, “Steve Jobs and Bill Gates didn’t graduate with those degrees either.”

They were right. My missing comp-sci degree never held me back.

Create a Website That Highlights Your Knowledge

Many of the details above work well if you already have a job, but what if you don’t? How can you demonstrate your proficiency without a diploma?

Create a blog or website to highlight your skills as you learn them. Take screen shots displaying your code and the finished project.

This is a great way to prove your knowledge to potential employers. It’s also a great way to form connections with other software engineers who are trying to do the same thing.

Include these details on your cover letter and talk about what you’ve created at job interviews.

Prepare for Your Interview

This may sound strange, but my liberal arts degree helped me immensely as a software engineer. Thanks to my background in English literature I was able to articulate designs and technical details better than any of my comp-sci counterparts.

Many software engineers can write code, but they lack the communication skills necessary to share their ideas with non-technical team members and business partners.

Make sure to point out your non-technical qualifications to potential employers. Emphasize your problem solving abilities, your willingness to learn new things and your overall grit and determination.

As a software engineer you will spend plenty of time writing documentation, explaining your ideas and talking in meetings. Don’t forget to highlight those qualifications and business skills during interviews.

Of course, it goes without saying that you should prepare for the computer science portion of your interview too. Coding challenge websites provide problems similar to those you might find in an on-site interview. If you feel proficient solving those you’ll have nothing to fear in your interview.

Be Willing to Take a Pay Cut

Don’t let the low starting salary of an entry level software job prevent you from applying.

Remember that over the long haul software engineers and computer programmers can earn a lot of money. Sometimes it’s worth taking a pay cut now to earn more later.

It may take a few years to increase your pay, but it will happen as you gain skills and experience.

Good Luck

I wrote this post for a reader who was seeking career advice. She read a post titled Quitting My Six-Figure Job and wanted to know more about my degree in computer science.

When I told her I didn’t have a technical degree she responded almost immediately with just one question: “How did you become a software engineer without a CS degree?” As I stared at the words in my inbox I decided to write this post.

If you’ve read this far I wish you the best of luck! If you have any questions feel free to leave them below or email me.

I love to talk about this stuff. I also love to find fellow techies who took non-traditional paths into software engineering. If you have any interesting stories to share please fill out the comment box below.