PHP → Senior PHP Developer requirements

My vision of requirements for a candidate for the Senior PHP Developer position.

Main requirements:

— 5+ years of software development experience with PHP
— Deep understanding of OOP, SOLID, Design Patterns and principles
— Strong knowledge in one of the databases MySQL/PostgreSQL/MongoDB, ability to optimize queries
— Solid experience of work with one of the modern frameworks (Laravel, Symfony, Yii, Zend, etc)
— REST API design and development experience
— Solid experience with Git and understanding Git flow
— Experience with caching Memcached, Redis, Varnish etc
— Experience with message brokers RabbitMQ, Kafka etc

— Profound knowledge of HTML5, CSS3
— Middle-level experience with JavaScript
— Experience with Docker/Vagrant
— Experience with testing and writing unit tests using PHPUnit
— Good understanding of UNIX systems, configuration of Apache/Nginx
— Intermediate or Fluent English and good communication skills

 

Would be good:

— Proficient in Javascript and experience with Angular/React/Vue or similar frameworks
— Working experience with NoSQL databases, WebSocket, OAuth, OpenID technologies
— Well knowledge of automated testing practices, application of TDD, BDD approaches
— Experience with integration of payment systems PayPal, Stripe, etc
— Experience with AWS platform
— Participation in open source projects
— Experience with technical writing/documentation
— Base knowledge in other languages like Python or Golang would be a plus

 

Leave you comments if you agree or disagree with something.

  • atoumus

    Программисты, которые реально соответствуют вышеперечисленному, скорее всего встречаются не часто, фанаты своего дела, посвящающие свободное время либо самообучению, либо своим опен-сорс проектам. Нанять таких на работу сложно, т.к. работа у них всегда есть, и ЗП наверное на уровне хорошего Java программиста)

  • Paul Shan

    Я бы добавил необходимость уверенного понимания сетевого стека, принципов клиент-серверного взаимодействия, и т.п. В довесок туда же понимание межпроцессного/межпоточного взаимодействия. Неплохо было бы понимать принципы различных методов/алгоритмов криптования, хэширования, кодирования.