I just realized that I love programming and just started learning PHP. Any advice on what is the best way to learn and become a backend developer?

BTW I signed up for "principles of software development" course. It starts next week.

Start a personal dev blog on your domain for free and grow your readership.

3.4K+ developers have started their personal blogs on Hashnode in the last one month.

Write in Markdown · Publish articles on custom domain · Gain readership on day zero · Automatic GitHub backup and more

Deactivated User's photo

Create accounts on these websites:

They give you programming challenges to solve. Once you have a solution you can submit it to their website and it will be tested against a set of test cases.

There are easy, medium and hard challenges. I think this is an excellent way to improve yourself everyday, step by step.

Show +1 replies
József Pallagi's photo

thanks for the advice !

I love the concept of exercism.io, however its not really clear how can i upload the code, i can see in the command Promt that there is 0 submission, do you know how shall i upload ?

KHALED's photo

@Jozsef exercism submit "path/to/file"

Rajendra Alapaty's photo

Good. irrespective of language you are learning, I suggest you to go through - http://www.norvig.com/21-days.html . This article helped me re-focus and become a better developer. It's really important to pickup good habits from early stages. Happy coding.

Lorefnon's photo

This is perhaps the single most important post in the thread.

Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter

... you can't find a better summary of programming exposure.

Daniel Jordi's photo

You can practice with a code katas: http://codekata.com/ and see code in github repositories. And the key is practise every day.

Have fun learning PHP!

Mev-Rael's photo
  1. First, obligatory learn those topics very well: HTTP, cookies, sessions, caching, gzip, OSI model, DNS, SMTP, HTTPS, HTTP2
  2. Understand Web Standards, HTML, CSS from W3C and MDN
  3. Go though official PHP7 documentation on php.net
  4. Read about Computer science, data structures, algorithms, Software engineering principles, design patterns, OOP, Functional programming, MVC, Dependency Injection. Many articles available on Hashnode, Quora and Medium. You also may try FreeCodeCamp. Good free online video tutorial series available on Udacity
  5. Learn SQL, MySQL 5.7
  6. Learn unix basics, commands, Apache or nginx, hosts file, make local domain (usually ending with .dev or .local)
  7. Set up your local environment with PHP7, MySQL5.7, Apache/nginx installed, configured (I recommend install all them manually and not using something like WAMP, it's not so hard, even on Windows)
  8. Make a simple own MVC application on plain PHP
  9. Install Composer and learn about it and package management.
  10. Start watching laracasts.com
  11. Learn basics of Node, npm, install node.js
  12. Go though whole documentation of Laravel 5.3
  13. Make your own Laravel app
  14. Register at GitHub
  15. Read Laravel's or any other popualr PHP project source code (at least some part of it), make you to understand every single line and operation, what it does and how
  16. Repeat 10 000 times.
Sergio's photo

I recommend you to take a look at Refactoring, and Sourcemaking

Marco Alka's photo

I cannot find the thread any more, but there are others with the same thoughts and problems. And the one advice I give them all is: Practice. Every day. Learn new things, new principles, new ways to use the language. One way to do so in a meaningful way while keeping up motivation is to work on a project. I, myself, started out with projects and worked my way up from there.

If you ever wonder, what stuff you might have to learn for the back-end, you are welcome to take a look at my article about Web Development 101, which, instead of listing concrete frameworks, tells you which principles and technologies you need in order to grasp them all and get even more out of it. For backend, all chapters are useful except the "client" chapter :)

Emil Moe's photo

I think Jeffrey Way can be a great source of information, you can follow his screencasts for $10 a month on laracasts.com. There are a lot towards the framework Laravel, but there are also more basic PHP courses and OOP courses.

Look for example here, this is actually a free course, so maybe you will be just fine with the freebies for a while :-)


Jeremy Bloomstrom's photo

+1 for Laracasts. @jeffreyway is an incredible teacher. I've learned more about PHP since joining Laracasts a year ago than the previous 10 years learning PHP on my own. Well worth it.