Dear 20-year old Computer Science Major Me

Dear Present-day Computer Science Major, read the note to my past self below, I once was you.  You will one day be me (some of you will do greater things than I can imagine).  If you find yourself sitting in class (probably right now), thinking that there’s no way you’ll ever use this stuff, read on.  You want to do cool things, you want to develop awesome software, but all you’re learning is programming basics, algorithms, design patterns, etc.  Read on.  As you are now, I once was, as I am now, you may yet become, or even surpass.

Dear 20-year old Computer Science Major Me,

In about 15-years or so, all that stuff you’re learning is really going to pay off.  You see, you’ll be working full time as an Application Developer (that will be a thing by then), and you will find yourself developing a new data structure (yes there is a point to your Data Structures class).  This new data structure won’t be quite like anything else you’ve ever seen, and yet it will pull together many of the bits of pieces you’re learning now (so pay attention).  Don’t worry about the particular language you’re programming in now, in 15-years you’ll be coding in a language you’ve never heard of (because version 1.0 won’t be released for another few years yet).  Instead, focus on learning patterns, processes, and algorithms (I’m pretty sure that at least one of your professors has said this at least once).  Pay attention to the tree traversal algorithms you’re learning, because your project 15-years from now will cause you to sit in your office (yeah you’ll be getting one), and draw trees.  Pay attention to OOD, the people telling you that it’s here to stay are right.  However you shouldn’t waste your time memorizing particular code examples.  Instead, learn to recognize patterns, and learn techniques.  In the future there will be plenty of references and hundreds of sources for code examples.  The information will be readily available to you, provided you know how to use it.  The bottom line is that all of the confusing, difficult stuff is worth learning.  Even the stuff you think is kind of boring and pointless is worth learning, because some of it will turn out to be the most useful stuff you’ll learn.

You – in about 15-years