Ask HN: I want to become a Web developer
Any good suggestions on a good book or videos or wbesite to learn how to be a Web Developer? I'd like to start the journey now.
I know some basic PHP and Javascript HTML.
Should I start with JS or PHP?
I know some basic PHP and Javascript HTML.
Should I start with JS or PHP?
7 comments
[ 5.1 ms ] story [ 28.7 ms ] threadYou can use PHP to build a backend REST API using the Slim or Lumen frameworks. You can do the same with JS using Node's express framework. Deploy on Heroku to get started for free, and no I don't work for them.
Maybe learn a little bit of database architecture and deploy that using AWS RDS. Free for a year! Google has a similar option.
Or maybe you want to be cutting edge and setup a GraphQL server with Apollo or Prism! Up to you.
With JS, you can learn React, Vue, or Angular and consume the API while generating UI's for the user. Use Netlify for your front end deploys! It's free for personal projects.
Build a few projects that aren't basic "calc", or "weather" apps. Maybe create your own user authentication system with oAuth2, heck even JWT.
Download a UI Kit from ui8.net so you don't have to design from scratch. This will make your project look legit when you showcase. (Mostly not free, but good investment)
I hire a lot of engineers, I look at their work but also the design of the project (even if they didn't design it)
Good design establishes legitimacy, even if it's demo app!
Keep building, looking for jobs, and eventually you'll land one.
Finally, start calling yourself a web developer today. Congrats.
I'd personally recommend backend - the ecosystem doesn't move as fast as on the frontend which means the thing you learn today is less likely to become obsolete the next day.
Language-wise, on the backend, I'd avoid PHP like the plague. It's bearable with the right frameworks (I recommend Laravel if you really want to do PHP) but even then it's a pretty badly designed language, not intuitive, etc.
I would say go with Python & Django instead if you want to get started on the backend. Here's a tutorial: https://docs.djangoproject.com/en/2.1/intro/tutorial01/
I really recommend you not to get too attracted by AngularJS and friends. Proceed with learning programming basics: Back in my days, I made the step of the popular "P" scripting languages: PHP, Perl, Python. Then, in mid 2000, the "LAMP" stack was the thing: Linux, Apache, MySQL, one of the P languages. I learned all of this, and Linux was an eye opener.
Today, LAMP might be really old fashioned, but Linux is not, and SQL is also fresh and young as it has been 40 years ago. Make the step towards Linux, it will change the way how you percieve computing and especially programming. This is also true if you want to stick to web development -- a number of modern age utilities are written as command line utilities which you can only really easily and quickly make use of with Mac OS X or Linux (thinking of preprocessors and server side compilers).
Later on move onto frameworks like Laravel.
I’d leave JS to last because it’s a whole different paradigm and I think with the PHP stuff alone you can create a useful web app.
Finally make sure you are learning modern PHP, get a book from 2018/19.
But with JS alone, in theory you can create an app but it’s more advanced.