How I Got Into Tech Without a CS Degree (And Why I’m Getting One Anyway)
Original publication: MOSA Blog, published by Kris Stern on April 21, 2023
Written by Eduardo Torres
After I completed law school, I made a decision. That decision was to do whatever it took to land a job as a software developer, degree or not. Although I chose to pursue law school during my college years, computers and technology were always a significant component in my life. To reach my goals, I planned a 6-months period to focus, on a full-time basis, on studying to become a software developer. Some of the things I did were:
- Learn fundamental web development technologies such as HTML/CSS and JavaScript.
- Build projects with the latest and trendiest technologies such as React, GraphQL, and MongoDB.
- Work with other developers through initiatives like volunteer work, meetups, etc. and collaborate using git.
- Study the job market and apply to jobs.
My First Tech Job
After applying to about 100 jobs and completing about 10 interviews, I received one offer. Everything looked great about this offer except for one thing: it was not a software development role. It was an IT Helpdesk role for a startup company.
At that point in my life, it made sense to accept this offer instead of continuing to search for a software development role. I decided to view it as a stepping stone in the right direction. At best, I could pivot to a software development role inside the company. At worst, I was already in tech and perhaps a little bit closer to my goal. During this experience, I made sure that I could complete my job and, additionally, communicate my interest in software development while making myself available to contribute in related areas.
2 Years Later…
During the two years that I worked on the IT Helpdesk team, I participated in tasks and projects together with the company’s DevOps team. Also, as the only “IT guy” of a startup, I was expected to cover many bases across different IT disciplines, which made me a more rounded technology professional. These included: systems administration, IT management, network administration, automations, etc. However, I never lost focus or forgot about my end goal…two years later, I was ready to try again.
I decided that a good way to “get back into it” was to enroll in an online course or two, so I completed Harvard’s CS50x and UPenn’s Computational Thinking for Problem Solving. In parallel, I was actively looking online for potential job opportunities and studying for technical interviews. Then one day, I received an email from a newsletter I couldn’t even remember subscribing to. The company was looking for an “Integration Engineer” proficient in Python, backend web development, and working knowledge of REST APIs. So I applied.
I Did It!
At first, “proficiency” as the expectation felt a little bit intimidating. Despite “proficiency” not being necessarily the term that I would have used to describe my Python and backend skills at that time, I was confident in the skills that I had acquired and most importantly how I had acquired them. After a few technical and non-technical exchanges, it worked! The company loved me and I loved them. And although technically the role was not exclusively software development, a huge part of it was.
At the beginning, it was difficult. Getting to know the codebase of an already established platform felt like trying to surf a huge ocean wave with little surfing experience. Despite being put to the test during the recruitment process, at times, I even felt like an impostor. “Am I going to be able to do this without a CS degree?” was a thought that crossed my mind many times.
Why MCIT Online?
After some time, things got better. The data models started to make sense and API development started to feel like second nature. On some occasions, I was even trusted with frontend development and infrastructure work. And today, I am officially no longer an integration engineer for this company, but a software developer with greater responsibilities than I ever expected. However, I felt that something was missing.
Professionally, I wanted to continue developing my skills to be able to work with more and more complex technical challenges. As technology continues to evolve, I too want to evolve as a software developer and a computer scientist. And personally and perhaps most importantly, I wanted a new challenge – the challenge to come full circle with a passion that was always present in my life, but that I didn’t realize sooner, the passion for computer science and technology. MCIT Online seemed to me like the obvious choice; its competitive reputation, esteemed faculty and community, and its flexible online component made MCIT Online feel like the last piece of the puzzle.
As I write this article, I am close to completing my first semester in the program. With the CIT 591 course almost completed, I can already feel more confident in my software programming skills. Despite having work experience in this domain, there was a lot that I learned from CIT 591. In great part, this is thanks to its carefully designed homework assignments and significantly present professor and teaching assistants. By the end of MCIT Online, I not only expect to become a more competent technology professional and computer scientist, but a member of a community of supportive and brilliant individuals. Despite being an online program, I have never felt a greater sense of collaboration with my peers.
Eduardo is currently living in Paris, where he works remotely as a Software Developer. He holds a Juris Doctor degree, a B.A. in Interdisciplinary Studies, and is in his first semester, currently enrolled in CIT 591. He runs a weekly, bite-sized, newsletter aimed at aspiring developers at https://taketheleap.dev. Apart from coding, he also enjoys language learning, hiking, and chess.