I am Irvin Lim.

I make pretty and functional things on the web.

What I hope to learn in CS3216

The following post, as well as all other posts in the CS3216 category, was ported over from my old blog at blog.irvinlim.com.

Being a web developer since I was young (I picked up HTML at age 10 and JavaScript at age 12), it is really exciting to have been given the opportunity to enrol into CS3216 Software Development for Digital Markets. I only really started off mainly as a PHP/MySQL developer, working on WordPress sites for freelance clients since about 3 years ago, but I always felt that the work I did never really reached out to many users and never really got feedback on my products. However,  upon entering NUS I have constantly heard about the name of CS3216 ever since my first semester in Year 1, and decided that it was the module that would really push me and my work to see the real world of users and push me to do better. Hence, even though I may have somewhat a little experience before entering this module, I can foresee multiple late nights being spent coding up something just to tear it down the next day. I have many things I wish to learn throughout this process, which will hopefully allow me to emerge as a better developer more ready for the industry.  


One thing I have never had the chance to do was to obtain constant feedback from live users of my site. What seemed logical and sensible to me as a developer might not actually seem so to the layman user, or might not even display the same way as I see it. In my experience as a web developer, I learnt that the first few seconds a user spends on the page will form a bulk of their decision whether to continue browsing or close the tab, or even worse, before the page even loads, if it takes way too long to load. By requiring us to present our project to an actual audience would force me and my teammates to seriously consider the end-user experience using flowcharts, wireframes, etc… (which I have no experience using before)  

Frameworks, frameworks, frameworks…

I have only had experience in a few select web development framworks, most notably WordPress and Meteor, and being in this module would expose me to a large array of frameworks, requiring me to quickly assess the effectiveness for each framework to do a job. Other developers from different backgrounds would bring with them vastly different experiences in using frameworks that they themselves are comfortable with. I hope to be able to pick up a few more frameworks (or at least have an idea of what they do), in order to more readily choose one over another when planning projects in the future.  

Product marketing

I have also never had prior experience in marketing a product, but instead only developing sites according to a client’s needs. This would be a whole new ball game altogether, as you have to think of how you can grab as many users as possible, rather than developing something in accordance with your client’s instructions. Being able to see things in a different perspective would definitely make me improve in how I develop software.  

Diversity in teams

Having mostly worked on software projects alone or in at most a team of 2-3 developers, I had never been given the chance to work closely with others from diverse backgrounds such as marketers or designers, and being able to work with so many talented people of diverse backgrounds would really allow me to expand my horizons, and learn new things every day. Furthermore, through spending late nights rushing a project together, I would also form strong friendships throughout the module in time to come.   In short, I am excited to begin my journey in CS3216. The late nights have begun :)