What Else to Learn at University

The other day I joined in on a short conversation between an intern and a full time developer.  They were discussing what a university student should learn in addition to what’s taught in the classroom.  They weren’t talking about make-up work for an out-of-date curriculum.  (Which unfortunately is so common)  But truly how to go from good to great.

Here are some of the ideas that came out in that conversation and what I thought of later.  If you have any other suggestions please feel free to add your comments below.

1)       Master SQL.  Data is the core of nearly every system.  While the database schema may be generic, the data in the schema is the least generic piece of the system.  All the quirks and undocumented requirements of the business will quickly find their (often ugly) way into the data.  Strong DB skills are essential to create and maintain effective and efficient systems.  Bosses are always on the lookout to pick up job candidates with stronger than average database skills.


2)       Learn a DB language.  T-SQL and PL/SQL are easy to learn and extremely valuable in the workplace.  Very few students graduate with DB language skills.  The few that do have a massive advantage in the job market.


3)       Watch out for teaching languages.  Explicit teaching languages like Pascal are a thing of the past, but languages that are taught a lot (C++ and Java for example) carry a lot of baggage.  First, everyone knows them.  Each job opening in that language will have dozens of candidates—many with prior experience.  Second, the language is usually not growing quickly so the opportunities for advancement are limited.  You should master the teaching language—but don’t bet your economic future on it.  Instead, learn a non-teaching language.  Find a language that interests you and has a growing job market.  Master that language.


4)       Get an internship that uses your non-teaching language of choice.  If that falls through—get a different internship.  Practical experience in the “real world” simply can’t be matched in the classroom.


5)       Do a bootstrapped startup.  Build a software product and sell it.  But whatever you do, don’t spend a dollar on it that the business hasn’t already earned.  The point of a startup is experience—hiring someone else to do the dirty work will give them both the experience and your money.  Don’t waste it.  Grow slowly and leverage momentum.  Become the world’s expert in the product you are developing and selling.  You’ll either succeed or have a very impressive resume or both.


6)       Be balanced.  Writing code is not everything.  I am not referring to beer bashes–the party life will do little more than lower your grades.  (One imballance is never corrected by another.)  I mean seriously engage in life outside of computing.  Volunteer, attend church, sing in a choir and play in intramural sports.  The great secret of technology is that writing great software is only half about technology.  The other half is about people.  Great systems can only come into being when the people who write them understand people, their needs, their dreams and their desires.  Software must be shaped to be human.


Far too many lines of beautiful code are written that no one will ever use because they don’t do anything useful for anyone.  It is such a shame.  Great software can only be written when the walls of isolation between IT and non-IT are broken down.


I was fortunate to attend a small Christian school that not only has a top notch CS program, but also a great liberal arts curriculum.  Rubbing shoulders with English, PE, Nursing, Religion and Psychology majors on a daily basis enriched and widened my life in a way nothing else could. 

There was the supper at the cafeteria where a psychology major friend of mine played a small (non-embarrassing—thankfully!) psychology experiment on me.  Then explained the experiment and its’ meaning.


There was the athletic friend who twice tried to teach me how to hit a golf ball (and failed miserably)


And on and on


Learning to understand (and appreciate) the different skills and ways of thinking of the “non-technical” world has paid off over and over in the years since.


10 Responses to “What Else to Learn at University”

  1. Timmy Jose Says:

    Nice post mate. I agree entirely with the “database skills” part. That feeling became yet more enforced after watching the youTube Scalability Google Techtalk. Useful post for someone just graduating from college.

  2. LKM Says:

    > “Watch out for teaching languages.”

    Most universities teach classes in all kinds of languages. What you call “teaching languages” are simply languages that implement fundamental programming concepts in very clean ways: Eiffel, Pascal, Oberon, Prolog and so on are great for learning concepts. And guess what, you go to Unversity to learn concepts, not programming languages.

    If you’ve studied Computer Science and learned to program in Eiffel, learning Java is a two-day job. You already know all the concepts, you’ve just got to become familiar with the syntax and with where to find information about the libraries. Of course, becoming proficient in a language is another matter; proficiency equals knowledge of libraries, and the Java libraries are a huge mess; you’re only going to learn that on a real job, anyway.

    If your University has no classes that are thaught in C or Java or C# or C++ or Perl or Ruby (and really, most do at least have classes in C and Java), you can and should learn them on your own. But don’t put too much weight on doing so. If you studied computer science and apply for a job that requires knowledge of a particular language, the employer has no clue and you probably don’t want to work for him anyways.

  3. Anonymous Acquaintance Says:

    Well, I don’t know about “top notch”, although I would probably agree with “decent” or “good”…but then maybe I just had high expectations. And interestingly enough, my difference of opinion with you on this point is precisely because I did what this post recommends and got most of my knowledge/experience/abilities outside the classroom.

  4. Rolland Says:

    Generally, your certification will lapse after a period of 24 months without completing any paid healthcare
    work. The online CNA classes provide education on the
    medical terms, clinical processes for providing medical
    assistance, complementary healing practices, fundamentals of nursing, and pharmacology.
    The current thrust is in developing the interests of more students to gain college education as a way to better
    one’s self.

  5. see this page Says:

    see this page

    What Else to Learn at University | Jeff\’s Post

  6. Can You Buy Bitcoins With Debit Card Says:

    Can You Buy Bitcoins With Debit Card

    What Else to Learn at University | Jeff\’s Post

  7. https://www.autoinsurancequotes.us.com/ Says:

    obviously like your web site but you have to check the spelling on quite
    a few of your posts. Several of them are rife with spelling
    problems and I to find it very troublesome to inform the reality then again I will surely come back again.

  8. banner Says:


    What Else to Learn at University | Jeff\’s Post

  9. wealth Creation alliance review Says:

    I think this is among the most important info for me.
    And i am happy reading your article. But wanna observation on some common things, The website taste is perfect,
    the articles is actually great : D. Excellent task, cheers

  10. Relationship Quizzes Says:

    Relationship Quizzes

    What Else to Learn at University | Jeff\’s Post

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: