Yos Riady optimize for learning

What I hope to learn in CS3216

This is a post for a class, CS3216: Software Development on Evolving Platforms at the National University of Singapore.

I intend to become significantly better and grow as a programmer by writing code and by deliberately learning new and unfamiliar things. Throughout most of my modules in the past two semesters (except CS1101S and CS2020), I’ve felt that my learning seemed limited. This troubled me, until I realized that I learned the most from being involved in project-based work (and from my internship, during which I work on projects on a daily basis.)

This personal mission to optimize for learning is the reason why I choose to take this module, CS3216, because it appears to be a conducive environment to write code and learn new things.

School of Computing

My programming experience prior to joining NUS were limited at best, and I’ve to admit that I’ve only gotten seriously into programming just two years before NUS. I spent a few years dabbling with video game programming using Ruby, making my own graphic assets with Photoshop, and basic web development with HTML/CSS/JS. I built static sites to promote my games and wrote tutorials to help others in the indie game development community develop theirs.

Game Development

I don’t remember exactly the moment I started programming, but I did remember playing a video game and thinking I could have done it better. That spark was what started my initial venture into programming years ago. Now, I feel that programming forms a great part of my identity. My thoughts, project ideas, and even my mealtime conversation topics are all programming related.

I’ve grown in confidence as a programmer over the course of my summer internship, and I’d be happy to contribute by sharing what I’ve learned with my CS3216 peers - Python decorators, Django, jQuery, git, bash, and writing unit tests/TDD. Sharing the things I know will not only help others, but test and reinforce my own learning, and throughout the course I will no doubt be introduced to new topics - frameworks, technologies, design patterns, data structures - which are as yet unfamiliar to me.


Over the summer, I’ve helped build someone else’s application. I feel that now is time for me to apply and practice what I’ve learned into building my own application from the ground up, having learned some of the best practices in the industry. I strongly believe that there is no substitute to experience, and working on projects by being part of CS3216 will be a great avenue for me to gain that valuable experience.

I want to be a better software engineer - and to be better I need to work harder. Being surrounded by like-minded people with a genuine interest in building cool things and who are willing to take rigorous modules such as CS3216, will no doubt push me beyond what I can by myself.


You should follow me on Twitter.

📬 Get updates straight to your inbox.

Subscribe to my newsletter to make sure you don't miss anything.

Here's something you might be interested in...

Going Serverless book

Going Serverless teaches you how to build scalable applications with the Serverless framework and AWS Lambda. You'll learn how to design, develop, test, deploy, and secure Serverless applications from planning to production.

Learn more →