PHP is developing rapidly. And the language itself, and its implementation, and, especially, the community. PHP ceases to be a language for quickly riveting Saytik and more and more moving towards a general-purpose language, although this path will be long - too many inherent flaws stretch from prehistoric times.
As mushrooms grow standards, frameworks, syntax evolves and becomes ever sweeter, various tools grow.
And this is great!
')
It's not entirely cool that we, ordinary developers, are increasingly lagging behind the rapid flow. The history knows a similar example - mammoths also lagged behind the rapidly changing environment. And extinct. Well, or, according to another hypothesis, they were eaten by their competitors for an ecological niche — by people. Never mind. The end of the poor giants was sad anyway.

Try a simple test and determine if you are a mammoth in the world of PHP? Do you, as a specialist, face extinction in the near future?
The test, of course, Friday and a joke. But there is still some truth in it.
You write on modern language versions.
Basic version 5.6? Great,
give yourself 10 points . Already collected PHP 7 and tested your code under it? Fine,
add another 5 points .
Still writing “array ()”? Scared of the word "treit"? Know nothing about generators? Do you use md5 for password hashing? It's time to wake up, version 5.4 came out three years ago! Where have you been these three years? Slept in a crystal coffin? Just do not need to say anything about tons of legacy-code and about hosting. The first problem is not the problem of the code, but the problem of your laziness, and the second does not exist at all in conditions where you can take your server for only 250 rubles a month and organize your own hosting.
You are using modern version control systems.
What, you do not use VCS in daily work? Close this page. I'm serious - you do not need to continue to take the test, you need to immediately call the nearest 1C franchisee and get an errand developer to work as a freelance developer.
If you don’t think of your work without Git (or Hg, for example) -
award yourself 20 pointsYou use modern version control systems correctly.
Score 5 points for each statement that corresponds to you and your work style:
(the word "git" can be replaced with another VCS)
- Everything should be in git
- Everything means everything! And even application configs
- Crontab must be in git-e
- Injections into php or web server configs come from where? Right from your repository!
- All changes in the structure and system data in the database - only through Git, use migration or another mechanism
- Well, how many times to repeat - EVERYTHING SHOULD BE IN GIT-E!
You use modern version control systems in accordance with a clear workflow
If you are working on git flow - immediately
add yourself 25 points , please. Otherwise,
add 5 points for each statement that applies to you:
- There is always a stable branch whose state exactly corresponds to the state of production.
- Each task has its own branch
- There are no exceptions to this rule.
- The branches can be of different types, depending on the type of task.
- Any branch will sooner or later be merged into stable (one way or another) and / or deleted.
You do not make changes to the database with your hands, for this there are migrations that can be rolled and rolled back
No matter what framework you use, the simplest migration mechanism is able to write even Junior in a couple of hours. Do you agree? So you do? Never go to the database on production to add a field or index? Congratulations,
take 10 points .
Want to argue? Do you know what a trap pit is? You are a mammoth, you are sitting in this pit and are trying to argue with the hunters, who are pondering how to get you out of there - wholly or after chopping them into pieces. Good luck!
You are using build scripts
Make friends with phing? Or familiar with Capistrano? Or maybe using Ant?
15 points in the studio!And yes, you remember - the build scripts for you are where, where? That's right,
in the house where the carved palisade is in git!
Not sure what build scripts are? Do not understand why they are needed? Ahh, mammoth, food for the whole tribe !!! Hear how the crowd of hunters is already running to throw you overboard?
Automatic Deploy
Teamcity? Or Jenkins? Or maybe Bamboo? Congratulations, you are one step closer to the Noah's Ark ticket and at the same time receive a bonus of
10 points . The first time you hear these words? Or consider yourself smarter than everyone else and wrote your bike for laying out releases? I have bad news for you. Here one of two things - either die out or evolve - choose!
PHPStorm?
- Yes? 10 points
- Vi (m)? 5 points . Just out of respect for dinosaurs. They will outlast all the mammoths, believe me.
- Something other? 0 points
Frameworks
Zend? Symfony? Laravel? Yii, God forgive me? Perfectly.
Add yourself 20 points , if for you these are not empty words, but everyday work.
Add another 10 if you are constantly working with more than one modern framework. However, you can add exactly the same amount if you compile a set of packages you need for a specific project using the composer.
Plus, another 5 , if at least once you have visited the thought “How crookedly this X is implemented in this framework, I would remake” or
plus 15 points , if you took and remade.
Asking why PHP frameworks are needed? Want to find out if you should study CodeIgniter? You do not understand why you should manage dependencies in the code, because you can simply download the necessary library to your project? OK, as soon as they build a time machine, I will send you 15 years ago, where you can fully shine your talents, but for now you can resort to cryopreservation, because you will still have nothing to do in the coming years.
You are a little DBA
You know that the MySQL world of relational databases does not end there. At least once in your life, you chose a database server based on the business requirements for a future application (and you stopped at Postgres, didn't you?). You clearly understand that in general each JOIN is an embedded loop, you know perfectly well that the correct indices and non-response queries will give much more for performance than sharding and load balancing, do not consider NoSQL to be a panacea, and laugh at the idea of ​​using MongoDB as the main storage relational in nature data. And you, without fanaticism, use ORM when it is needed, “bare” requests, when it is justified and you are not afraid to transfer logic to foreign keys, triggers and procedures.
Yes?
Take from the shelf 20 points , you are ready for the future. The rest is all the same choice. Do not delay the queue, choose - die or develop? Following!
Let's sum up
200 points
Update your resume. Today. Dozens of companies in the country have already realized that investing in good developers is profitable. You are ready for the future.
From 100 to 200 points
From extinction can be saved by migrating to
Wrangel Island . However, the end will still be sad. It is better to find the strength for self-development before it is too late.
Less than 100 points
Lots of tasty meat! “To me-me-am-me” - do you hear your competitors' jaws clicking? Gobble, sir, however.
PS Do not take the test seriously, after all, Friday!