A Transition into Computer Science from Biochemistry

I am a biochemist turned software engineer. The article discusses my reasoning for the transition and I share some resources on the UBC BCS (second-degree program).

Ben Cheung
World of Cultivation
12 min readFeb 19, 2020

--

Last updated: November 24, 2023

Note: We have a Discord Server for Tech Career Changers now!

As a biochemistry graduate that wanted to transition to CS, I had to do quite a fair amount of research reading through multiple Reddit threads, personal blogs, and websites. I figured that I might as well also compile the information so any individuals in a similar predicament can get some insight to make more informed decisions. So let’s address why B.S Biochemistry to Computer Science? Is the transition from Biochemist to Software Engineer worth it?

What’s my background?

  • UWindsor Alum(Bachelor of Science Honors Biochemistry with Minor in Applied Information Technology)
  • Some coding experience from secondary school

What does this article cover?

  • Options for transitioning to CS (from any degree)
  • Why I decided to pursue a second degree in CS
  • Any regrets? / Takeaways
  • Recommended Learning
  • Let’s get in touch!

Are you looking to transition into the field of computer science?

There are a few options that you can consider:

If you are interested in pursuing a second degree in CS at UBC, I wrote an article about it! Check it out here! https://mrbenc.medium.com/the-ultimate-guide-to-ubcs-bachelor-of-computer-science-second-degree-program-b357156a9be5

What are the advantages and disadvantages of each? These are just general ones. There are many discussions that go into more detail. But here are some surface-level ones.

Bootcamp

Advantages: less expensive, less time, direct industry CS exposure;

Disadvantages: some employers still want to see a CS degree, may be a bit harder to secure a job and might be screened in resume screen round; harder to get internships

Second Degree

Advantages: Great networking, you get a degree from university; employable

Disadvantages: Takes time (2–3 years), costs money

Here are the following ones that I came across:

Self Learning

Advantages: Not expensive, many free resources and discussion groups online. Learn at your own pace.

Disadvantages: Need to be self-accountable and keep yourself motivated. Might be a bit harder to secure a job, so need to do LinkedIn networking.

Other

Why did I decide to transition into computer science?

As the completion of my first degree in biochemistry had neared, a lack of direction and sense of lost purpose for the next steps of life was experienced in full.

Typically, with a life science/ chemical science type of degree such as biochemistry — there really seems to be a limited amount of options.

  • Professional School -> Doctor, Pharmacist, etc.
  • Industry
  • Masters -> Ph.D. -> Academia (or then one of the two aforementioned routes)
  • Other (Second Degree / Work in a different field)

Originally, like many others coming out of secondary education and heading into post-secondary education, I was also one who aspired to become a doctor. After three years of intense biochemistry studying, volunteering at health-related organizations/clubs/hospitals, and preparation for the MCAT, I was finally able to take the last step in the journey and apply to medical schools.

I couldn’t complete this last step of my journey for reasons that I will discuss now, and my afterthought is I feel fortunate that the tides have turned in a different direction.

My worldview changed.
My goal to pursue had changed.

In any case, I knew I actually didn’t want to go through the medical school route. Thus, why not give academia a shot and then perhaps industry?

In the last year of my biochemistry undergrad, I completed an honors thesis in a physical chemistry lab studying the fabrication of electrochemical sensors using copper sulfide. While I have learned plenty, had an excellent supervisor, and lab group, I still felt that something was missing.

I was neither happy nor upset with my situation. It was a feeling somewhere in the middle of the emotional spectrum — to just satisfice.

While completing this first undergrad, I was also working part-time remotely for a blockchain company, Enjin.

A company that changed my life.

Enjin opened the doors to a larger world of opportunity. I realized that my worldview was limited — like a frog in a well. A very deep well.

I was able to attend industry-level conferences such as E3 (Electronic Entertainment Expo) and GDC (Game Developers Conference) — events which I would never have dreamed to go to and probably wouldn’t even consider for a lifetime if I stayed in biochemistry.

The most influential moment was when I had finally met my coworkers from Enjin in person for the first time. It really was a shock factor to see the individual you work with daily finally appear in the flesh. With the influence and inspiration of both my coworkers and these industrial events, I hardened my resolve to go pursue a career in computer science.

Why computer science specifically? The reason was due to the incredibly large amount of opportunity in the space. CS opens many doors and opportunities. With CS, you can go to pretty much any field. You can start any company. You can carve your own future. This wasn’t possible with biochem. I can’t start my own lab without a master's then Ph.D. I also decided to go with UBC’s BCS (ICS) program as it was in Vancouver — a city filled with opportunity compared to my hometown in Windsor.

My new journey began to take shape.

