I've been doing PHP for 4 years now. 2 years at school and 2 years at work. But I feel like I'm stagnating. Here are some things that I currently know about PHP:

  • Basics (variables, control structures, arrays, loops, sessions, cookies, file manipulation)
  • Database Integration (MySQL)
  • OOP - I only know of the basics (creating classes, inheritance, objects, private, public and protected class variables)
  • MVC
  • A few frameworks (CodeIgniter, Laravel)
  • PHPUnit (Assertions)
  • Templating (Smarty)
  • Using PHP with AJAX
  • Building Wordpress plugins
  • API Integration

That's pretty much it. My question is what's next? What do I do to level up my skills as a PHP developer. What are the things that you can recommend that I would do in order to improve (Books, tutorials, etc.). What other PHP tools you can recommend that I should try and use.

Thanks in advance!

closed as off-topic by Bart van Ingen Schenau, GlenH7, Dan Pichelman, Caleb, user40980 Nov 19 '13 at 17:11

This question appears to be off-topic. The users who voted to close gave these specific reasons:

  • "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – GlenH7, Dan Pichelman, Community
  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – Bart van Ingen Schenau, Caleb
If this question can be reworded to fit the rules in the help center, please edit the question.


Learn some other languages. Every time you see another implementation of a concept you know from one language, it'll teach you more about the essential concept, how good/bad the implementation is in your language of choice and how best it is used. You'll also encounter entirely new concepts.

This is particularly true of OOP, but goes for all the concepts outlined above.

Forgive me for saying that PHP's implementation of many of the above is substandard.


If you don't know what to work on, pick up an interesting book. If you don't know what to read, start working on an interesting project. Do something. In the process of reading or working, you'll encounter things you don't know or things that you find interesting, and you can follow those threads to expand your horizons.

The dictionary says that to stagnate is to cease developing; become inactive or dull. If you don't want to stagnate, do the opposite: Be active. Learn things. Make things. Exactly what things you should learn or make are entirely up to you, and nobody here can tell you what they should be.

If your goal is simply to not stand still, then it doesn't really matter what you do provided it's something new or different. But you probably want to do more than just move, you want to move in a particular direction. Decide on a goal -- the place where you want to be in 6, 12, or 18 months. What skills do you need to reach that goal? Write them down. Choose activities that will help you develop those skills, and cross each skill off your list as you acquire it to help you chart your progress toward your goal.

Not the answer you're looking for? Browse other questions tagged or ask your own question.