been working on java jobs and easy code bases since I graduated 10 years ago, nothing had been really challenging and I'm not complaining. Would be interested in a job that pays more even do you think working on C++ jobs is more challenging or just boring?
Depends on the job of course. Probably more technical problems and tuning. Often code is low level which is interesting if its your thing but not if you like business problems.
I'd say it really depends on what you want to to do in the next months !
Node can be a very productive environment for web APIs and applications (with great frameworks such as Express or Koa and amazing libraries such as PassportJS) and I personally use it this way 95% of my time.
But in its heart lies the event-loop, the streams, the pipes, its functional programming capabilities and all of this makes it a simple and very pleasant way to script, transform, to build algorithms or neural networks!
Plus javascript is becoming a very friendly language as Node and ES6 leveled the browser inconsistencies that turned web developers crazy in the past.
Just start writing applications and dig into the API documentation. This is how I learned Node.
I will say having a background in systems programming and scripting for filesystems is hugely beneficial. I am just a pansy JavaScript developer, so I had to figure this all out to be better at writing Node apps.
I will also say current versions of Node are massively backwards compatible. Very little of old features have been deprecated or killed out. This is all spelled out in the API docs.
Perhaps the hardest part to learning Node is wrapping your mind around asychronous operations. Don't spend time with the synchronous methods if an asynchronous method is available.
You're absolutely right about the backward compatibility. If you're still learning and not on a production server, no need to rush on the latest release.
I'd argue an easy way into NodeJS is to introduce yourself by one of the most popular frameworks, what they do, so you'll see how they benefit from NodeJS and where its strengths lie.
I'd recommend ExpressJS or Meteor.
You should use https://runkit.com (disclaimer: I work at RunKit). It lets you try node in your browser, and you can easily switch to any version of node, and additionally we've pre-installed every package.
Well the basic concepts are the same. I don't think many of the major concepts such as EventEmitters and Streams have changed. I'm pretty sure most tutorials you will find should still work but I may be wrong
Chance are, by the time you've learned anything, the wheel will have turned once again, ages will have come and passed, leaving memories that become legend. Legend fades to myth, and even myth is long forgotten when the age that gave it birth comes again.
In the JS world, back or front-end, this process seems to be accelerating at a terrifying rate, heading to a singularity where all the accumulated brainpower of the human race is devoted to trying to keep up with the latest way that npm or node or babel or webpack has broken shit that previously worked.
That's just the PTI fix. On top of that runtimes recompiled with the retpoline. The question is whether the microcode update contributes an additional slowdown once used or makes the other mitigations cheaper.