Kids These Days

I am taking a class this week in advanced Java programming.  I had some reservations about signing up; the prerequisites clearly stated it was for experienced Java developers.  I am not an experienced Java developer.  I am the sort of Java developer who is still writing procedural programs, because object-oriented programming still seems too weird.  I am the sort of Java developer that makes other Java developers smile kindly and start speaking in monosyllabic words.  In short: I am old, and I am old-fashioned, and I was convinced this class would be so far over my head I'd be lucky to grasp a tenth of it.

Here is what I learned on our first day: Kids these days don't know squat.

Because this "advanced" Java class is teaching stuff that is not Java-specific at all.  Today we went over coding standards.  (Coding standards.  And people argued about whether or not they were a good idea!)  Oh, and sockets.  Comp Sci 101 stuff - and to the young folks who'd cut their teeth on Java and VS.NET and Ant, it was Swahili.  Advanced Java, my ass.

The industry has changed so much since I entered it in 1988.  Even back then, it was no longer dominated by brilliant, semi-socialized MIT electrical engineers; the growing commercial power of UNIX and programming languages like C was making the job more accessible to folks like me, who had a bit of propeller-head in them but didn't want to read technical journals all weekend just to keep up with the job.  It was like solving puzzles: a game of logic, and a little bit of syntax.  But once you learned one procedural language, you pretty much knew them all; you just needed to remember where the semicolons went, and speedy compilers very kindly reminded you if you screwed up.

These days you can go to Amazon.com and buy a copy of Head First Java (a book I really own), and learn the building blocks of Java programming in a week or so.  And no, there's no substitute for experience (and making your own mistakes); but no more are we in the universe where a decent computer science job required an EE degree.

Or, as I discovered, knowledge of sockets.  That's "advanced."  Apparently cheat books and IDEs hold kids' hands so much they don't have any concept of what goes on under the covers.  (And don't get me started on coding standards.  Really, don't.  If you can't hit <CR> every 80 characters, fire up emacs and put a rule in your .emacs file to do it for you.  I'm not going to waste my time trying to parse your spaghetti code, no matter what fancy OO language it's in.  Damn kids.)

The worse part?  I can't even be smug about it.  The reason kids these days don't know squat is because companies don't care that they don't know what sockets are or think something like "Fixed bug 23988774, 12/13/2005" is a substantive comment.  Companies care that they can churn out enough stuff in a short amount of time, and as long as said stuff doesn't light the customers' systems on fire, paychecks keep getting signed.

I am hard on the young'uns, I know.  And I've no right to be - say "connection factory" and my eyes glaze over.  I also make a heck of a lot more than they do - so I should know more.  I should be the old, curmudgeonly know-it-all.

But if I had to give them one piece of advice:  every once in a while, shut up and listen.  You don't have to do it all the time.  But every once in a while, close your mouth and consider the possibility that the weird old folks are telling you something that may actually be useful.

Someday.  If your job doesn't get off-shored by then.

Copyright ©2006-2008 by Lizmonster