I was going to blog last night but then decided to do it after a good sleep (maybe the last one in this semester :P). It's quite a bit hard to recall everything now, but the followings will definitely stick in my head for a long long time:
1. The importance of communication in a software engineering project:
"A group of elite programmers may fail miserably if they can't work as a team"~Ben Leong.
I totally agree! Human beings are biased, and each one of us has our own way of looking at things. We can't communicate well if we keep seeing from our own little eyes. I used to be a very stubborn boy who only cared about what I assumed to be the right thing to do. But I've learned the hard lesson: either open my mind to listen to other people or get left out and fail. Choosing the correct teammates is also important. It's a lot better to work with those who share the same mindset. But it's ok if such people are impossible to find. After all that's the whole point why Prof Ben forces us to form different teams for the 3 assignments. We just have to figure out how to work with each other.
2. Share or not share?
It's a controversial topic. Lucky Jonathan brought it up. I am one of those in favor of sharing ideas with other people. But I only share ideas that I'm implementing or planning to implement very soon. I often have very random ideas while doing other stuff and record all of them down. But of course I can only implement one at a time, and that's the one I share. I keep my other ideas secret until I decide to do them. Personally I think an idea kept secret all the way until launch is not going to do very well. It's a lot easier for other people to spot what is lack in the idea. We never know if we never ask. And if other parties happen to be able to add these missing features to their products, well... we'll be screwed!
3. The role of non-programmers:
Prof Ben pretty much said it all. That's why we have businessmen, designers, and other people here in CS3216. I just want to emphasize a bit more the importance of designers. From my experience working with programmers and being a programmer myself, I can confirm that good programmers can't design! It's because, as Prof Ben said, programmers and designers don't speak the same language. They think very differently. Some programmers may have reasonable designing skills, but they can't compare to a real artist. Products made by programmers alone are often ugly or lack "killer UI features" that appeal to users. For me, I really like working with designers because I can learn a lot from them. Hopefully one day I'll be able to speak the designer's language :)
----
I'm addicted to CS3216 already! I'm taking 6 modules this sem + a part time job, but CS3216 is the only thing I'm thinking about. Don't know whether it's good or bad...
I'm addicted to CS3216 already! I'm taking 6 modules this sem + a part time job, but CS3216 is the only thing I'm thinking about. Don't know whether it's good or bad...
ReplyDeleteI can give you the answer to this. Typically, it's very bad for your grades in your OTHER classes. :-)