I am your average self-taught web developer, I am using PHP and Mysql for the backend and HTML, CSS and Javascript for the frontend.<p>How can I step up my technical skills? What would the Mark Zuckerberg of 2019 use in his dorm to build his social network? I guess the answer would be a lot different from the actual tech stack used in 2004.
The languages haven’t changed all that much. PHP, Ruby, Python and so on are still relevant. Instead of wanting to use Erlang (and not using it) you might want to use Elixir (and still not using it).<p>Honestly the biggest change is that we now use frameworks for the front end and the back end that are rather big and complicated and build systems to wrangle them. Deployment has also become hell on earth because the consensus is “something to do with containers is the future” and it looks like probably docker and Kubernetes, but we are still sort of arguing about details.<p>Oh, and whatever you do in JavaScript is going to be obsolete in in 2 to 3 years.<p>My recommendation. If you already know PHP find a light weight framework and set up a project with composer. Heavy weight frameworks are nice if you work in teams and switch between lots of different projects so skip them. Learn some python, node.js and go because there is a lot of glue code you can write or use in those languages. Figure out how to build a docker container and figure the details out based on where you want to host.<p>For the frontend go with react.js or vue.js and a server-side rendering framework like Next.js or Nuxt.js (based on what you chose for your frontend). Depending on how things go you will rewrite this part the most so put as much logic as possible in the backend. This might make hosting more expensive (once you have a lot of customers), but it will make rewriting the web app easy and implementing mobile apps will also be easier.
The only difference today is the number of platforms and browsers your code has to run on. And there are a zillion JS libraries to simplify that problem.<p>The main thing is to just pick one that is popular and has been around for a couple years (not something just released) and start coding.<p>Work on your JS fundamentals - <a href="https://github.com/getify/You-Dont-Know-JS" rel="nofollow">https://github.com/getify/You-Dont-Know-JS</a><p>On the backend, use google cloud or azure. There is a ton of code already written for any kind of app/website usecase you can ever imagine. Just reuse it.<p>Today's Mark Zuckerberg would just be plugging in piece that already exist. Focusing less on code and more on the User needs.