The Wt Framework
My week started off with me meeting Dr Shawn at the office. He told me to just learn the git flow workflow just for that day and I did so, and at the same time I tried to get comfortable with my new working environment. The real work started on my second day where he introduced me about AESTE’s very own project which I would be working on during my internship period as I sat down with him for my ‘welcome’ lunch. Since it’s a web application, I am required to learn the C++ widget based web framework called Wt. Initially, the way I learned Wt was going through the tutorials given on their website and actually do the examples. Once I think I am fairly familiar with it, I tried to emulate one of their example program, but of course experimented with it in other ways to further my learning.
Two days after that, I met Dr Shawn again, and much to my surprise, I was given a client project instead. He basically gave me an overview of what the project is about and what I needed to learn more in order to get it done. It still involved using the Wt library, but now I have POCO library, a C++ library which I would be using to handle HTTP requests and response and also to parse JSON, and the WooCommerce WordPress Plugin that deals with all things e-commerce, where I would be interfacing with it through its REST API. Another important thing was to also learn Wt’s Dbo, ORM(Object Relational Mapping) database, module. At that point, I knew that I just can’t play around making silly programs with my new toy, Wt. I proceeded in attempting to make a simple mock application that involves working with the Dbo module, to ensure that I understand how ORM database work, at least in Wt. By next week, I should also make sure to have a thorough understanding on other things, especially WooCommerce.
I received an important lesson from Dr Shawn himself as well. He told me that a programmer’s life and the user’s experience have quite the opposite effect on one another. Programmers that always go for the easy way out would result in software that is not well designed or well implemented hence affecting user experience in a bad way. On the other hand, if a programmer tries to make the software as ‘canggih’ as possible, even though making his or her life more difficult, it would result in software that gives quality user experience. I know that life won’t get much easier from now on, but strangely I am kinda excited about what is to come in the following weeks.