Какой функционал необходимо сделать на yii2, чтобы работодателю было понятно, что я с ним знаком?
Работаю SEO-оптимизатором, эта сфера уже в конец достала, и последний год изучаю php, с планами перейти на back-end php программиста (разумеется, пока смотрю на вакансии уровня junior).
Во многих вакансиях требуют знания современных фреймворков, в основном Yii2. Вот уже какую неделю читаю руководства, кручу-верчу этот фреймворк и задумался, а собственно какой функционал нужно на нем реализовать, чтобы работодателю было понятно, что я с ним знаком?
И сразу для тех, кто напишет список функционала на пять страниц - вопрос - а оно нужно? Произведет впечатление? Например с сентября до марта писал свой велосипед, на примитивном уровне (мне тогда еще никто не сказал что всем нужно MVC), но с большим количеством функционала: помимо классической регистрации/постов/комментариев/лайков реализовал целую систему характеристик пользователя (уровень, здоровье, энергия, и т.д.), предметы которые можно было покупать/продавать/одевать.
Пол года с этим велосипедом провозился ииии... нафиг он никому не сдался. Вообще не смотрят и не заглядывают в то, что я там написал.
И тут возникает вопрос - а может и на Yii2 достаточно сделать какой-нибудь статичный сайт-визитку с парой страниц и этого будет достаточно? Все равно 90% работодателей не вникает в то, что там за сайты в портфолио и какой там реализован функционал.
У тебя задача устроиться начинающим разработчиком PHP, а не знания фреймворка демонстрировать, хотя это, конечно же плюс, но, как по мне лучше знать хорошо сам язык, понимать его тонкости, узкие места, уметь писать понятный код, тесты к нему. Приведу реальный пример из моей жизни по требованию к кандидату на позицию PHP разработчика, текст оставил без изменений, возможно, будет полезно:
Ок, найди, пожалуйста, на github опенсорсный проект на php, выбери понравившийся issue (или несколько), выполни и отправляй мне ссылку на pull-request. Можно самому завести issue. Главное, чтобы задача была тебе интересна.
Критерии оценки:
- Влияние выбранной задачи
- Качество кода (корректность, производительность, элегантность)
- Читаемость кода и документация (грамотное программирование это плюс)
- Тестирование
- Ясная коммуникация в pull request, объясни как ты решил проблему, расскажи о возможных подводных камнях, и предоставь диалог с поддерживающим(и) проект если возможно.
Чем лучше выполненная задача покажет тебя как разработчика - тем лучше. Оптимально, если ты нацелишься на https://github.com/yiisoft/yii2/issues или на любой другой mvc фреймворк
лучше знать хорошо сам язык, понимать его тонкости, узкие места, уметь писать понятный код, тесты к нему.
Это все конечно так, но знание фреймворков - самый популярный вопрос на собеседованиях (в моей практике).
Соответственно почему бы не разобарться в том, что чаще всего спрашивают. К тому же, что такое хороший код можно понять только на примере этого самого хорошего кода, и изучение современных фреймворков этому способствует.
Согласен, если тебе проще изучать тонкости языка через изучения фреймворка, к тому же одного из популярнейших, значит это твой путь.
Кому-то проще изучить язык, читая толстые книги и воплощая упражнения на практике, кому-то через код ревью, кому-то через юнит тесты, а кто-то любит опен сорсные проекты ковырять.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.