Замечу сразу, что, само собой, прежде чем создавать эту тему, я прочел около десятка статей о требованиях к PHP разработчикам, джуниорам и стажерам. Но мнения там слишком разные, зачастую весьма сильно критикуемые в комментах. Да и конкретно моя ситуация довольно специфична. Потому я и решился на создание темы - чтобы получить советы, которые будут полезны не в общем, а конкретно мне.
Итак, к делу:
Что имеем.
- Худо-бедно неплохую зарплату в семейном бизнесе и возможность сократить рабочую неделю там до 3, а если очень повезет, то и до 2 дней, просев материально не катастрофически.
- Довольно халявную работу, позволяющую хорошо выкраивать достаточно времени на обучение не только за счет выходных но и во время рабочего дня.
- Большое желание стать веб-разработчиком. Сейчас учусь уже по 4-5 часов в день и постоянно повышаю планку. Начинал с 10-15 часов в неделю, но со временем все больше затягивает.
- Небольшую базу в виде 2х месяцев изучения HTML и CSS. Пять книг и четыре видео курса. (знаю, затянул с этим, но прошлого не вернешь).
- Сейчас заканчиваю изучать первый из четырех курс PHP от «Специалиста» (английский у меня так себе, а из русских бесплатных это вроде лучшие). На всякий случай, под изучением имею в виду не «посмотрел с ведерком попкорна», а ведение и повторение конспектов, повторные просмотры до наступления полного понимания, проверку знаний на практике и, конечно же, выполнение всех лабораторных.
Чего хотим.
- В будущем, конечно, интересной работы и зарплаты в 2-3 тысячи долларов. Но это через годы. А конкретно сейчас хочу следующего:
- К началу лета устроится в одну из контор по веб-разработке стажером (то есть да - можно вообще забесплатно), чтобы работать 24-28 часов в неделю в конторе (3/7), черпая знания у опытных разработчиков + еще 12-15 часов можно добивать на основной работе и дома. Либо же просто 3 дня в конторе, а остальные 12-15 часов продолжать самообучение по смежным дисциплинам типа JS или повышения уровня английского.
- То есть задача максимум – через 3 месяца (порядка 300-350 часов самообучения нынешними темпами) быть принятым в стажеры.
- Задача минимум – не ударить в грязь лицом на собеседованиях. Чтобы – если отправят доучиваться – придя еще через время, меня были рады видеть, а не указали бы сразу на дверь.
Вопросы
1) Первый и самый главный вопрос. Что входит в джентельменский набор кандидата в стажёры, без которого лучше даже не соваться, только впечатление о себе испортишь? Что прибавить к базовому HTML, CSS и курсам от Специалиста? Может быть какой-то набор книг, которые нужно прочесть? Или определенное портфолио? Фреймворки, CMS? Просто одни говорят, что достаточно едва ли не просто желания помноженного на нормальный уровень IQ – и тебя уже возьмут стажером, еще и тыщ 10 рублей будут подкидывать. Другие же выкатывают такой список требований, что там минимум года три надо усиленно учиться в бодром темпе (а ведь речь даже не о джуниоре). В общем, я очень надеюсь, что именно на этом форуме мне укажут на золотую середину, направив по верному пути и сэкономив массу времени.
2) HTML и CSS. Как уже писал выше, довольно много информации изучил по ним. Но примера сверстанного сайта нет – верстка как-то совершенно не интересна. Будет ли достаточно просто суметь ответить на общие вопросы по верстке (что значат те или иные теги, чем класс отличается от ID, а margin от padding, почему таблицы стилей каскадные)? Или лучше на недельку отвлечься от PHP и сверстать незатейливый сайтик, заодно подновив знания по HTML и CSS? Насколько эти дисциплины вообще важны для начинающего PHP разработчика?
3) JavaScript. Учить сейчас или оставить на потом? Может ли опыт в нем быть нулевым на этапе стажёрства/джуниорства? Мне не жаль времени поучиться еще и JS, но пока еще PHP толком не осел в голове я очень боюсь запутаться в языках. Считаю для себя лучшим сосредоточиться сейчас на одном. Но вдруг на собеседовании даже слушать о моих успехах в PHP не станут, а сразу укажут на дверь, узнав что я не разбираюсь в JS?
4) Во многих описаниях собеседований мелькает вопрос «Почему вы выбрали PHP?». Мой правдивый ответ таков: моя работа перестала меня удовлетворять, поскольку не дает какого-либо развития. Я пару месяцев прокручивал разные варианты от расширения семейного бизнеса и вплоть до обучения ювелирному делу и в итоге остановился на программировании. Пригласил на пиво старого друга, профессионального программиста с 10-летним стажем и тот сказал, что однозначно это следующий путь: HTML+CSS, потом PHP. Сказал, что C++ (учебник по которому я к тому времени проглядывал уже пару дней) можно учить годами и в итоге не выучить до той планки чтобы можно было работать. Его слова (в которых и так у меня не было причин сомневаться) были подтверждены и другой историей, которую я знал, когда человек сначала год буксовал на С++ вообще без видимых результатов, а потом буквально за пару месяцев освоил PHP так, что сразу сумел устроиться не то что бесплатным стажером, а джуниором с зарплатой. Так я выбрал PHP.
Как вы считаете, стоит на собеседовании говорить правду об этом или нужно придумать какую-нибудь чудесную историю про то, как однажды ночью я почувствовал, что парю в метре над постелью и мне был голос из тьмы: «Изучай PHP!».
А то как-то кажется этому вопросу придают слишком много незаслуженного значения, и я начал всерьез задумываться - а не соврать ли, придумав историю, что меня всегда восхищал именно web.
5) И напоследок – может быть скажете о подводных камнях, если есть такие. А то, мало ли, наобещают золотых гор и сверхбыстрого прогресса, а на деле посадят разгребать навоз помощником младшего HTML-программиста на пол года, когда не то что не научишься, а еще и те крохи, что знал, растеряешь. А мне, пусть и не получая по началу вообще ни гроша, хотелось бы учиться ровно настолько быстро, насколько я могу это потянуть.