A couple of months ago (June, to be precise) was my 10th year anniversary of doing Java programming. In that time, I’ve worked with several technologies, seen a couple of interesting projects and worked for different companies in different sectors, both as a consultant and as an employee. I thought I should share a couple of thoughts I’ve had after all these years.
First of all, it’s amazing how much Java has advanced in that time. I think Java is probably one of the few languages who actually has evolved without becoming a completely different language, while still maintaining backwards compatibility. This is why I love Java. I get to learn new stuff every day (after 10 years, I’m still learning) and yet I can rummage among my old backups, open up a very old project and it will still run unchanged. Sure, libraries come and libraries go, but the core is still there, ready for your programs.
Working in different industries has also been interesting for me. When you’re in the IT sector, you usually try to do more bleeding-edge stuff, look after the new, not yet released technology that you think it will change the world. Contrast this with working in the retail sector, where the priorities are to keep the business running, which usually means that changes are more slow to come, and stability is a very important thing. If your program crashes in the IT sector, you just release it as "beta". If your program crashes in the retail sector, your company can lose millions. Yet in both sectors (and others I’ve worked on, like banking and such) Java is used daily. Millions upon millions of transactions per second are managed by Java code, while the next generation electronic gadget is being tested against the latest Java ME standards. I think very few languages are as pervasive as Java.
Would I still be coding Java after another 10 years? I don’t see why not. I really enjoy doing it, and I’ve been fortunate so far in that I haven’t had to "move on" to a different position in order to advance myself professionally. I also think Java will continue to evolve for a long time, and I’ll keep learning new stuff after another 10 years (at least).