Consequences of abundance
When having such easy access to free development tools, experimenting, playing and prototyping is incredibly easy. Also, there are tons of tutorials, text ones and video ones, free and commercial. If you lack knowledge in some field and want to do something about it – go ahead, nothing is on your way.
Thanks to such ecosystem, entry barrier for new apps is very low. And we see it. Every day, each app store gets new products (I’d speculate that many of them are useless and/or copies of existing, but still, there is tremendous amount of apps available for all platforms, mobile ones especially). Because of this, creating successful apps is getting more difficult – competition is fierce.
With so much free resources, it comes as no surprise that more and more people are getting into software development. People from other fields switch to IT world, because it seems so compelling – almost constantly there are job vacancies with nice paychecks. It’s only natural that people migrate.
But the abundance of available technologies may also have a downside. I will explain shortly.
Or, more scientifically analysis paralysis. With so much paradigms and tools to explore, it may become for one to choose, what he should learn. If you choose a corporate technology, you may soon be out of job. Silverlight, Windows Phone – Microsoft didn’t succeed in keeping them relevent for very long. Also, project.json instead of .csproj files, which was at first positively recognized, got deprecated.
Myself, I haven’t worked commercially on aforementioned technologies. But I was working on a project utilizing Angular 1.x for over a year. I’ve learnt it to some degree, but at the moment it is also deprecated. Skill I’ve learnt quickly became obsolete. I do not consider developing that app using Angular a waste though. Sure, I won’t be ever using Angular 1.x, but I also learned other things along the way – mostly TypeScript in that case. But it still can feel frustrating, that many hours of your work kind of “dissipated”, in a sense that they won’t pay off in the future. But life’s like this.
I know that there are signs that technology may be “dying”. Less jobs offers around, people switching from the technology to others. When you see it, you probably should switch. But how you decide what’s worth it in long term? I don’t have a magic formula, but keeping your skills diverse rather than similiar, give you more oppotunities in the future.
New technologies will arise every now and then, that’s for sure. It’s up to us, to choose what and when will trendy – by contributing to open source, by advocating or ostracizing them. Remember – unless you are developing alone, your choices of frameworks and other technologies shape what is popular.