Once again, the task of finding a good PHP programmer fell on me.
According to the results of the calling of potential candidates, 90% of those who consider themselves Middle, in fact, Junior and years of experience do not save, because they rivet the same type code within the tasks sent over.
I registered a minimum plan for those who wish to make a breakthrough and go to the next level without interrupting production.
Month 1
Read books (weekly per book, reading in the evenings and on weekends):
- PHP + MySQL - ozon.ru
- OOP and patterns - ozon.ru
- Perfect code - ozon.ru
- Symfony 3 - in English , partial translation into Russian
You can replace with similar ones, almost everything can be downloaded without SMS .
')
Anticipating the holivar "why symfony": you can choose Yii or Laravel - they are easier to learn. Symfony is sometimes unnecessarily complex, but interesting in terms of learning concepts. Knowing it, another framework will then be elementary. And even if you do not use it completely, you can take individual components ( list of victims ), which, like patterns, may be familiar to your colleagues.
Although if you have a senior comrade nearby who knows another framework well, you can choose it.
Month 2
Read 3-5 articles and practice with (1 evening - articles, 1 evening - practice):
- PSR : PSR-1 , PSR-2 , PSR-4 , Symfony Code Standards
- Bash - Basics , in examples - 1 , 2
- nginx + PHP5-FPM - installation , Nginx from the inside , Tuning nginx
- Mercurial ( 1 , 2 , 3 , 4 , 5 , 6 ) or Git ( interactive tour , workflow , book )
- PHPUnit - basics , translation of 8 chapters of documentation
- PHPStorm - Quick Start Video Tutorials
- Vagrant - documentation in PhpStorm
- Twitter Bootstrap site
- Twig - a small book
- Composer - basics , your vendor
Month 3
Make your project on GitHub, using all of the above (1 month in the evenings and on weekends).
Objective : to consolidate knowledge, going all the way from the TK to the finished project, which can be accessed on the Internet and link to the resume.
Recommendations:
- minimum of features , forget the words "universal solution" / "platform" / "plugins", otherwise you will get bored faster than finish it
- do not use ready-made engines like Wordpress / Joomla / Magento, but use the framework to not ride
- do not pay attention to the layout - only Twitter Bootstrap
- Answers to questions - Google and StackOverflow, do not try to think for a long time, it is more useful to learn how to formulate a question
Project Ideas:
- a blog
- online store
- forum
- weather forecast site
- website with current exchange rates
- your option
Bonus:
- Sign up for English courses (except for Habr, all interesting articles and documentation for libraries are in English). There is even a specialized Skype-training for IT-Schnick, although I - for the classic group classes.
- Learn to recruit blind (2 weeks in the evening)
- Learn the memory of TOP100-300 PHP functions (1 week)
- Learn another programming language at the level of writing unpretentious applications. It is desirable to have a completely different paradigm: Go ( great tutorial ), Lisp (argumentation - 1 , 2 ), Haskell ( something like that )
Good luck!