Archive for November 2012
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.
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 »