PHP-разработчик - что он умеет?
Это не совсем статья, скорее вызов на диалог. Задумался я тут на досуге о статусе PHP-разработчика, о его способностях… Что должен уметь и чем владеть профессиональный PHP-разработчик? Список может быть бесконечным, я понимаю, но что-то основное всё равно хотелось бы выделить. На мой взгляд, это должно быть следующее:
- Владение какой-либо средой разработки ( Eclipse PDT ).
- Ведение документации проектов ( PHPDocumentor ).
- Знание модели M-V-C.
- Составление и чтение UML-диаграмм.
- Владение технологиями шаблонов ( Smarty, Native шаблоны ).
- Естественно, знание одной (лучше нескольких) из SQL БД. К примеру, MySQL: индексы, триггеры, внешние ключи и проч… Ну и грамотное составление схем данных, нормализация вплоть до 5 НФ (быть знакомым с технологией, но применять по уму).
- Владение системами контроля версий ( SVN ).
- Все принципы ООП, которые реализованы в PHP5. Понятное дело, что их не так много, но и этого достаточно для грамотного программирования. Продуманная объектная модель - ключ к масштабируемости, а это, в свою очередь, залог успеха всего предприятия.
- Регулярные выражения. Без комментариев.
- Профилирование кода.
- Unit Testing.
- XHTML, CSS, JS, HTTP-протокол, асинхронные запросы (спасибо, Sam).
Что ещё я забыл? Прошу Вас, напишите своё мнение и, если не жалко, приведите ссылки на литературу или статьи, которые смогли бы помочь остальным читателям в достижении Дзена. =)