IBM Developer Blog

Follow the latest happenings with IBM Developer and stay in the know.

Software engineer Garrett Halstein, provides insights and tips on how to become a software developer from a non-traditional background.


Some people say that it doesn’t matter how you start, what matters is how you finish! And no truer words have been spoken, especially with regards to your career and professional life. Last year I graduated from college with a Bachelor of Science in Chemistry. Less than a year later I became a Systems Back End Software Engineer at IBM without a formal computer science degree. And today, I work at the Transaction Processing Facility in Poughkeepsie, where I develop and modernize an operations server console that handles transactions for several major credit card, hotels and airline companies. Most of my work is on the Java console for the z/TPF operating system. I also help process the linux build and package along with shipping code. (Note: According to the 2020 Stack Overflow developer survey, 4.4% of professional developers have a background in natural sciences.)

My journey to becoming a software developer began when I took my first computer science class as a senior in college. After that one class I realized that being a developer was my true passion! But with a degree in an unrelated discipline I didn’t know how I could make the leap to becoming a professional developer. So, immediately after graduation, I completed an immersive software engineering boot camp at Flatiron School. While at that boot camp, I independently built scalable full-stack applications such as Facebook and Trello clones. I decided to attend a coding boot camp because I thought it would push me to learn as much as possible in the shortest period of time. After completing the boot camp, I applied for jobs and quickly accepted a position at IBM.

If you are currently trying to become a software engineer, you first need to learn to code. And the best way to do that is by taking an introduction to computer science class. There are great supplemental resources on YouTube for introductory courses. Just make sure to attempt to figure out problems on your own before jumping right to the solutions. From there you can start learning how to build projects by applying your coding knowledge. While you work on projects, it’s important to also practice solving algorithms. Understanding data structures and algorithms was crucial for passing the technical interviews at nearly every company I applied to. I found that Elements of the Programming Interview and Cracking the Coding Interview are great resources for algorithm questions.

In sharing my journey to become an enterprise developer from a non-traditional background (or what IBM calls “New Collar skills” ) I hope to inspire and provide advice to those who are looking to do the same. While the process is difficult, if you are willing to put in the effort and have a passion for technology you too can become a developer without a formal computer science degree. I go into more detail here in this complementary video I recorded for career-changers.


If you are interested in more content like this video, make sure to check out my YouTube channel, https://www.youtube.com/c/GarrettHalstein, where I share tips, tutorials and advice on becoming a software professional.