Congratulations! You have picked a field that changes incredibly quickly. Whatever you learn today will be obsolete in the not too distant future. You have to invest in yourself, and work at keeping up with what’s going on.

More than one of you have asked me what my personal methodology is, so here is my system.

  • Be in the general flow. You should regularly keep up with general news, however you do that. Whether you read the New York Times or the Boston Globe or Facebook or Hacker News or whatever. Remember that those sources give you the headline but rarely teach you anything.
  • Figure out what kinds of things fascinate you. You can’t keep up with everything so track your own emotional reactions as you get exposed to new ideas and concepts, in the paper, in class, on the radio, on facebook, whatever. Once you see something that’s interesting you need to decide to dig into it further, write some code, read some long articles.

Some of my favorite sources:

  1. An excellent mailing list about security and cryptography by Bruce Schneier. One of the best in the field. https://www.schneier.com/crypto-gram/
  2. A great general Software Engineering mailing list with curated blog posts. I find about 50% of them worth reading: https://www.toptal.com/blog
  3. A daily scholarly paper in Computer Science or Software Engineering. Interesting but often very advanced: https://blog.acolyer.org
  4. Curated computer science links from Hacker News in a newsletterformat: http://www.hackernewsletter.com
  5. Ruby Rogues is one of the best podcasts, focused on software engineering topics of all sorts, with a bit of a Ruby bias. But a great source of ideas: https://devchat.tv/ruby-rogues/
  6. The ChangeLog is another excellent podcast, with a general open source focus. Again it’s much broader. I always learn something: https://changelog.com

This blog has evolved and changed a lot over the years. These days it’s a pure link blog, where I post technical links that I have found intriguing and fascinating.