I applied for the BCS second degree program at the University of British Columbia while in my final year of biochemistry. The reason I applied here was that I thought that connecting with like-minded individuals and networking would be really motivating. UBC also was in Vancouver and would have many opportunities as Vancouver is known as a tech hub in Canada.

Some other options I had at the time would be the following:

What was my plan?

  • Apply during my last year of biochemistry degree to the UBC BCS program
  • I was working part-time still at that time. If I got rejected, I was planning to work full time at Enjin and re-apply the following year.
  • I only applied for the UBC BCS program. The reason for applying to UBC BCS was because of its reputation, and networking opportunities.
  • The UBC BCS program is 2–3 years in length and you will be with many like-minded individuals who have also done a second degree. It is incredibly interesting. It makes it much easier to stay motivated. More details can be found in the article/guide I wrote about how to apply which you can check out here.

In my final semester, I had received an acceptance notification and following graduation, I moved to Vancouver to begin this new chapter.

I could start this brand new journey in a new city, new university, new time, and a new beginning.

Expanded Reasoning for Choosing a Second Degree in Computer Science

This section was added in retrospect after graduating in 2023.

After weighing various options, including bootcamps, diplomas, and lateral moves within the startup world, I concluded that pursuing a second degree in Computer Science offered the most promising avenue for achieving a higher growth ceiling and unlocking greater potential in my career.

  • Higher Potential Ceiling: The path of boot camps, diplomas, or staying in a startup posed significant limitations. These routes often lead to similar roles and titles, creating a glass-ceiling effect in terms of career progression. In contrast, a second degree opens doors to more advanced opportunities, breaking through this ceiling. The official degree also opened doors to opportunities outside of Canada.
  • Time Efficiency in Transitioning: Transitioning into a software engineering role through self-taught methods or lateral company moves could be more time-consuming and less structured. A dedicated period of study in a university setting, like in my second degree, accelerates this transition. It provides a structured environment for rapid skill acquisition, networking, and opportunity exploration.
  • Structured Learning Environment: University settings offer a systematic approach to learning, covering a broad spectrum of topics essential for a well-rounded understanding of computer science. This structured environment significantly reduces the time required to acquire the necessary skills compared to self-taught methods.
  • Internship Opportunities: The second-degree program uniquely positions students to intern at various companies for meaningful durations, like 4-month periods. These internships are crucial for gaining real-world experience, understanding different company cultures, and determining the best personal fit in terms of team dynamics and work environment. This experience is something that cannot be replicated through self-learning or internal company transitions.
  • Expanding Worldview: Engaging with multiple companies through internships allows for a comprehensive comparison and contrast of various work environments. It offers insights into different types of teams, company cultures, and operational methodologies, greatly expanding an individual’s professional worldview.
  • Effective Transition: The opportunity to try different roles in diverse settings ensures that the transition to a new role is not just about landing a job but about finding the right fit. This process enhances the effectiveness of the career transition, ensuring alignment with personal and professional goals. You will understand what practices are great at a company and be able to spot differences between management styles, cultures, and processes.
  • Viewing Education as Hypergrowth: I approached my second degree not just as an educational pursuit but as a period of hypergrowth. This time was dedicated to upskilling, expanding my professional network, and seizing every opportunity to push the boundaries of my career potential. This ‘training arc’ was a strategic investment in my future, equipping me with the skills, credentials, and connections to reach new heights in the tech industry. This was a great opportunity for me to get out of my comfort zone — organizing hackathons, leading teams, running/hosting workshops, building communities, and competing in hackathons.

This strategic decision to pursue a second degree in Computer Science was not just about acquiring technical knowledge. It was a comprehensive approach to reshaping my career trajectory, setting me on a path to greater achievements and professional fulfillment.

Dedicating Time to Stand Out in a Competitive Industry:

The field of software engineering is highly competitive, and distinguishing oneself from the competition requires more than just the fundamental skills acquired through self-study or on-the-job learning. A second degree in Computer Science provides the dedicated time and environment necessary to develop unique skills and experiences that set candidates apart.

  • Building a Distinctive Profile: The combination of advanced coursework, opportunities, and internships allows students to build a unique professional profile. This can significantly differentiate them from peers who may have taken more traditional or self-taught paths into the industry. In my opinion, you need to further differentiate yourself from even those with degrees. Choose high-impact activities that aren’t commonly done but are related to soft skills / hard technical skills / your field. (examples: running workshops, organizing hackathons, etc.)
  • Networking and Mentorship: Being part of a university program also opens doors to networking with professionals, alumni, and potential employers, as well as access to mentorship opportunities. These connections can be instrumental in finding unique job opportunities and gaining insights into the industry.
  • Structured Paved Path: A degree is structured. You don’t need to scramble around looking for self-learning resources. You go to class, do your assignments, pass your exams, etc. Everything is scheduled and structured. This set schedule is time efficient and gives you the freedom to choose your priorities. You can decide which courses to not try in, which languages to learn, how much interview prep to do, what events you want to attend, etc. In general, it takes away a lot of the mental burden that typically is associated with grinding at your 9–5 job and coming home tired to force yourself to learn new languages. Your 9–5 is replaced with the structured paved path and the rest of your free time can be invested elsewhere.

