Chow Jia Ying
Chat with me
My university application journey
I attended a coding course in Ruby during the June holidays. From this course, I discovered that I liked solving coding problems and decided to pursue something related as a career.
I wanted to know what I could do with programming languages, and my attempts in transitioning from simple programming to creating software wasn't as smooth as I thought. Studying in university would be able to provide me with a community whom I can socialise and ask for help for, and that a structured university course would help me learn better.
Life after NYJC
What are you doing now in university?
I�m currently studying Computer Science with a minor in Management. CS coursework consists of weekly tutorials and occasional (but time consuming) programming assignments. I specialise in software engineering and programming language implementation, so I take related modules.
When I�m not studying, I work on some side projects. I start on a side project every holiday (summer/winter break).
Are you in any interesting programmes that you would like to share?
NOC program: an entrepreneurship program where students get to intern with an overseas startup and attend a partner university.
CP3108: A module where you get to work on projects to improve the Source Academy. Source Academy is the portal used by NUS's introductory coding module. So it's like utilising the skills you learnt in the coding module to contribute back!
What are you doing in your free time?
I spend my time working on side projects and attend talks if I find them interesting.
Since it's the summer break now, I write articles about my experiences in NUS Computer Science here:
My Future Plans
I'm accepted to the NOC program and will start my internship in July. Currently, I am interviewing with companies and doing other admin work for NOC. I'm excited about the internship as it is a great chance for me to learn how to work in a startup environment and entrepreneurship in general.
I'm also working on polishing my side projects. The more I work on them, the more features/edits I want to make. But now my focus has shifted from trying to get things to work, to impact and user-friendliness.
I'm contributing to open source repositories in Github, since I use some of them in my projects and see that I can make some improvements in those projects.
Non-coding related pursuits: I�ve started writing Medium articles about my life in NUS CS and advice to juniors. I'm also blogging about the Legend of Zhen Huan, since it's one of my favourite Chinese dramas.
Tips for Juniors
Start preparing now
It's good to get started as early as possible. You don't need to go to university to learn how to program. Start preparing by learning to program, reading about tech-related news, and building up a portfolio (eg by participating actively in your CCA). Try to get programming related internships, it will teach you a lot and you will stand a higher chance in your applications to your desired university course.
Ask for help
Many people don't do this, even if they know they need help. Maybe it's because they are afraid/embarrassed to seek help. But if you have been stuck on a problem for a few hours at a time, it's time to seek help.
Learn how to seek help
Asking for help is a great step, but there is a certain technique to it.
Googling: learn how to google. Stack overflow links are great resources but don't just pick an answer. Investigate the solutions given then pick the one you think best fits your use case.
When asking questions, don't just ask "How do I do something?" Provide some context, why are you facing this problem, any relevant code snippets. If possible, show us what resources you looked through/what have you tried.
Find a mentor
Related to #1 and #2.
But I need to put it out there because finding a mentor is so, so important. Find someone willing to help you on a long term basis. Someone who you can go to for anything. It can be a peer who's good at computing, a tutor you meet in your modules, a professor or an internship supervisor.
For me, that person is one of my tutors in my introductory programming module. He was willing to help me with modules even after I was no longer his student. I go to him with questions I have, books I read, side projects I have, and advice in general. He has helped me a lot over the past 2 years.
Align your interests with what you learn
People always say to do what you like instead of going to CS. I don't discourage people from pursuing a highly paid job, but to make your life easier, try to align your interests with the skills you learnt in CS.
For example, if you learnt software engineering and you like music, perhaps consider creating music-related software.
Don't be afraid to try something
I have many peers who don't try to create side projects/find internships/apply for programs because they are scared.
I understand the fear, but there's no harm in trying. Often when you try, there are people there to help you and there are things you learn. Keep doing things that you like.
Take care of your mental health
Programming can be really tough when you're working on a problem for so long without any progress. CS is a course that requires a lot of time and effort, and it's a highly competitive course. Take breaks when you've spent a lot of time on a problem (even when there is no progress), reach out to friends/seniors/tutors. In the long run, taking care of your mental health is more sustainable than working too hard and burning out.