Путь PHP-программиста
Может быть путь, а могут быть пути – альтернативы развития есть всегда. Посмотрим процесс развития PHP-программиста с нуля до продвинутого и радостного профи. Приготовьтесь: на основном пути периодически будут попадаться тупиковые ветки эволюции :)
Всё начинается с первых реальных скриптов. В предыдущей статье мы показали два небольших кусочка кода, которые дают приятные результаты, невозможные без серверного языка программирования. Новичку нравятся эти результаты, и он загорается идеей изучить PHP.
Обучаться программированию можно по-разному, но об этом в другой раз. Сейчас нас интересует именно дальнейшее развитие PHP-программиста.
С чего начинается путь?
Сначала новичок изучает обязательные базовые темы языка: работу с файловой системой, куки и сессии, создание авторизации на сайте, работу с базами данных - и начинает называть себя Junior’ом. На самом деле на собеседовании с ним не согласятся :) Junior’ом в PHP назваться легко, только вот настоящий Junior должен владеть большим набором тем, включая объектно-ориентированное программирование.
Многие останавливаются в своём развитии на этом этапе, потому что есть боковой соблазнительный путь - слегка ковырять код в готовых CMS. CMS – система управления контентом - полностью готовая к использованию вещь, позволяющая без знания языков программирования делать типичные сайты с не менее типичным функционалом.
Сразу оговорюсь: без знания PHP вообще никакая CMS не поможет. Необходимость в любой маленькой правке в шаблоне или в модуле приведёт к огромным проблемам для разработчика. Знание перечисленных выше тем из PHP позволяет не тупить в простом коде и успешно решать типичные задачи.
Почему этот путь соблазняет? Потому что он сразу сулит первые деньги от реальных заказов. Да, деньги небольшие, конкуренция высокая, но ведь заманчиво… На эту дорогу можно ступить, чтобы подзаработать, но на ней нельзя застревать. Это тупик, в котором вам рано или поздно станут ненавистными однотипные задачи.
Как и куда развиваться дальше?
Хороший и перспективный путь, как всегда, сначала сложнее. В этом есть общая мировая справедливость: чтобы стать профессионалом, надо потрудиться. Не думая о заработке, новичку приходится грызть нелегкие темы объектно-ориентированного программирования и архитектуры программ. После прохождения данного препятствия можно вполне законно объявлять себя PHP-junor’ом и искать счастья на собеседованиях.
Кроме того, никто не мешает вам параллельно подрабатывать на "тупиковом" пути, если очень хочется первых денег. После освоения сложных тем PHP вы будете уверенно чувствовать себя даже в незнакомых CMS и быстро решать типичные задачи.
Но надо развиваться дальше. Да, с таким набором знаний вас возьмут стажёром или сразу Junior’ом. Но тут возникает вторая тупиковая ветвь эволюции - программист, поддерживающий готовый проект и вносящий в него микро правки.
Почему это тупик? Потому что нормально и быстро развиваться можно только в новых проектах, которые пишутся на современных фреймворках с использованием новых возможностей языка программирования. А в старых проектах и технологии старые.
Если вовремя не сойти с этого пути, можно превратиться в какой-нибудь мем. Вроде программиста, который прилип к стулу, за час в день успевает сделать дела по поддержке проекта, а в остальное время радостно рубится в контр страйк или ловит покемонов под столом и по всему офису :)
Есть, куда развиваться дальше!
Правильное решение - опять сложное. Если вам повезло и вас сразу нагружают интересными развивающими задачами - всё супер. Если нет - надо вздохнуть, поблагодарить всех за данный опыт и пункты в резюме, и с боем идти дальше - т.е, менять работу. Опять же за время работы хорошо бы постараться освоить какой-нибудь современный фреймворк типа Yii2 или Laravel.
С опытом работы и знаниями фреймворка можно пытаться пробиваться уже даже не на junior’а. Но в целом – как повезёт.
А дальше всё хорошо :) Зарплаты высокие, задачи интересные. А если надоест работать в офисе, можно идти на фриланс, потому что для хороших специалистов там заказов хватает. Дикая конкуренция только в несложных и типичных проектах.
Самые успешные программисты, получив опыт командной работы и освоив большинство важнейших навыков разработки, открывают свои студии. Но это уже совсем другая история.
Вы всё ещё хотите изучать PHP? Тогда мы идёт к вам :)