thanks for giving me some more motivation!
Languages with fundamentally different paradigms will still be a little tricky - Haskell, Scala, Stan, R etc don't bear a lot of resemblance to PHP.
Also, check out their learning paths for C# - it can be a good option to avoid the overwhelm if you are new to the language.
As someone super rusty on it, I found it remarkably easy to get up and running on the platform.
If they can only finish the tooling so that NCrunch can run properly, life will be a bliss.
The examples are in .NET Core (the cross-platform parts are more Mac than Linux focussed) but really it's a general guide on how to make web applications perform well.
I had the same learning moment a couple of years ago. I used to code mainly in Java so when I had to build a frontend, I tried to avoid Javascript and use some Java framework like GWT, Wicket or even Swing instead. At some point I grew tired of the pitfalls and limitations that I kept running into and decided to bite the bullet and just learn Javascript properly. It was a revelation.
TL;DR; Don't stubbornly stick to one language, choose the proper language for the job.
If you're sure you can find more clients, you can just double the rate with the existing ones.
I hear about devs billing $300-500/hr, but that must be some golden enterprise moneys.
At work I use C# - but I hope to keep learning more languages. The main thing I was worried about initially was being stuck with one language my whole career.
Anyone else ever feel that way?
Ideally I'd like to work on something others could make use of, but I've been having a hard time thinking of something interesting to work on.
Now, on that topic, what's much harder than learning multiple languages, is learning multiple language paradigms. If you have a C++ background, learning C#, Java, Swift, JavaScript, whatever is pretty easy.
Learning Haskell, ML, Elm, F#, Clojure, etc...now that will make your mind bend and spin for a bit. Those aren't nearly as common in a work environment, but you can gain a lot from learning at least one.
This is kind of similar to how if you're an english speaker, learning another european language isn't nearly as interesting as learning a CJK.
Being stagnant as a developer is something I never want to happen.
I would suggest picking a language you have an interest in and a project you have an interest in and having a go at it. Then repeat the process with a new language and a new project. At the end, you will have some working software and an expanded perspective.
I've to open a new paranthesis about Node.js. If you've never worked with Node.js before and you start in 2016 you're kinda f*cked up. The ecosystem is changing a lot and maybe 70% of the resources you can find over internet are already outdated. You start the day happy and with full batteries and you start to use some frameworks etc. The next day you realize that people already abandoned it. Beside all the disadvantages of Node.js, it's also so annoying and make the adoption process so hard. How such a simple language like Javascript could become so complicated?
GO is very cool. Relatively easy language and also very very powerful, it has a high quality community and the resources you can find are very clear. If you are trying to pick between GO and Node.js, go with GO. Your adoption will be much easier.
By the way, looks like you're living in Barcelona as well ;)
> [...]
> How such a simple language like Javascript could become so complicated?
;)