A Decade of Code

Published over 1 year ago, 399 words

This month will mark my tenth anniversary as a full-time professional software developer.

I landed my first job as the ink on my CS degree diploma was still wet, I was this optimistic C++ and Python nerd ready to show the world how things gets done. A decade and thousands of bugs later, it's time to sit back and contemplate what happenned during these eventful years.

How things were back in the day:

  • Everybody was scared of Microsoft
  • J2EE was The Big Thing and Java was going to obliterate everything
  • As lame a language it was, PHP was kinda cool
  • Linux desktop tuning contests
  • CVS over SSH
  • Blogs were about to turn the world upside down (so they said)
  • Multitasking was not exactly Mac OS 9's forte
  • WAP optimized sites
  • Duke Nukem Forever was taking its sweet time to hit the shelves
  • Ruby looked like some ugly Perl bastard child mixed up with weird object oriented gizmos

What has changed in 10 years:

  • The Bubble burst, The Towers fell, the Banks collapsed and so did Sun Microsystems and the recording industry
  • Ruby on Rails paved the way for a new generation of web frameworks
  • Java is the new COBOL
  • Microsoft has become irrelevant
  • Google is all over the place
  • Apple is bigger than anyone would have ever imagined
  • UNIX still rules and it's now powering awesome pocket-sized devices
  • People became millionaire overnight thanks to their skills in... Objective-C
  • Almost every single acquaintance of mine is using a Mac
  • Python 3000 actually happened

What hasn't changed in 10 years:

  • Many high-profile .be websites still wont work without the www subdomain
  • PostgreSQL is still an underdog, overkill database despite all the noise on the forums
  • Nobody ever got close to grab a significant bite off Belgacom's lunch
  • Duke Nukem Forever still hasn't shipped
  • Of any industrialized countries, Belgium still offers the worst ROI for the tax payer
  • Perl latest stable version is still in the 5.x branch

What I realized:

  • Software is hard
  • Good Software is incredibly hard
  • Ruby is beautiful
  • Once you start using a dynamic language, there's no turning back
  • Urgent matters usually are not
  • Customers always want about twice as many features as they can afford.
  • No matter the amount of automated and manual testing, users will find a way to make your efforts look ridiculous
Fork me on GitHub