If you are reading this, chances are you are contemplating a career change. You may have already decided you want out, but are not sure what you need to make the switch. Fear not, as we have compiled a complete list of your options when it comes to pivoting your career to CS. With this guide on the routes you could take to switch careers to computer science, you will have a clear picture of your next steps that align with your timeline, budget, and goals.
Are you ready for a career change?
In the short-term scale of things, it seems almost unreasonable to switch careers. It is certainly easier to stay at your current job or industry, where you have already gained experience and expertise rather than attempt to start all over again in another field. Do you really need a change in careers?
Career change takes time and effort. But if you are unhappy in your current industry (not just your current job!) and have an alternative in mind that motivates you to consider a switch, then it may just be worth the hassle. I decided to make a career switch when I understood that the jobs I have been working for the last several years have not been motivating to me. The industry I once thought was my vocation proved to be not what I expected. I was tired, unmotivated, and despised myself for not being dedicated enough to my work. I also had a different interest, specifically computer science, which I had been captivated by since teenage years, much earlier than my actual chosen profession in healthcare. I knew I had to make the switch, even though it meant years of education, sleepless nights, and starting over from zero.
If you can gather anything from my story, it should be that I had a career I was disappointed in, an alternative interest, and willingness to put in the effort. If you have all three, it may indeed be worthwhile for you to commit to a career change.
Why switch careers to computer science?
Why would you even want to switch to a career in tech? For one, programming allows you to get a comfortable income while having an excellent work-life balance. You could pursue side projects alongside your full-time job, as all you need to start something new is time and a personal computer. Tech industry is booming, and there are more and more available jobs for software engineers and other computer science professionals.
However, I believe the most important reason to pursue a career in programming is your personal interest in the field. As someone who has spent some time in the another industry, I believe there is no one perfect career for everyone, and your passion matters most when choosing a profession. I, personally, greatly enjoy solving coding tasks and easily enter the “flow state” when I get coding. It is my belief that if you choose a career path which you truly enjoy as a day-to-day, all the objective disadvantages and potential problems will not seem so important. If, however, your daily work seems daunting and bleak, every small problem will seem amplified.
Thus, you should first consider your interest in the field as a primary reason to switch careers to computer science. I would also recommend you to read “Is Computer Science the right career for me?” that I’ve published in the past to help you get to the bottom of this question.
Things you need for a successful transfer
- Education – proper training is what separates the current you from your future self in the tech industry. You should aim to get proper education, which could be in a form of self-taught learning or a training from a specialized institution.
- Portfolio – another important facet of your career transformation is building a solid portfolio. You have to showcase that you not only possess certain skills on paper, but are also able to incorporate them in actual real-world projects. You should thus work on your portfolio alongside your coding education.
- Experience (recommended) – while not a hard requirement, it is a good idea to get some real work experience as you learn new concepts in CS. You should aim to complete at least one internship, if your program and timeline permit.
5 ways to switch careers to computer science
1. Self-taught path
One of the ways to break into the field of computer science is to study on your own. While it may seem like not a valid way to acquire sufficient education and stand the competition in the current market, many individuals take this route and find satisfying jobs every year. You may think that your resume will appear at a disadvantage without a proper “education” section, but in reality, all that matters to most employers is that you have the required skills to do the work. You are usually able to do this by building a strong portfolio and answering technical questions, as well as solving required tasks, during a series of interviews.
The self-taught path has an advantage of being the easiest on your wallet, with payments only necessary if you enroll in paid online courses, which are usually very affordable. The main difficulty with studying by yourself is lacking a proper structure and curriculum. With the plethora of online resources, however, it is not too difficult to find a study program that works for you while covering all of the important topics.
It is also important to start working on actual projects as soon as possible, as programming is not a skill you can learn by studying the theory in isolation. You may also encounter difficulties with not having teaching assistants and instructors assist you with the roadblocks in your coding assignments, but again, online resources such as StackOverflow and GitHub Community can usually help you with most of the problems you encounter.
2. Coding Bootcamp
Attending a coding bootcamp is perhaps the fastest way to switch careers to computer science. These specialized programs aim to teach you all of the lean programming skills required for employment in the current market in a matter of 12-24 weeks. These programs are expensive, although not as costly as university degree programs.
You should enroll in a bootcamp if your goal is to get a job in tech as soon as possible. Coding bootcamps are usually quite intensive, require full-time commitment, and provide you with solid skill set to solve just about any typical programming task. However, the depth of education is not necessarily guaranteed, with many theoretical concepts, as well as background knowledge in math, being omitted from the curriculum. For more information on whether you should attend a coding bootcamp or get a university degree, see Coding Bootcamp or Computer Science Degree? article.
3. Undergraduate degree
If you do not have a Bachelor’s degree in any field, obtaining undergraduate college education may be an excellent option for you on your path to career change. It takes longer to get a degree than complete a fast-track coding bootcamp, but the return on investment might make it worth it in the long run. Specifically, it takes 2 years to get an Associate’s degree and 4 year to get a Bachelor’s degree, which is the recommended option if you are going for college education in CS. University education provides you with a comprehensive knowledge base, including background in computer architecture, math foundations of CS, and a number of programming languages. You are also free to customize your curriculum by choosing elective courses that align with your interests.
Obtaining college education will also improve your employment prospects, as a university degree will always provide credibility to your job applications. Where a self-taught individual would have to prove they have what it takes to work in a corporate environment by exhibiting a more dense portfolio, a university graduate would have less of a problem conveying expertise on their resume. That said, the level of skill and the ability to showcase it matters most in the hiring process. The downside of acquiring a college degree is the high cost and lengthy duration. You must be willing to devote your time and make a monetary investment in your education.
4. Post-baccalaureate program
If you already possess a Bachelor’s degree in any discipline other than computer science, you might consider making your pivot through obtaining post-baccalaureate education. In some cases this means getting a post-bacc diploma (akin to an accelerated second Bachelor’s degree), while in other cases all you need may be a post-baccalaureate certificate (non-degree coursework). Either way, you will be taking foundational courses in programming, math, and computer systems in order to get a solid basis in CS and start your career in tech. Post-baccalaureate programs take between few months to two years to complete. You may find a list of post-bacc programs in Best post-baccalaureate programs in Computer Science.
5. Master’s degree
If you are a university graduate already, you may also want to consider getting a Master’s degree in CS. That’s right, you can get a Master’s degree in computer science without having an undergraduate degree in CS. In fact, for many programs, your background could be completely unrelated. The advantage of getting a Master’s degree for non-majors is that you get to learn both fundamental and advanced topics (such as Machine Learning, Computational Linguistics, and Brain-Computer Interfaces) during your studies. Master’s degree usually takes 1-2 years to complete, after which you may continue to either apply for jobs or get a doctoral degree in computer science. If you have an undergraduate degree in an unrelated field and wish to switch to a career in tech, this may be the most feasible option for you. We have curated a list of on-campus and online Master’s degree programs that do not require applicants to have undergraduate CS education.
Ways to build your portfolio
While you are in training, you want to think about building a set of projects to showcase your abilities as a developer. Your projects could include websites, mobile apps, hackathon competitions, open source contributions, and personal projects. The important thing is starting early on and having at least 2-5 projects ready by the time you are applying for full-time jobs. It is important not only to complete your projects as functional entities, but also to follow rules of software development, including proper documentation, formatting, and unit testing. It is as important to describe your projects well, which could be in a form of bullet list in your resume, GitHub repository, personal website, or video demos (or a combination of these!). You want your portfolio to be attractive as well as professional. Make sure to spend enough time polishing your presentation.
Whether you like it or not, even entry-level positions usually expect you to have some kind of work experience. This is due to the fact that companies want to be sure that they hire an employee who will not need a lot of babysitting when starting their job. As such, recruiters often seek graduates who have done internships throughout their education.
Experience doesn’t have to be in a form of internships, although this is usually the most convenient and traditional way to acquire real-world practice. You may also choose to work as a freelancer, help out a local business, or build a project pro-bono.
Applying for jobs
The final step of your career switch is finding a full-time job in computer science. Tech industry is experiencing an upturn with increasingly more positions opening for CS-related roles. Nevertheless, finding your first job as a developer is far from being an easy task. In fact, it takes more than a hundred applications on average to get a few interviews and an offer for your first full-time job.
Besides getting your education, building a portfolio, and gaining work experience, the most important suggestion is for you to start early. You should target to start applying to positions of your interest 3-9 months in advance, the earlier the better. Have your resume formatted and polished and prepare for both behavioral and technical interviews. Use job boards such as LinkedIn and Indeed to find appropriate postings. Be patient and don’t get discouraged. Almost everyone who has a decent resume gets a job sooner or later, and you will be no exception.
Switching careers to computer science can seem like an arduous task, but it is worth pursuing it if you see a future in tech that you would love to happen. We’ve outlined some important steps you need to take in order to make the switch, including 5 ways of getting education, building a coding portfolio, and acquiring working experience. Career change is a journey, and will take ups and downs to get where you want to be. Be patient and don’t get discouraged if you encounter hindrances along the way. Put in the work, stay consistent, and we will cheer for you as you climb the ladder.
Elmar Mammadov is a software developer, tech startup founder, and computer science career specialist. He is the founder of CS Careerline and a true career changer who has previously pursued careers in medicine and neuroscience.
Due to his interest in programming and years of past personal experience in coding, he decided to break into the tech industry by attending a Master’s in Computer Science for career changers at University of Pennsylvania. Elmar passionately writes and coaches about breaking into the tech industry and computer science in general.