Throw together a bunch of awesome hackerish people who love to solve problems and build stuff, and you’re pretty much guaranteed to learn bucketloads – even in unexpected areas.
I try to learn as much as possible from every experience, so my short cop-out answer would be: keeping an open mind and not set too many mental boundaries on what I hope to learn.
That said, there are a few specific aspects in which I hope to learn more:
Working with Others: Discussed with a friend the merits of joining CS3216 vs. working hard on external projects myself, or with others. Flying (semi)solo does have its perks, but having the opportunity to work with a diverse set of people who share the same kind of dreams is probably a better way to level-up together. Rather like an MMORPG.
Product and UX design: I’d like to understand more deeply what users need and want. Being good at both designing and developing is so rare that finding such people is often compared to hunting unicorns. Lofty goal to work towards perhaps, but any efforts I put towards getting better at design would help me be a more well-rounded developer. Since CS3216 isn’t just for pure coders, I hope to have the chance to work with a good designer or two – I think I’d learn a lot.
Presentation and Pitching: Not my strongest suit, and something I’ve to face my fears in. Just gotta keep at it, and believe.
Writing and Blogging: Well, it’s part of the requirements, but more than that, I do hope it serves as a jumpstart to return to blogging more and finding back my personal writing voice. That’s partly why I got a whole new domain dedicated solely to blogging – interrobeng.com. Not just because it’s an obscure typographic pun. Really.
All that and of course, a lot of chances to practice and hone my craft, on the long road towards mastery. Bring it on.