Transition to CS, Programming and Tech
A primer on building a career in CS from non-tech background
“Have you always cherished your aspirations to pursue a career in Computer Science, but were apprehensive about it as your educational background was not from mainstream CS? Read ahead to know about the experiences of Rishika Singh who has had a remarkable transition to a tech career”
About the speaker
Rishika Singh was born and raised in Santa Barbara, California. She pursued her Bachelor’s in Psychobiology with a Minor in Bio-medical research at UCLA and she also has pre-medical experience as part of the program. She had always been fascinated by programming seeing her friends code and was inquisitive to try her hand at coding and grew all the more interested in the field when she worked on a project that involved building a robot from scratch. By then, she had developed a strong desire to pursue a career in tech. She’s currently a graduate student in Computer Science at the University of California, Santa Cruz with research focusing on ensuring fairness in recommender systems.
“My career goal is to work towards helping others and improving people’s lives” says Rishika
Preparing for the transition
As her branch of undergraduate study did not involve much exposure to programming, she decided to learn and get the fundamentals strong. She took a few courses from the resources available online and supplementing it with diligent practice over a period of nearly a year, picked up on the foundational skills required. Python was the first language that she started with and then gradually went ahead to learn the others. The specific resources suggested would be covered in a subsequent section in the blog post.
Preparing for a Master’s program
Rishika suggests the following key steps to keep in mind when applying to a Master’s program in Computer Science.
- Do thoroughly research the program: Graduate schools have certain requirements on the coursework that potential candidates should have ideally taken depending on the program that they’re interested in.
- Most graduate programs in Computer Science require a formal course in Data Structures and Algorithms, exposure to programming languages like C++ and Java, Math courses like Linear Algebra and Discrete Math.
- Taking the required classes and making sure that all the pre-requisites in terms of course work have been met is an important preparatory step which when augmented with picking up other technical skills required would be a holistic approach in this direction.
- Choose the program that best aligns with research interests: Once you’ve decided to focus on a particular area of research that interests you, it’s important to apply to programs that best suit your interest.
The journey thus far; Internships and professional experiences
Rishika worked at Evidation Health as a Data Science Intern and then as a Software Quality Assurance Intern at Intouch Health the subsequent summer. As both the internships involved working on projects at the intersection of healthcare and tech, there was ample scope for Rishika to apply her expertise from her undergrad program. She’s currently in her second year of graduate study and has successfully interned at AWS for the summer of 2020.
Useful learning resources
- Introduction to Computer Science and Programming in Python available on MIT-OCW is a good resource to learn from
- For those starting with Machine Learning, Machine Learning by Prof.Andrew Ng on Coursera is probably the best introductory course in the area.
- Harvard University’s CS50 — Introduction to Computer Science which is available for free online and can as well be taken on edx.
In addition to the academic background, working on soft skills, reaching out to recruiters to learn more about the job descriptions, researching companies and the various positions that they’re recruiting for can be beneficial in the process.
Being a part of communities like Women Who Code, being a part of the study groups that the various chapters organize, attending career fairs, leveraging the use of platforms like LinkedIn and Jumpstart for networking with professionals and to stay updated about job opportunities would also be of great help.
The recording of the talk that this blog post aims at summarizing can be found on YouTube.