Hello CS3216!

Hi! So. *deep breathe*

My name is Zhang Yi Jiang. I’m a second year CS student, and my speciality is web development and UI and UX design. You may know me as the developer for the School of Computing Freshmen Orientation Project website, or that weirdo who keeps a pony by his side as he pounds out code in the COM-1 common area. If you want to check out some of my other works, have a look at my resume or my portfolio.

What else am I? Oh yes. I’m also fucking terrified.

CS3216 has a reputation as School of Computing’s flagship module, of being hard as nails, and of eating its students alive. The best of School of Computing and elsewhere. When I told all my friends I got accepted, they congratulated me.

“If anyone can get in, it’s you,” they say. And they’re probably right, but I still wonder if I’m truly ready for this. The reason for me taking this module is that I hope to make up for a lack of experience working in teams. Modern day software development is a team effort. Unless you’re a genius, you’ll be building stuff in teams, and unfortunately up till now I have not had a chance at that sort of experience. This module (and CS2103, which ironically I’m taking in the semester) would hopefully give me that experience.

What else do I hope to learn? Modern software development techniques would be one. Agile and test-driven development, distributed version control systems and continuous deployment are all things I’d like to be able to put into practice. I have tried practicing them on my own, but doing it as solo developer feels like playing chess against yourself. They’re meant to increase the productivity of programmers, but it feels like the overhead they bring to a single developer doesn’t justify their use.

And finally, make something non-trivial using something other than the traditional LAMP stack. It has served me well so far, but it would be nice to using something other than PHP for once. Python + Django is likely a good choice, or alternatively a full ES6 stack with Firebase for apps that require real-time data flow. Both are exciting choices for someone coming from LAMP.

So. Let’s build something amazing!