It’s a common knowledge that since the IT industry develops very quickly, most of the skills get outdated fairly rapidly: jQuery, .NET, Ruby on Rails, etc. They change all the time so that it is difficult to keep track of them and especially learn them. Once I learn Ruby on Rails 3.2, Ruby on Rails 4 has appeared; the same thing for other frameworks and libraries.
What skills (or rather, technologies) get outdated slower and, at the same time, pretty useful in terms of being able to find a job? I figure these are knowing networks and algorithms. What else?
5
Well at the risk of sounding slightly cheesy: Ideas are timeless. By this I mean that the notion of a depth first search is goodness knows how old, but still totally relevant. Likewise, things that aren’t totally platform and technology dependent tend to have a longer lifespan.
If you learn things like
- Algorithms
- Data structures
- Paradigms and Concepts
- Common [Coding] Sense
- How to Document
- A Sparkling Sense of Humor
then no matter what technology you’re using, you’ll still be a reasonably competent developer.
Depending on what sort of work you do, compilers, webdev, dbs, finance, whatever, their will be a certain amount of domain specific knowledge that will be relevant so long as the field is relevant.
3
If you can understand the concepts, you can understand any language. The computer industry goes in circle with old technology coming around again in a slightly new form.
Even if you spend 100% of your waking time learning everything possible, you will still not know it all, and you will fall behind in some of the technology.
C++ is still around, but Pascal and FORTRAN really are not.
My point is that it is not possible to determine what will go out of style slowly. You try to find a niche and go with it. The more you learn, the more you can use to understand the next “thing”.
4
The answer lies in understanding life as a process. Does life change computers or does computers change our life or the way the business is done?
It is basically the usage of software as a product or service that first goes obsolete due changes in business scenarios. The next new level of thinking and rethinking is done to save its death in terms of its usability. When the next level of thinking comes into play, technologies and their components are first analysed, language being a starting point, first comes into change… It needs to reduce the complexity, maintenance and learning curve to build the next wave of applications/software.
Hence, according to my understanding, I feel only those languages go slow in changes that remain above the critical threshold level that determines actual usage by the end users.
0