Front-end now has an "ecosystem". Now everyone loves Babel and EcmaScriot 6 and JS is starting to look a lot like Java shit, and there are build tools every-fucking-where. If Front-End devs had JS as their Ruby, build tools are the shitty assets pipeline with the damned turbolinks. They promise awesome, they get in your way all the time.<p>Pro-tip: Decide on an MVP, then research frameworks and Libraries. I suggest taking a look at Progressive Web Apps, the deciding on React, Angular or Vue, then deciding on some material design library/UI Kit.<p>Remember that, if you use Google's repo to start a Progressive Web App (Or pretty much any boilerplate nowadays), it will use Gulp (Or Grunt or Bower or whatever). Anything you wanna plug, first thing to do is integrating with it. If it uses Babel, check that you can import it and that it doesn't depend on Globals, and write everything in ES6. If it doesn't, your code may be messier but you won't hate your life as much, so rejoice. Integrating everything early and properly will save you many hours, especially if you use ES6/Babel.<p>For the back-end, NodeJS is great but, as with front-end, a mess, Elixir feels like Ruby from the future (And Phoenix is to Elixir what Rails is to Ruby), but it's still small, Ruby and Python are still there and pretty solid, and PHP still sucks.<p>MySQL is still out there but if you're not going the PostgreSQL way then check MariaDB, it's Open Source MySQL being updated by the original MySQL team.<p>For Deployment and/or managing this shitload of dependencies (NodeJS versions, databases, webservers and whatnot) you may want to check Docker, though it may be overkill if you're not going all the way down the rabbit hole.<p>Edit: Forgot to add, instead of freelancing jump at some lesser known open source projects. Maintainers will usually welcome your help, and will also help you figure stuff out. Maintainers win, you win, the community wins.