Что Должен Знать «Php Junior Developer Без Опыта Работы»?

Время мчится, как стремительный домкрат. Эта статья во многом устарела, хотя такие конструктивные моменты, как «области, связанные с обучением», вряд ли когда-либо потеряют актуальность.

Нехватка кадров становится все более очевидной и вносит больше конструктива в процесс найма начинающих разработчиков.

Баланс смещается в сторону хорошего знания языка и инструментов от готовности писать код «как-нибудь», а с первого дня.

Не забывайте, что все это оценочные суждения какого-то анонима.

У вас нет гарантии, что я разработчик и понимаю, о чем говорю.

На самом деле, вы даже не можете гарантировать, что этот текст не был напечатан каким-то ёжиком в качестве платы за съеденную им котлету.

Эта статья стала результатом двухмесячного поиска работы в Новосибирске.

В процессе общения с работодателями я обнаружил некоторые очень непонятные мне факты.

Рекомендуем к прочтению всем, кто планирует стать подобным соискателем в ближайшем будущем.

Во время написания этой статьи:

  • имел контакты в той или иной степени с 20+ работодателями
  • Выполнено 12 тестовых заданий
  • Проведено 8 интервью с техническими специалистами
  • Один начинающий PHP-разработчик получил моральные травмы средней степени тяжести


HTML, CSS, JavaScript

Вы можете подумать, что идеальному программисту PHP не обязательно знать эти вещи, но это не так.

Примените к себе валидную верстку, кроссбраузерность и прочие слова, которые написаны в вакансиях для верстальщиков.

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

Однако таких организаций было немного.

Самый наглядный пример — одно из выполненных мной тестовых заданий.

Соотношение строк PHP:JavaScript:HTML составляло примерно 20:50:30.

Рамки

Ваше знание PHP как таковое интересует очень небольшую часть работодателей.

Большинство компаний используют в разработке различные фреймворки и хотят того же от кандидата.

Если в своих пожеланиях к кандидату вы видите «знакомство с x framework», то, скорее всего, это не пожелание, а требование.

В Новосибирске наиболее популярны (по числу младших вакансий) — Yii, Symfony и Zend. Иногда CakePHP мигает. Лично мне удалось освоить Yii на базовом уровне за неделю спокойной работы.

Что, однако, не означает, что вы не сможете разобраться быстрее.



PHP — это тоже программирование

Со всеми вытекающими последствиями.

А именно без знания теории ваша квалификация крайне низка.

Барьер для входа в PHP низкий.

В результате все остальные программисты смотрят на PHP-разработчиков с презрением и неодобрением.

И вообще, на это есть причина.

Незнание базовой теории может привести к таким ужасным вещам, как генерация миллиона объектов в коде и последующее применение к ним пузырьковой сортировки.

Это, конечно, гипербола, но суть вы, наверное, уловили.

В общем, я настоятельно рекомендую вам прочитать пару книг по теории программирования.

Вряд ли вас спросят о расчете сложности алгоритма, но на собеседовании стараются выяснить общие вопросы, определенный начальный уровень программиста.



Разработка включает в себя многое

Лично мне никогда не приходило в голову, что нужно думать не только о том, на каком языке пишешь, но и как вы пишете.

Очень желательно знать основные IDE, а точнее их основные функции.

Для нормальной командной работы необходим контроль версий.

Кроме того, в проектах принято проводить тестирование и каким-то образом сообщать об ошибках.

И бывают такие ошибки, что неплохо было бы узнать содержимое php.ini. И конфиги nginx/apache. И мы можем продолжать очень долго.



Будьте готовы резко расширить свой кругозор

Каждое второе тестовое задание, которое вы выполните, вам придется изучать что-то новое с нуля.

NoSQL, AJAX, чьи-то API, JS-библиотеки и прочие вещи, о которых вы слышали в лучшем случае пару раз в жизни, вам придется срочно изучать.

То, что вам незнакомо, не обязательно является чем-то трудным.

Это действительно задачи для начинающего разработчика без опыта работы.

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

Не отказывайтесь от задания, если оно кажется вам слишком трудным.

Просто прочитайте статьи или учебники на эту тему, вы поймете, что бояться нечего.



Тестовые задания могут быть неточными

Как правило, тестовые задания короткие и понятные.

И все же неточно.

Я понятия не имею, что является причиной этого.

Возможно, задания создают и проверяют разные люди.

В одной задаче мне прямо сказали использовать ООП, потом на собеседовании спросили, зачем я это сделал.

В другом все с точностью до наоборот. В третьем меня попросили прикрепить описание на английском, а потом спросили, зачем я его прикрепил.

Как правило, некоторые ваши работы будут проверяться безотносительно к заданию.



HR-ы часто адекватны и профессиональны

Часто это 6 из 10. Будьте готовы к тому, что на другие письма вам не ответят, тестовые задания не проверят, мы вам перезвоним.

Я не знаю, что движет этими людьми.

Серьезно, HR, почему ты не можешь потратить пять минут на человека, который потратил на тебя весь день? Если вы столкнулись с такой проблемой, не ждите ответа.

Звоните и пишите, спрашивайте, почему о вас забыли.



Собеседование - огромный плюс

Поговорите с опытным разработчиком и просмотрите свой код, что значительно продвинет вашу разработку.

Даже если вам отказали в приеме на работу, вы все равно приобрели ценный опыт. После каждого собеседования обязательно пройдитесь по вопросам дома и проясните все непонятные вам моменты.

Как правило, эти вопросы касаются базовых знаний, без которых ваша работа будет как минимум некачественной.

Если вы чего-то не знаете, обязательно разберитесь.

Хотя бы потому, что подобный вопрос, скорее всего, повторится.



Счастливый конец

Вот собственно и все это, с чем придется столкнуться начинающему разработчику.

При некоторой подготовке ваши будущие собеседования будут намного проще, чем мои.

Возможно, любознательному читателю будет интересно, чем закончился этот поиск работы? Я понял, что для начинающего разработчика без опыта работы у меня слишком мало опыта, и подал заявку на вакансию, не имеющую никакого отношения к ИТ.

Через год планирую снова начать поиски, получив больше знаний.

Теги: #php #младший #поиск работы #разработка сайтов #php

Вместе с данным постом часто просматривают: