Sunday, August 30, 2015

Week Three - A Long Way to Go

During this week's class, we had a talk about Growth Hacking, and a little sharing/Q&A with Bjorn and WenXiang from Zopim (Zendesk). They were Awesome. With a capital A, because lowercase isn't enough to describe their awesomeness. The stories they shared were every aspect of inspirational: they dared to try to start something new, struggled through financial and technical difficulties, and even succeeded in getting acquired. The fact that they succeeded make the option of doing/joining a startup seem much more realistic, and I am extremely thankful that I took down notes during the class. I'm sure I will refer to them for the years to come, be it for motivation or direction.

While the class was awesome, the rest of the week was much less so. Right now, my group 1 is lagging behind in many areas, and I'm not even sure if the slide deck for my second group has been sent out. For both groups we had something like a lack of direction, albeit in different ways. In the first assignment we wanted to do stuff, but we just weren't clear on how to go about it. We have a clearer impression now, after the feedback and seeing other groups' pages. The second group was more of a lack of leadership, initiative and responsiveness. We almost never had any idea on who would do what, what to prepare before meetings, and we didn't even start on actual work until Wednesday, 2.5 days before slide deck submission. We have some pretty legit (imo) pecha-kucha slides now, but I'll wait until Monday before saying anything about whether "it all worked out fine".

Regarding the assignments, I'll admit that everyone was probably busy, because it was very much so for me. Yet, I can't help but feel that we could have done better -- I should have done better. Every now and then I feel this sense of regret, in myself and in the choices I made. Did my group focus too much on building features for assignment 1? Could I have been more proactive in interacting with classmates and forming groups? Can I really manage the workload? Should I have just tried out web development on my own, instead of taking a graded module where my freedom is somewhat restricted by groups and grades? Is it even possible for someone like me to become like Bjorn or WenXiang?

I don't mean to be depressive (really!); I'm just an honest typist. I'd like to think that honestly reflecting on my sub-par performance here will imprint in my mind the need to step up and try harder.

I still have a long way to go, and I suppose the only way to get there in time is to step it up.

Saturday, August 22, 2015

Week Two - Getting Started

At this point, my Facebook app group is still starting on coding. I'm not sure if we are lagging behind, although I get the feeling that we are. We spent quite a bit of time this week finalising our idea, figuring out the requirements, as well as setting up the frameworks we were going to use. We had more than a few discussions on whether to include a given feature, and on my part I struggled a bit with installing Laravel. Because it had less support for Windows. D:

Features-wise, I'm not sure if we are on the right track. At times, we try to keep to our "purpose" of the app, and at others we think of whether it would be desirable to the user (UI/UX or otherwise). I personally believe that even if we make a product for a given purpose, the users are free to use them for whatever they want - even if it was not our original intention (as long as they don't break anything in the process). I feel that we should not purposely restrict the functionality of our app just to fit our desired use case, and try to steer the discussion that direction at times, but being a "non-designer" I can't be sure if my perspective is right, so most of the time I just hold my tongue and hope it works out.

The lesson this week was about software engineering principles as well as the SCRUM methodology, while the workshop was about presentation skills, HTML/CSS/Javascript and UI/UX.

For the lesson, it was a helpful refresher of what I learnt in CS2103 two semesters ago, It reminded our group to use user stories to list our (most important) features, and helped us identify our roles more clearly. Although we did not adopt the full SCRUM methodology, we now have a semblance of a project owner and a scrum master, who help identify features and push the team to get things done.

For the workshop, I only attended the session for presentation skills, but I daresay that was an excellent use of time. Prof. Damith spoke extremely well on his 6 tips for making impactful presentations, and I really admire how he has actually read (or at least owns) so many books on giving presentations. My main takeaways from his presentation are (1) think of what you want the audience to know, believe and do after your speech, (2) don't speak about topics - make points, and (3) introductions aren't important, an impactful punch is. I am personally not good at presentations, because I tend to lose track of what I "need" to say. I hope to learn from his method of thinking and speaking, which I found is very clear and focused, especially with regards to defining the desired impact. He identifies the condition for success (the desired impact or takeaways for the speech), and works towards it. I think keeping this desired impact in mind will help me to focus on what I want to tell my audience, instead of the script that I need to say.


Sunday, August 16, 2015

The First Week - A Preview

We have had one 'lesson', show and tell, and a workshop this week, plus we formed groups for the first assignment (some of us formed groups for the other assignments too).

I can't help but feel the competitiveness in this course - not only in the activities of my peers but also their abilities and background. It appears like the other developers know tons of languages, have at least a few self-initiated projects on the side, and some even have relevant, boast-worthy work experience. I, on the other hand, have minimal experience in web development (one orbital project), have no noteworthy self-initiated projects, and although it was a good learning experience, my internship only delved in C++ and Java. In addition to the fact that I didn't get to do my show and tell, these factors make me feel like a less-than-prominent member of the class, and an unlikely team member.

Sure, I am willing to learn, but do you think that is enough? I could try to substantiate the value of that - perhaps say that I learn fast, that I am doing well in all my CS mods, or that I'm near the top of my course academically - but I'm sure these factors aren't convincing at all.

Well, the only way I can convince any of you is to put in my best in this project and every project after - and that is what I will do. Perhaps I will still remain an inconspicuous figure in the class, and maybe I will have to resort to random assignment for groups, but I will make the best of it, and learn as much as I can.

Even if I am behind right now, I don't intend to stay that way forever.

Tuesday, August 11, 2015

What I hope to learn in CS3216

Wow, where to begin?

Just two days ago I was content with my 5 core modules, resigned to having been rejected by CS3216. Now, here I am, panicking over what to do for Show and Tell tomorrow, fretting over a suddenly hectic-looking semester, yet extremely excited to actually be in CS3216 - excited over the things that I hope I will learn here.

To begin with, I hope to learn more about building a software. From building a software with some networking aspect, to getting more exposure to teamwork and team dynamics and meeting the 44 chosen people, to understanding the activities of the different roles in a team, to the experience of doing something like a mini-startup, there's plenty to gain from this "hellish" mod.

Going beyond the normal, formal stuff, I hope that through CS3216, I will become more of a "crazy" software developer. I want to become a person who consistently dares to try, dares to risk and dares to build things that will change the world for the better. I want to become a programmer who consistently challenges himself and sees possibilities where others do not. I want to be someone who is generally crazy about his work.

Maybe that's a little too much, but I'm almost sure the things I learn in CS3216 will make me a better, crazier developer.