A Decade of Code
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
✽