Tony Targonski is a student at the University of Waterloo, naturally pursuing a degree in Computer Science. He works as a Software Developer, programming with Ruby and RoR. Tony also (together with Daniel Servos) administers CompSci.ca Forums and the DWITE programming contest.
The awesome part about working at a startup is that I get to play with all the neat technology that the rest of the team puts together. One such example is the Travel Time API, which is used to calculate actual travel times (via multiple modes of transportation) from one origin to many destinations.
The resulting map of how far one can get via public transit and walking from the centers of Amazon (left) and Microsoft (right) tech headquarters within 25 minutes.
It's Saturday Morning Breakfast Cereal! Though jokes aside, Computer Science vs. Computer Engineering is often a tough choice to make, but here are some ideas for figuring out the subtle differences between those programs.
UBB (Usage Based Billing / “Metered Internet”) is a hot topic right now, with many Canadians angry over the failures of CRTC and the subsequent forced price hike of the internet, even when using small competing ISPs. Here, I’ll talk about how Usage Based Billing will disrupt (in a bad way) Computer Science education, innovation, and as a result, the software industry.
I don't feel that intellectual outsourcing is about exploiting developing countries for cheap labour (as oppose to this being the case for physical labour; stereotypically for shoe factories). It's cheap pay for either low-skills at market rate, or cheap pay for poor quality "high-skills". There are high quality high-skill software developers in all of those countries -- they migrate to where the high paying jobs are (or start their own companies in their home countries). It doesn't seem like anyone is selling themselves short to get the jobs. It's just that in today's global economy, a failing company/department/project could make that final leap for the cheap options rather than folding right away. As I see it, those jobs would have been lost regardless of the outsource option being available or not.
The subtle differences between various Computer related majors are confusing, especially at the age when one makes their University choices. 6 Degrees of Computer Science is a good place to start, but the choice is not always clear. Some delegate the choice of their program to luck -- apply to all, and see which one they are accepted at from the University of their choice. This does not necessary work if ones academic performance is well enough to earn multiple offers. Now what?
There is this perception that a typical programming job involves being locked away in a grey cubicle at some LargeCorp Inc., buried in mediocre tasks, and rarely seeing the light of day. While this grim illustration is not exactly the case, there is some motive to such stereotype.
So we’ll be going on an adventure through on-site programming positions that are anything but typical.