Code and comments

Practical and theoretical aspects of software development

Archive for November 2012

Don’t miss your exit

When I was an undergraduate, it bothered me that I never finished reading any of my math textbooks. But in graduate school, I noticed that I had learned much of the content of some of those unfinished chapters, and the content that was still mysterious seemed far less central to the subject than it had previously.

Using a textbook or a technical book is like using a highway: To get where you want to go, you need to find the right exit. The end isn’t a real goal, and it likely isn’t that interesting, anyway.

How do you know when to exit? Know where you want to go. If your goals are very specific, this is trivial, and you can use the book as a reference, rather than reading. But if you are learning completely new technologies or concepts, it is sometimes hard to know where exactly you hope to go, but I find the following techniques useful:

  • Read from a combination of sources: one or two books, along with tutorials and blog posts.
  • Combine the book learning with a toy project.
  • Pay attention to your progress — finding the material too difficult¬†could be an indication that this isn’t what you most need to learn right now, or that it is poorly written.
  • Talk (you know, face-to-face) with others that have similar goals

If you start with a goal, and continue to adjust your course appropriately, you make much progress with books, they will often take you within miles of your destination. But if you confuse the books with the goal, you can go the entire length of I-95 without seeing anything more interesting than some roadside attractions.

Written by Eric Wilson

November 26, 2012 at 12:42 pm

Posted in commentary

Tagged with ,

Professional Networking for the Future Programmer

So you’ve been studying computer science or a related field, and you are hoping to get a job as a programmer when you graduate. You do your best to keep a good GPA, and you are planning on applying to some internships. Maybe you have some hobby projects that you are working on to augment your resume.

But there’s another important part of the job-seeking process. The career services all tell you that networking is important, that you should “network” with professionals in your field, and develop those all-important contacts that lead to interviews and jobs. I’d guess that 90% of aspiring programmers make no effort to build a professional network before graduation, and that 90% of those that do try are completely ineffective. After all, if you enjoyed talking to strangers and building relationships, you wouldn’t be a computer science major, right?

Building a professional networking is actually not that difficult, it just looks very different from your imagination.¬† Read the rest of this entry »

Written by Eric Wilson

November 16, 2012 at 12:59 pm

Posted in commentary