Какими знаниями должен обладать Middle и Senior php developer?

Проблема в следующем: программирую на пхп уже больше 5 лет, но думаю, что моих знаний не хватает. Решить могу почти любую задачу, связанную с веб разработкой, но не уверен, что правильным путем. По ходу работы мне не приходилось сталкиваться со многими вещами, с абстракциями, неймспейсами, точнее я понимаю, что они делают и как работают, но сам не использую, так как не вижу смысла.

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

Развиваться дальше хочется, но не знаю в какую сторону, изучал многое, angular, немного Node.js, python, свободно пишу различные парсеры, владею движками, Yii, Kohana, даже имеется свой собственный, делаю крупные проекты с математическими просчетами, но не уверен на сколько я это делаю правильно.

Хотелось бы узнать, что нужно знать и использовать, чтобы считаться middle или senior разработчиком.
  • Вопрос задан
  • 2704 просмотра
Решения вопроса 2
index0h
@index0h
PHP, Golang. https://github.com/index0h
мне не приходилось сталкиваться со многими вещами, с абстракциями, неймспейсами, точнее я понимаю, что они делают и как работают, но сам не использую, так как не вижу смысла.

Что ж - тогда нужно столкнуться. Мидл отличается от Джуна не некими "мистическими знаниями", а опытом решения не стандартных задач.

Что касается используемых фреймворков вами - чем раньше перейдете на Symfony - тем быстрее вырастите. Безусловно, для своих задач yii - не плох, но это средне-маленькие проектики, для больших - это скорее плохой выбор, чем хороший (экспоненциальное разрастание моделей в случае больших команд - это убийственная практика). Kohana на пару с CodeIgniter - вообще учат тому, как писать не стоит((

Собственно чего я набросил на kohana?
1. Фреймворк не должен меняться, и не должен быть "в перемешку" с вашим кодом. Слишком велик соблазн что-то поменять во фреймворке. Как следствие - обновление части кода с фреймворком усложнится.
2. Явная инициализация всех подсистем проекта при загрузке. Зачем? Велика вероятность, что вообще все что там на каждый запрос не нужно.
3. Больше автолоада богу автолоада. Есть принятые стандарты PSR-0 и PSR-4, используйте их. Поймете зачем нужны неймспейсы. А кукули типа My_Very_Perfect_Controller - это практика 2000-х.
4.
<?php defined('SYSPATH') or die('No direct access allowed.');

Эта защита имеет смысл только в случае, если ваш код в публичном доступе, чего вообще-то быть не должно. По хорошему в публичном каталоге должен быть только один исполняемый php файл index.php
5. Статика - это путь к бесконтрольной связности проекта. Код с ее использованием тяжело поддается тестированию и изменению.
6. ActiveRecord для больших проектов - это самоубийственная практика, увы. Передавая модель куда-то вы передаете не только данные, но и подключение к БД. Как следствие код, который со всей силы не должен иметь возможность делать запросы к БД - может это делать и будет.

Почитайте на досуге Попросили проверить код, на что смотреть нужно?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы