I have realized this year that I'm pretty tired of validating forms and inserting database records and outputting HTML or JSON or whatever. Seems its time to hit the tomes and treatises and bend the mind to some new magick. What do we think is hot and lucrative? What do we think is horrifying? What do we think is really actually kind of enjoyable? What do we think feels like the quickening and lightning flying from the fingers? Some anecdotes...
Javascript
In a fog of drink I spoke to a coder whom I deem quite my junior and who is a vagrant of sorts. He never seems to have a full-time job but has quite a bit of success bouncing from project to project in some freelance capacity, aided by recruiters. I asked him what was hot these days and he said "Javascript." I scoffed but he insisted. I asked if it was lucrative and with a straight face he told me he was offered $150 an hour for a Javascript position :quiet:. I do see that it appears to be in demand[url] (but weird to see SQL on there?). Bonus points: you can code for servers (see [url=https://nodejs.org/en/]node) and I've heard you can code for mobile devices with something like NativeScript or PhoneGap.
Multithreading/Multiprocessing/Parallel Programming
I've always been drawn to and fascinated by the prospect of unleashing an army of processing power on a computational problem. Infoworld identifies multithreading as one of the most vexing problems in programming. I was fortunate enough to get paid to develop some MT code which, although time-consuming and difficult to write, has paid for itself through its power and efficiency by reducing the number of servers a client needs to run their business. If anyone can point me to a general solution to the problem of resource acquisition in MT coding, I'd greatly appreciate it. I spent time googling solutions to the The Dining Philosphers Problem but was unable to achieve the awakening necessary to share resources between the threads. I have the vaguest recollection from uni that message passing is the best solution, but it's all so fuzzy. I also wonder if this is really a lucrative skill or if the need for it is unusual. Is this esoteric? Or vital?
Nonrelational DB, weirdo DB-like stuff
There are a bunch of these like SOLR, NoDB, NoSQL, BigTable, SimpleDB, et. al. Some claim infinite scalability, but I have some vague inkling of their inability to perform JOINs -- or something like that.
Encryption, old-school C/C++
I've had Bruce Schneier's Applied Encryption for a couple of years now and have been meaning to work through the whole beast, but it's pretty heady, mathematically-speaking. I've thought for years that folks will want privacy from all the grasping, groping corporations and nefarious governments. This seems more urgent than ever now that we've elected Orange Hitler over here in the states. I've also thought that high-performance, low-level code like C/C++ might be quite lucrative, but the work perhaps hard to find. That said, my grasp of manual memory management is not optimal.
And of course I plan to embrace PHP 7, as soon as I upgrade my workstation to Ubuntu 16.
Thoughts?