Claude Moore wrote:By the way, if I'm not nosy, can you share, Chris, what was your experience with a technology that disappeared?
I'm happy to share my inept career history as it's a classic example of the "boiling a frog"
meme: let this be a warning to all of you "XYZ developers" out there!
For the first 15 or so years of my career, I worked on Oracle-based systems, mostly using proprietary Oracle technologies, although I also worked with other tools like C. So I was an "Oracle developer". This seemed like a pretty big niche, as these tools were very productive and lots of people were using them, so there was plenty of well-paid work. It was also a lot of fun.
When Java came along, I started learning it, but Java took a long time to get going in Oracle-land, so it was several years before I had an opportunity to do any Java EE. By now, more people were using Java for new projects (not always with much success), and Oracle was starting to side-line its older proprietary tools as it tried (not always with much success!) to break into the growing Java market.
I started trying to break into Java development myself, but by this time there were a lot of experienced Java developers around, and - in the UK at least - the trend towards offshoring and outsourcing was starting to take off. Many development jobs were shipped out to India, so there were more Java developers competing for work in the UK. And many companies were outsourcing work to big consultancies who were setting up offices in India (or who had been created in India) and either doing the work there or bringing their own staff to the UK, so these jobs were no longer available to UK-based developers.
So I ended up having to go back to Oracle work, but now people were no longer using so many Oracle tools, I found myself using only using a small sub-set of my skills, which was also bad for my job prospects. I like development work, so I didn't want to try and switch over to management, but it was getting harder to stay in work as a developer. "My" market niche had largely disappeared, because I had made myself dependent on one technology company's long term strategy, which no longer involved the technologies I had invested so much time in. I had also failed to keep my skills up to date with the wider IT market, so I struggled to find work. I even took a year out to do an MSc, but finished that just in time for the 2008 financial crash, which put another dent in my plans to re-invent my career - doh!
I was a boiled frog.
These days, I am officially a junior Java developer (ouch!) but luckily I have invested a lot of time exploring new technologies around Big Data and functional programming, partly to improve my career prospects but also because I find these things interesting - and anything has to be better than Java EE, after all! This has helped me to get onto an R&D project looking at Big Data, so although I'm not really using Java much, I am exploring lots of interesting modern tools (Scala, NoSQL, Spark, Python, Hadoop etc) that are already growing rapidly. And this is also a lot of fun.
So, don't be a boiled frog
: keep your skills broad as well as deep (be a "generalising specialist" as Chris Duncan called it in The Career Programmer
), and keep an eye on the wider market around you for the kind of work you want to do in future.