Последние 10 лет самостоятельно занимался всем понемногу (seo, верстка, базовое программирование на js), но каких-то особенных результатов так и не достиг и понял, что время мечтать закончилось, пора идти в найм (мне 32). Проблема в том, что мои знания не систематизированы и их много, но в разных сферах. Для себя решил, что хочу стать бэкенд разработчиком (php), тем более некоторый опыт есть (верстка под wp и написание небольших плагинов). Понимаю, что этого мало и сейчас привожу знания в порядок в соответствии с phptherightway, учусь по ютуб-урокам и php.net.
Подскажите, пожалуйста:
1) Все ли я правильно делаю или есть ли какие-нибудь "более правильные" способы добраться до уровня хорошего джуна?
2) На каком уровне необходимо знание js для php-разработчика? Эти языки часто пересекаются и, как я понимаю, знание js это очень большой плюс.
3) У меня нет примеров работ в github, стоит ли начать загружать туда хоть какие-нибудь примеры выполненного кода? Или лучше сделать интересные готовые проекты (какой-нибудь сайт сервис или плагин под wp в официальном репозитории) и приводить их в качестве портфолио, а не ссылку на гитхаб?
4) Мой план по устройству на работу примерно такой: сделать 2-3 проекта (сайта/плагина) и довести свои знания до уровня, когда я могу ответить на все вопросы для собеседования по php для джунов и мидлов, после этого начать отзываться на все подходящие вакансии. Это хороший подход или что-то можно улучшить?
4) Мой план по устройству на работу примерно такой: сделать 2-3 проекта (сайта/плагина) и довести свои знания до уровня, когда я могу ответить на все вопросы для собеседования по php для джунов и мидлов, после этого начать отзываться на все подходящие вакансии. Это хороший подход или что-то можно улучшить?
Есть какие-то вопросы, которые вы не можете сейчас ответить?
Сколько собеседований прошли?
Нужно различать академический подход по учебникам, и то, что сейчас есть на рынке. А то так вы никогда не совпадете.
Есть какие-то вопросы, которые вы не можете сейчас ответить?
Где-то в трети вопросов плаваю, на все остальное могу ответить. Вопросы смотрю в разных статьях вроде "100 вопросов на собеседование для php разработчика".
Сколько собеседований прошли?
Три. Фидбек минимальный, в двух компания предложили стажерство, но по независимым от меня причинам ничего не вышло (корона и плохой опыт с предыдущими стажерами). Выбор у меня в городе небольшой, а найти удаленку для джуна та еще задача.
Ну два из трех - это весьма даже неплохо.
По идее и без фидбека, у вас появляется понимание что спрашивают и что хотят - читайте это и ходите на бОльшее количество интервью. Для новичка 3 интервью - ни о чем.
У меня нет примеров работ в github, стоит ли начать загружать туда хоть какие-нибудь примеры выполненного кода?
Да, стоит, и чем раньше, тем лучше.
Код на гитхабе сильно упрощает понимание для работодателей, чего вы стоите, и какой код пишите.
А если добавите на гитхаб свой блог на Laravel/Symfony на докере + запрос к какому-нибудь API через Guzzle - мне кажется этого будет уже достаточно, для уровня джуна.
Это хороший подход или что-то можно улучшить?
Хороший, только помните, что всем нужен опыт фреймворков. Даже компании которые сидят на каком-нибудь Drupal будут спрашивать про опыт фреймворков. Так что примеры сайтов сразу делайте на фреймворках, про CMS и велосипеды забудьте.
Например, на работу пойти. Так как джун это разработчик с опытом коммерческой разработки от года(это если мы говорим про бизнес средней руки). На проектах с большой сложностью, с штатом разработчиков в 50-100 человек - джуном может быть и специалист с опытом до 2х лет(а особо яркие личности сидят в джунах до бесконечности). Так как первые полгода происходит адаптация к проекту, следующие полгода ты потихоньку начинаешь разбираться в коде и выполнять легкие таски, и следующий год будет ключевым к росту на мидла.
Делайте проекты, как можно больше - практика, это ключ к успеху в программировании, одной теорией и влажными мечтами сыт не будешь.
На работу пока не берут. Как я понимаю из-за пустого портфолио и, возможно, пробелов в знаниях. Был на трех собеседованиях, на двух предложили сперва стажировку, а затем уже работу. Согласился, но в первом случае все накрылось из-за короны, компания убрала стажеров. Во втором даже не успел приступить, закрыли обучение, так как все предыдущие стажеры после получения опыта мгновенно свалили в другие компании на бОльшую зп.
В случае с практикой вы имеете ввиду, что лучше все же готовые полезные проекты (те же сайты и плагины), нежели код ради кода на гитхабе?
Lyvinov, Во втором случае компания была сама не права, так как в таком случае подписывается договор найма, при котором разработчик обязан работать в компании год, на обусловленной зп.
В случае с практикой вы имеете ввиду, что лучше все же готовые полезные проекты (те же сайты и плагины), нежели код ради кода на гитхабе?
Почитайте описание вакансий, пройдите два-три собеседования. Дальше либо возьмут на работу, либо поймете, что именно нужно подтянуть, чтобы взяли.
В большинстве случаев на джуна нужно знание основ и общая адекватность, что, видимо, у Вас уже есть. Если требуют больше - скорее всего, фирма просто хочет взять мида на зп джуна.
1)Книги решают
2)Да на любом он не такой сложный чтобы сильно заморачиваться занимаясь пхп
3)А как вы десять лет занимались всем и не использовали гитхаб? я еще когда в школе программировал страдал от того что не было гита и я не умел сабверсион какой нить.
4)Что вы за десять лет не наклепали сто сайтов друзьям и знакомым что ли и нечего показать ?
3)А как вы десять лет занимались всем и не использовали гитхаб? я еще когда в школе программировал страдал от того что не было гита и я не умел сабверсион какой нить.
А как вы десять лет занимались всем и не использовали гитхаб?
Каждый раз, когда доходил момента, когда становится страшно потерять наработанное в проекте - просто копировал его на флешку:) Вернуться к предыдущим версиям или посмотреть разницу было бы полезно иногда, но не так часто, да и не являлось для меня ощутимой проблемой.
Что вы за десять лет не наклепали сто сайтов друзьям и знакомым что ли и нечего показать ?
Большинство из сайтов были моими проектами, которые в итоге не взлетели. Домены не продлевались, на некоторых из них уже давно чужие сайты. А так мой "профиль" это мелкие доработки, вряд ли кого-нибудь заинтересует строка в резюме, что у этого сайт я подчинил верстку; у другого блога разобрался, почему не работает футер и тд и тп.
Я ожидал конечно что-то нехорошее, поскольку пхп ты не знаешь, что простительно, но почему-то лезешь отвечать - что уже необъяснимо.
Но я не ожидал что ссылка будет в самое дно.
после этой книги его возьмут только говно за коровами убирать. Потому что людей, которые пишут вот такой код, нельзя подпускать ни к одному нормальному сайту за километр. Код взят из этой книжки
function register($username, $email, $password) {
// register new person with db
// return true or error message
// connect to db
$conn = db_connect();
// check if username is unique
$result = $conn->query("select * from user where username='".$username."'");
if (!$result) {
throw new Exception('Could not execute query');
}
if ($result->num_rows>0) {
throw new Exception('That username is taken - go back and choose another one.');
}
// if ok, put in db
$result = $conn->query("insert into user values
('".$username."', sha1('".$password."'), '".$email."')");
if (!$result) {
throw new Exception('Could not register you in database - please try again
later.');
}
return true;
}
FanatPHP, Все же ты какой то обиженный на всех. Посоветуй хорошую книжку, приведи пример хорошего, годного кода. Я не обижусь, даже тебя похвалю.
Коммон dude
Я не обиженный, и не на всех.
Ты постоянно лезешь писать на тему, в которой ничего не смыслишь, я тебя постоянно на этом ловлю. И кто из нас обиженный?
чисто для информации, в порядке конструктива:
- db_connect() каждый раз создаёт новое соединение, то есть мы тормозим сервер потенциально убивает его количеством коннекта и теряем кучу фич от получения ид до транзакций
- запрос где переменная идет прямо в SQL - это днище. Это прямая инъекция. Это я дкмаю уже даже и ты знаешь.
- throw new Exception('Could not execute query'); - идиотизм. В исключении должна быть осмысленная информация о причине ошибки, а не блеяние "ой нишмагла!"
- throw new Exception для mysqli - это глупость, она сама умеет кидать исключения
- sha1 для паролей - это зашквар, ломается фермой из 10 видеокарт
- в таблице нет автоинкеремента WTF?
- при вставке надо явно указывать поля, потом при изменеии структуры таблиц это будет ОЧЕНЬ кстати
Владислав Лысков, Поддержу вас. Баба, тупарь или активист не вытянут. Нормальные же просто прочтут RTFM в непонятных местах.
В общем где слабый ищет где его угнетают, сильный ищет возможности