Do I have any regrets?

None.

I do not regret the transition. Although there seems to be a stigma regarding doing a second degree as it may seem like a waste of time and money, however, in my opinion, it had shaped me to become the person I am today. I was able to clearly define what I really wanted to pursue which was clearly different from what I had thought as a mere secondary school student.

A strong persistence and will was cultured through my previous degree and I’m sure that it will be an asset for the future.

Now, regarding the actual transition from computer science to biochemistry…

A lot of what is learned in biochemistry, the studying habits, the approaches to learning, and the overall experience differs completely from computer science.

Some takeaways from the transition.

In computer science, you can expect to practice, practice, and practice. While there is theory involved, a larger extent is applying such theory to practice. This differs completely from biochemistry where knowledge of different organic structures, types of reactions, biological processes, etc are absorbed through reading, review, and memorization.

Adjusting to this new approach to learning may be a novel change. However, it is essentially the same as studying mathematics, physics, or physical chemistry. Rigorous practice.

The largest key aspect to note in such a transition was the transition of mindset. As a biochem major with the original intent to be fixed on getting into medical school, I was stuck in a fixed mindset.

In computer science, however, it was absolutely vital to get out of this mindset. University doesn’t teach you all that you need to know — it simply teaches you how to learn, where to start, and theoretical concepts which you will need to figure out how to apply. You need to go learn the skills applicable to the industry by yourself to complement what is learned in the classroom. It requires the transition to a growth mindset. The growth mindset is absolutely vital for personal development.

A growth mindset is a necessity for success — to thrive on challenges and see failure not as evidence of unintelligence but as a heartening springboard for growth and for stretching our existing abilities. — Carol Dweck

With a growth mindset, I was able to unceasingly challenge myself, motivate myself, and rediscover my passion to learn.

I believe that I have finally found a field that I am genuinely passionate about. A key takeaway is to seriously explore and consider alternatives if you are choosing to satisfice. Perhaps, you too may find your passion.

Resources/Recommended Learning

I usually recommend individuals wanting to transition to learn the following core concepts. (This is aimed at web dev.)

  • Learn a frontend development stack (Recommended (one of): React / Vue / Angular, etc.)
  • Learn a backend development stack (Express.js / Firebase / PHP / Golang, etc.)
  • Learn how to create an API and how to use them.
  • Learn what a database is and how to set one up (MongoDB (for NoSQL), MySQL/Postgres (for SQL)).
  • Learn how to use GitHub and version control with git.
  • Learn some of the common methodologies used in the industry (Agile/Scrum).

A great article/resource to start would be this one. MERN Exercise Tracker.

Different Types of Career Paths and Stacks

Some possible career paths of a developer

Got Questions or Looking for Extra Help? 💡

If you’re curious or need some quick advice, feel free to reach out — I’m always ready for a chat! For broader queries, our Tech Career Change Discord community is an excellent resource, filled with knowledgeable folks from BCS and other programs ready to answer your questions!

Need More In-Depth Assistance? 💡

With my experience as the author of several guides popular early career/tech career transition resources and having conducted hundreds of Statement of Purpose (SOPs) and resume reviews, I’m excited to offer specialized deep dive sessions. These sessions are perfect for those seeking thorough reviews and personalized advice on applications and resumes.

👉 https://topmate.io/bencheung

Let’s get in touch!

Feel free to reach out and connect if you have any questions. I will be still updating this as more ideas come up.

This was one of my very first articles. So I do apologize for the lower quality of writing compared to the later ones.

Hopefully, this has provided some insight! Feel free to reach out and connect if you have any questions or would like to contribute to this article. If you have free time and enjoyed the read, do take some time to follow or contribute some claps — each member can clap 50 times by holding the clap button (lol).

Edit: Wow! Quite a lot of emails haha. If you have questions, don’t be shy to reach out. Typically, my response time is quicker on LinkedIn, however, both LinkedIn and email works (Sometimes an email gets lost in a spam folder resulting in a delay). I am also down to set up calls if you are an individual who wants to have a virtual chat.

We now also have a server specifically for Tech Career Change(rs): https://discord.gg/96rkQyC5rX

LinkedIn: https://www.linkedin.com/in/mrbenc88/

--

--