Ask HN: What is the simplest stack to learn?
I want to update my toolbox without having to deal with a steep learning curve.
What does HN use?
I want to update my toolbox without having to deal with a steep learning curve.
What does HN use?
I'll say this: if you've been sticking to PHP to avoid all these things I mentioned then you'll do yourself a favor by picking almost anything (I'd say Rails or a Node stack) and getting into it. Once you get the concepts of these stacks you can use that knowledge to jump to other stacks a lot easier as well. Eventually it all feels kind of similar. You'd even be fine to stick to PHP but would be a much better PHP developer after nailing some of those concepts.
The thing is that I'm stating to feel that PHP bundles are getting "outdated". Where in Django or RoR you could set-up an oauth server and link it to your app in 20 minutes, in PHP the quality of the bundles and documentation make using stuff like that "hard".
I'm starting to see that maybe Node (sails.js) + Angular are probably a good starting point.
I can't think of any really successful companies that use new-fangled frameworks and the latest rockstar languages.
It's also worth noting that Facebook is built on React for javascript, which falls under 'new-fangled frameworks'.
It's also also worth noting that MANY companies are still using a Java stack (with Tomcat or JBoss).
You can argue that this would hurt hiring prospects. But many had their sights on attracting more engineers from these big tech as their first employees, who would have the same reasons for sticking with Java.
After all, the two most important skills in software development are the ability to learn and the ability to solve problems.
A stack with a steep learning curve is likely to improve both of these skills.
For back end, I run Vagrant + Ansible with PHP composer
Front end, it's bower + grunt
My other tools are Vim + Tmux.
For data and webscrapping I use scrapy (python framework).
The current project I have is what I've listed and going to learn Apache Spark and Elasticsearch. I'm currently stuck on learning Ansible to provision stuff.
I think many worthwhile things are going to require some learning curve whether it's steep or not is more up to the individual.
I'm putting off AngularJS, EmberJS, React stuff. I think it's to early. Likewise Docker and container are too early. I'm waiting on perhaps Docker 2.0 and some technical book out. Kubernates in my personal opinion is really an Alpha software there are many caveats.
I'm thinking of moving to Django/Python stack in my next project and tinkering with Apache Accumulo.
I love Ansible, it's the only provisioning tool that really clicked for me.
I tried Chef a few years back to provision a single server and there were just too many moving parts - chef, chef-solo, chef-zero, knife, knife-solo, berkshelf.
I gave it a go again last week and it's gotten easier, although I still think the docs for chef-zero are not that good.
They're relatively easy to learn, well-documented, and are pretty in demand on the job market.
If you want to take things a step up, learn ES6 JavaScript. It has a lot of very nice improvements, but is a steeper learning curve than just learning new JS APIs.
Regardless of what you do, learn how to use modern, vanilla JS in place of jQuery. There is often no reason to use jQuery these days if you're targeting modern browsers. With `document.querySelector`, you can even replicate the selection capabilities of the jQuery `$`.
That's it.
Don't obsess about changing too much. Speaking with a colleague, he was asked why he chose mainframe as his career.
"It doesn't change much. COBOL, DB2, CICS, JCL, etc. I can learn them and the applications to a deep level, and not worry about that learning going out of date. That lets me focus on getting deeper and understanding the business applications of why we do what we do."
"The right tool for the job" requires consideration of both the tool and the job.
Seriously: if you fear a steep learning curve, replace one item of what you use now. For example, replace MySQL by PostgreSQL, then replace PHP by something else, then move out JQuery.
http://reactfordesigners.com/labs/reactjs-introduction-for-p...
Hah, that description fits me to a "T". Thanks for sharing!
https://github.com/enaqx/awesome-react was a great resource for this dive deeping (99.9% sure there’s a similar list for Angular if you went with that.)
Is there any JS MVC framework which compliments well with Django?
Don't learn JavaScript until you have understood C#.