PHP Center via @like
Шаг 2⃣
Тачку на прокачку! Прокачиваем: паттерны, начинаем погружаться в SOLID, composer, frameworks.
Паттерны. Не стоит переоценивать эту тему. Равно как не стоит и забивать. Начните с шаблонов: Factory, Singleton, Builder, Adapter, Decorator, Facade, Strategy, Observer. Гарантирую, что вы увидите их во всех без исключения популярных фреймворках (в том или ином виде). Следует отметить, что перечисленные выше паттерны относятся к сборнику паттернов GOF (google). Есть и другие группы шаблонов: архитектурные, инфраструктурные, шаблоны проектирования для баз данных. На данном этапе не стоит лезть глубоко в дебри, но ознакомиться и понять области применения - must have.
SOLID - вообще отдельная история. Нельзя просто взять и осознать эти принципы за день. Да, можно выучить теорию и разобрать несколько примеров - именно так и нужно начать. Но со временем вы будете все глубже понимать идеи, которые несет в себе SOLID, а также мотивацию для его применения.
Composer. Я не зря написал его перед фреймворками. Часто так бывает, что программисты “получают” composer в тот момент, когда начинают знакомиться с фреймворком и это играет злую шутку. Если не освоить этот инструмент, в будущем потраченное время и проблемы гарантированы. Постарайтесь ответить на следующие вопросы:
- Что такое semver?
- Чем отличается composer.lock от composer.json?
- Зачем нужен packagist?
- Что значит опция --dev?
- Что такое PSR-4?
Если хотя бы на один вопрос вы затрудняетесь дать ответ, сделайте паузу, изучите тему глубже.
PHP фреймворки. Да, без них сейчас никуда. Абсолютное большинство серьезных разработок сейчас ведут с использованием opensource фреймворков. Какой выбрать? Исходя из состояния рынка на данный момент (октябрь 2019), для себя я бы выбирал из Laravel и Symfony. Могу сказать, что внимания заслуживает любой из TOP10. Дело вкуса.
Как изучать фреймворк? Мой личный рецепт - это 2 этапа:
- Читаем документации и cookbooks (бегло, не заморачиваемся на деталях). Основная цель - понять какой набор инструментов у нас в руках (без тонкостей их реализации).
- С целью получения практического опыта повторяем основной функционал какого-то популярного сайта. Например, BlaBlaCar, Instagram, Booking. Естественно, будет достаточно повторить 3-5 основных особенностей. Например, регистрация, создание/поиск/бронирование поездок/жилья и т.д.
Если вы последовательно двигаетесь в обучении, то на момент знакомства с фреймворком у вас в арсенале: отличное понимание OOP, вы знаете 5-10 самых популярных шаблонов, без проблем используете composer, умеете писать запросы к БД на чистом SQL. Эти знания помогут сфокусироваться на новых областях и не оглядываться назад на основы. Вот почему так важен последовательный подход.
Тачку на прокачку! Прокачиваем: паттерны, начинаем погружаться в SOLID, composer, frameworks.
Паттерны. Не стоит переоценивать эту тему. Равно как не стоит и забивать. Начните с шаблонов: Factory, Singleton, Builder, Adapter, Decorator, Facade, Strategy, Observer. Гарантирую, что вы увидите их во всех без исключения популярных фреймворках (в том или ином виде). Следует отметить, что перечисленные выше паттерны относятся к сборнику паттернов GOF (google). Есть и другие группы шаблонов: архитектурные, инфраструктурные, шаблоны проектирования для баз данных. На данном этапе не стоит лезть глубоко в дебри, но ознакомиться и понять области применения - must have.
SOLID - вообще отдельная история. Нельзя просто взять и осознать эти принципы за день. Да, можно выучить теорию и разобрать несколько примеров - именно так и нужно начать. Но со временем вы будете все глубже понимать идеи, которые несет в себе SOLID, а также мотивацию для его применения.
Composer. Я не зря написал его перед фреймворками. Часто так бывает, что программисты “получают” composer в тот момент, когда начинают знакомиться с фреймворком и это играет злую шутку. Если не освоить этот инструмент, в будущем потраченное время и проблемы гарантированы. Постарайтесь ответить на следующие вопросы:
- Что такое semver?
- Чем отличается composer.lock от composer.json?
- Зачем нужен packagist?
- Что значит опция --dev?
- Что такое PSR-4?
Если хотя бы на один вопрос вы затрудняетесь дать ответ, сделайте паузу, изучите тему глубже.
PHP фреймворки. Да, без них сейчас никуда. Абсолютное большинство серьезных разработок сейчас ведут с использованием opensource фреймворков. Какой выбрать? Исходя из состояния рынка на данный момент (октябрь 2019), для себя я бы выбирал из Laravel и Symfony. Могу сказать, что внимания заслуживает любой из TOP10. Дело вкуса.
Как изучать фреймворк? Мой личный рецепт - это 2 этапа:
- Читаем документации и cookbooks (бегло, не заморачиваемся на деталях). Основная цель - понять какой набор инструментов у нас в руках (без тонкостей их реализации).
- С целью получения практического опыта повторяем основной функционал какого-то популярного сайта. Например, BlaBlaCar, Instagram, Booking. Естественно, будет достаточно повторить 3-5 основных особенностей. Например, регистрация, создание/поиск/бронирование поездок/жилья и т.д.
Если вы последовательно двигаетесь в обучении, то на момент знакомства с фреймворком у вас в арсенале: отличное понимание OOP, вы знаете 5-10 самых популярных шаблонов, без проблем используете composer, умеете писать запросы к БД на чистом SQL. Эти знания помогут сфокусироваться на новых областях и не оглядываться назад на основы. Вот почему так важен последовательный подход.
PHP Center via @like
Шаг 3⃣
Волк-одиночка - это плохо. Основы командной работы. Git, стандарты оформления кода.
Вы уже слышали о PSR-1, PSR-12? Да, я знаю, что к таким вещам лучше привыкать сразу. Но на практике вижу, что речь об оформлении кода заходит в основном тогда, когда код нужно кому-то показывать. В большинстве осмысленных проектов приняты некоторые стандарты оформления кода. Как правильно это PSR-1 и PSR-12 (PSR-2 - не так давно устарел).
На самом деле вам совсем не нужно знать наизусть все тонкости. Достаточно будет одного прочтения документации по стандартам. А соблюдать эти самые стандарты вам помогут специальные инструменты, например PHP_CodeSniffer и разнообразные плагины для PHPStorm.
Кстати, плохо оформленный код - признак того, что человек, скорее всего, еще не имел опыта работы в команде, а также одна из популярных причин забраковать тестовое задание.
Кстати, я надеюсь вы используете PHP Storm? Если нет, самое время переходить ✅
Sublime, brackets, netbeans и другие IDE очень от него отстали и не очень хорошо подходят для профессиональной разработки.
Git. Как не странно, но до какого-то момента можно успешно работать и без системы контроля версий. Но, как только в проекте появляется > 1 разработчика, работа без git становится адом.
Напротив, если все члены команды хорошо владеют VCS, у вас никогда не возникнет головной боли от обновления версий кода или потерянных изменений.
Эти команды вы должны знать и уметь пользоваться в консоли: git branch, git fetch, git checkout, git pull, git push, git reset, git revert, git rebase, git merge, git stash и, возможно, некоторые другие.
Да, кто-то может обоснованно возразить: зачем, ведь есть IDE и встроенные функции?
Все верно, многие ими пользуются и это есть хорошо (я в том числе). Однако, есть два важных момента:
- Вы обязаны знать что именно происходит, когда вы нажимаете на кнопку “Rebase” или любую другую. Это поможет понимать суть происходящего и в случае необходимости решить проблемы в ручном режиме.
IDE есть не везде.
- Иногда вам нужно будет работать с удаленным сервером через терминал.
Конечно же, знать наизусть аргументы всех функций невозможно, да и не нужно. Однако, у вас должно быть точное понимание принципов работы основных git команд. Хороший идея - иметь под рукой собственный документ-шпаргалку.
Не обязательно, но может быть полезно посмотреть подход gitflow.
Иииии… Все на сегодня. Продолжение следует
Волк-одиночка - это плохо. Основы командной работы. Git, стандарты оформления кода.
Вы уже слышали о PSR-1, PSR-12? Да, я знаю, что к таким вещам лучше привыкать сразу. Но на практике вижу, что речь об оформлении кода заходит в основном тогда, когда код нужно кому-то показывать. В большинстве осмысленных проектов приняты некоторые стандарты оформления кода. Как правильно это PSR-1 и PSR-12 (PSR-2 - не так давно устарел).
На самом деле вам совсем не нужно знать наизусть все тонкости. Достаточно будет одного прочтения документации по стандартам. А соблюдать эти самые стандарты вам помогут специальные инструменты, например PHP_CodeSniffer и разнообразные плагины для PHPStorm.
Кстати, плохо оформленный код - признак того, что человек, скорее всего, еще не имел опыта работы в команде, а также одна из популярных причин забраковать тестовое задание.
Кстати, я надеюсь вы используете PHP Storm? Если нет, самое время переходить ✅
Sublime, brackets, netbeans и другие IDE очень от него отстали и не очень хорошо подходят для профессиональной разработки.
Git. Как не странно, но до какого-то момента можно успешно работать и без системы контроля версий. Но, как только в проекте появляется > 1 разработчика, работа без git становится адом.
Напротив, если все члены команды хорошо владеют VCS, у вас никогда не возникнет головной боли от обновления версий кода или потерянных изменений.
Эти команды вы должны знать и уметь пользоваться в консоли: git branch, git fetch, git checkout, git pull, git push, git reset, git revert, git rebase, git merge, git stash и, возможно, некоторые другие.
Да, кто-то может обоснованно возразить: зачем, ведь есть IDE и встроенные функции?
Все верно, многие ими пользуются и это есть хорошо (я в том числе). Однако, есть два важных момента:
- Вы обязаны знать что именно происходит, когда вы нажимаете на кнопку “Rebase” или любую другую. Это поможет понимать суть происходящего и в случае необходимости решить проблемы в ручном режиме.
IDE есть не везде.
- Иногда вам нужно будет работать с удаленным сервером через терминал.
Конечно же, знать наизусть аргументы всех функций невозможно, да и не нужно. Однако, у вас должно быть точное понимание принципов работы основных git команд. Хороший идея - иметь под рукой собственный документ-шпаргалку.
Не обязательно, но может быть полезно посмотреть подход gitflow.
Иииии… Все на сегодня. Продолжение следует
PHP Center via @like
Шаг 4⃣
Становимся немножко DevOps. Углубляемся в основы функционирования операционной системы, виртуализации.
Под операционной системой, конечно же, я имею в виду Linux. Вы не обязаны пользоваться Linux в качестве основной рабочей ОС. Но эта операционная система будет использоваться для ваших приложений: веб-сервера, базы данных и т.д.
Что нужно обязательно знать и уметь:
- Общее понятие о дистрибутивах Linux.
- Базовые навыки работы в терминале.
- Умение работать с пакетами (packages): установка, обновление, удаление.
- Пользователи системы (группы, права).
- Файловая система.
- Освоить на базовом уровне один из популярных консольных редакторов: (nano, vim, emacs,...): уметь открыть, создать, редактировать, сохранить файл. Лично мне больше всего по душе nano. Он очень простой, но его функций мне хватает ровно на 100%. Рекомендую.
- ssh, curl и как ими пользоваться.
- Научиться использовать планировщик заданий cron. Многие задачи в работающих проектах выполняются по расписанию (например, еженедельная отправка отчетов по почте), потому умение обращаться с планировщиком очень актуально.
- Писать простые bash скрипты.
Можно еще много чего написать, но это - основное.
После того, как вы подружитесь с Linux, можно браться за Docker. При условии, что вы более или менее освоили Linux, разобраться с Docker будет намного проще.
Необходимо:
- Знать что такое image, container, volume, network (в контексте Docker).
- Уметь написать собственные Dockerfile, build image, публиковать их на docker hub.
- Научиться работать с docker-compose.
- Понимать что такое host, port, socket, как контейнеры “общаются” между собой.
Как учить? Я бы рекомендовал по каждой теме (отдельно linux, отдельно Docker) найти источник информации (книга, видеокурс, блог) в котором будут затронуты перечисленные темы. Если глубины материала недостаточно, обращаться к другим источникам.
Помните: худшее, что вы можете для себя сделать - это учить наизусть все тонкости! Учить нужно принципы, а мелкие детали заносить в структурированную шпаргалку. Со временем шпаргалка станет не нужна.
Становимся немножко DevOps. Углубляемся в основы функционирования операционной системы, виртуализации.
Под операционной системой, конечно же, я имею в виду Linux. Вы не обязаны пользоваться Linux в качестве основной рабочей ОС. Но эта операционная система будет использоваться для ваших приложений: веб-сервера, базы данных и т.д.
Что нужно обязательно знать и уметь:
- Общее понятие о дистрибутивах Linux.
- Базовые навыки работы в терминале.
- Умение работать с пакетами (packages): установка, обновление, удаление.
- Пользователи системы (группы, права).
- Файловая система.
- Освоить на базовом уровне один из популярных консольных редакторов: (nano, vim, emacs,...): уметь открыть, создать, редактировать, сохранить файл. Лично мне больше всего по душе nano. Он очень простой, но его функций мне хватает ровно на 100%. Рекомендую.
- ssh, curl и как ими пользоваться.
- Научиться использовать планировщик заданий cron. Многие задачи в работающих проектах выполняются по расписанию (например, еженедельная отправка отчетов по почте), потому умение обращаться с планировщиком очень актуально.
- Писать простые bash скрипты.
Можно еще много чего написать, но это - основное.
После того, как вы подружитесь с Linux, можно браться за Docker. При условии, что вы более или менее освоили Linux, разобраться с Docker будет намного проще.
Необходимо:
- Знать что такое image, container, volume, network (в контексте Docker).
- Уметь написать собственные Dockerfile, build image, публиковать их на docker hub.
- Научиться работать с docker-compose.
- Понимать что такое host, port, socket, как контейнеры “общаются” между собой.
Как учить? Я бы рекомендовал по каждой теме (отдельно linux, отдельно Docker) найти источник информации (книга, видеокурс, блог) в котором будут затронуты перечисленные темы. Если глубины материала недостаточно, обращаться к другим источникам.
Помните: худшее, что вы можете для себя сделать - это учить наизусть все тонкости! Учить нужно принципы, а мелкие детали заносить в структурированную шпаргалку. Со временем шпаргалка станет не нужна.
PHP Center via @like
5⃣ Вопросы - ответы
❔ English - Да
Чем лучше вы знаете английский язык, тем более качественная и актуальная информация вам доступна. Не буду утверждать, что нельзя научиться программировать не зная английского - можно. Но чем более глубокими будут ваши знания по программированию, тем тяжелее будет находить переведенную информацию, порой и вовсе невозможно.
❔ JavaScript (TS), frontend frameworks - Нет
Замечание: JavaScript (TS) - это очень хороший и интересный язык. Стоит ли с ним ознакомиться - однозначно. Это полезно и увлекательно. Но, если вы видите себя в роли backend разработчика, будьте им. Не нужно распыляться и тратить большое количество сил и времени на другие области.
❔ HTML, CSS - Нет
Расскажу личную историю. В 2010 году, когда я только начал серьезно интересоваться web-разработкой, интернет был совершенно другим. Мне пришлось потратить многие месяцы на изучение HTML, CSS (их принципы, тонкости, свойства, хитрые трюки). И все для того, чтоб просто сверстать сайт. Через несколько лет все эти знания стали бесполезным мусором.
Повторюсь: если вы видите себя в роли backend разработчика, будьте им.
❔ CMS - Нет
Можно ли зарабатывать деньги работая с CMS? Да!
Существуют ли среди CMS удачные решения актуальных проблем? Конечно!
Однако, по моему субъективному мнению, CMS - это не про инжиниринг. Большинство популярных систем управления контентом (WordPress, Joomla, 1С, …) - это какая-то альтернативная, не очень удачная с технической точки зрения ветка эволюции 😀
❓ Что еще можно посмотреть, изучить?
Если у вас есть достаточный запас времени, посмотрите гарвардский Computer Science 50. Особенно полезным он будет в случае, если у вас нет профильного образования и вы хотите заполнить пробелы.
Good luck, have fun 🐘
❔ English - Да
Чем лучше вы знаете английский язык, тем более качественная и актуальная информация вам доступна. Не буду утверждать, что нельзя научиться программировать не зная английского - можно. Но чем более глубокими будут ваши знания по программированию, тем тяжелее будет находить переведенную информацию, порой и вовсе невозможно.
❔ JavaScript (TS), frontend frameworks - Нет
Замечание: JavaScript (TS) - это очень хороший и интересный язык. Стоит ли с ним ознакомиться - однозначно. Это полезно и увлекательно. Но, если вы видите себя в роли backend разработчика, будьте им. Не нужно распыляться и тратить большое количество сил и времени на другие области.
❔ HTML, CSS - Нет
Расскажу личную историю. В 2010 году, когда я только начал серьезно интересоваться web-разработкой, интернет был совершенно другим. Мне пришлось потратить многие месяцы на изучение HTML, CSS (их принципы, тонкости, свойства, хитрые трюки). И все для того, чтоб просто сверстать сайт. Через несколько лет все эти знания стали бесполезным мусором.
Повторюсь: если вы видите себя в роли backend разработчика, будьте им.
❔ CMS - Нет
Можно ли зарабатывать деньги работая с CMS? Да!
Существуют ли среди CMS удачные решения актуальных проблем? Конечно!
Однако, по моему субъективному мнению, CMS - это не про инжиниринг. Большинство популярных систем управления контентом (WordPress, Joomla, 1С, …) - это какая-то альтернативная, не очень удачная с технической точки зрения ветка эволюции 😀
❓ Что еще можно посмотреть, изучить?
Если у вас есть достаточный запас времени, посмотрите гарвардский Computer Science 50. Особенно полезным он будет в случае, если у вас нет профильного образования и вы хотите заполнить пробелы.
Good luck, have fun 🐘
PHP Center via @like
Привет!
Практически каждый день я просматриваю резюме разработчиков и примерно раз в неделю провожу собеседования.
Появилась идея сделать большой пост о том, как писать резюме. Интересно? Голосуйте 👍👎
А пока, чтоб вы не скучали, новости из мира PHP 🐘
https://habr.com/p/472306/
Практически каждый день я просматриваю резюме разработчиков и примерно раз в неделю провожу собеседования.
Появилась идея сделать большой пост о том, как писать резюме. Интересно? Голосуйте 👍👎
А пока, чтоб вы не скучали, новости из мира PHP 🐘
https://habr.com/p/472306/
Habr
PHP-Дайджест № 166 (7 – 21 октября 2019)
Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4 RC4 и другие релизы, новости из PHP Internals, порция полезных инструментов, стримы, видео с конференций, подкасты и многое...
Резюме Software Engineer 📄
В интернете вы найдете множество рекомендаций о том, как составить резюме. Большинство этих материалов написаны рекрутерами, менеджерами, копирайтерами, блогерами. Не готов судить хорошо это или плохо. Хочу лишь донести до инженеров точку зрения человека, который действительно оценивает CV и принимает решение о продолжении или прекращении процесса найма.
В этом посте вы узнаете:
- Какая информация должна быть в резюме
- Почему резюме на 1 страницу - булшит
- О чем говорить не нужно
- Что написать начинающим
Сначала я пройдусь по основным блокам и дам информацию. Порядок блоков важен.
1⃣ Общая информация:
- Имя, фамилия
- Город
- Email
- Номер телефона
❔ Стоит ли добавить фотографию
Если есть приличная фотка, добавляйте. Если нет, ничего страшного.
2⃣ Цель / Позиция.
Четко определитесь и укажите позицию, на которую претендуете: trainee, senior software engineer, team lead и т.д.
Указывать ли зарплатные ожидания? Решать вам.
Вопрос достаточно личный, потому я предпочитаю оговаривать его позже.
3⃣ Summary
Напишите два-три предложения о себе.
Веб-разработчик с опытом работы 6 лет. Работал с микросервисной архитектурой и распределенными системами. Есть опыт работы в качестве team lead.
4⃣ Ключевые навыки.
Читать резюме будет инженер, но поиском занимается recruiter / researcher. Этот человек должен увидеть все сильные стороны кандидата в одном блоке и на первой странице.
Здесь нужно указать технологии, которыми вы владеете на уровне production. Т.е. использовали в работающем проекте. В идеале это список из 7-12 технологий, которые являются определяющими в вашей специализации. Конечно же, в вашем активе может быть больше технологий / инструментов / опыта. Но не нужно писать в key skills весь перечень, вы сможете их вписать в описание опыта работы.
В интернете вы найдете множество рекомендаций о том, как составить резюме. Большинство этих материалов написаны рекрутерами, менеджерами, копирайтерами, блогерами. Не готов судить хорошо это или плохо. Хочу лишь донести до инженеров точку зрения человека, который действительно оценивает CV и принимает решение о продолжении или прекращении процесса найма.
В этом посте вы узнаете:
- Какая информация должна быть в резюме
- Почему резюме на 1 страницу - булшит
- О чем говорить не нужно
- Что написать начинающим
Сначала я пройдусь по основным блокам и дам информацию. Порядок блоков важен.
1⃣ Общая информация:
- Имя, фамилия
- Город
- Номер телефона
❔ Стоит ли добавить фотографию
Если есть приличная фотка, добавляйте. Если нет, ничего страшного.
2⃣ Цель / Позиция.
Четко определитесь и укажите позицию, на которую претендуете: trainee, senior software engineer, team lead и т.д.
Указывать ли зарплатные ожидания? Решать вам.
Вопрос достаточно личный, потому я предпочитаю оговаривать его позже.
3⃣ Summary
Напишите два-три предложения о себе.
Веб-разработчик с опытом работы 6 лет. Работал с микросервисной архитектурой и распределенными системами. Есть опыт работы в качестве team lead.
4⃣ Ключевые навыки.
Читать резюме будет инженер, но поиском занимается recruiter / researcher. Этот человек должен увидеть все сильные стороны кандидата в одном блоке и на первой странице.
Здесь нужно указать технологии, которыми вы владеете на уровне production. Т.е. использовали в работающем проекте. В идеале это список из 7-12 технологий, которые являются определяющими в вашей специализации. Конечно же, в вашем активе может быть больше технологий / инструментов / опыта. Но не нужно писать в key skills весь перечень, вы сможете их вписать в описание опыта работы.
5⃣ 🔥 Опыт работы.
Самый важный блок. Здесь вы должны перечислить несколько последних мест работы с релевантным опытом. Я приведу общий шаблон и также отвечу на основные вопросы.
👉 Информация о компании:
- Название
- Краткое описание - 1 предложение.
Например:
LLC Nasty Elephant
Nasty Elephant разрабатывает продукт для учета рабочего времени: “My Tracker”
👉 Позиция
Frontend Developer
👉 Даты и общий срок работы.
2018-01-01 - 2019-02-15 (1 год и 2 месяца)
Обязательно напишите в скобках сколько времени всего отработали.
👉 Обязанности
Чем вы занимались на данном месте работы. Минимум 3 пункта, лучше 5.
- Оптимизация работы базы данных для системы закупок.
- Поддержка и мониторинг существующих проектов компании.
- Миграция проекта с PHP 5.6 на PHP 7.3.
- Интеграция с платежными системами: PayPal, Stripe, ...
- Разработка телеграм-ботов.
Часто я слышу фразу: “Сказать особо нечего…”. Серьезно? В месяц вы пишите тысячи строка кода. Подумайте, вам есть что рассказать.
👉 Достижения 🔥
Ради этого пункта я затеял данный пост. Это сердце вашего резюме.
Чаще всего описание опыта работы сводится к “работал над …”, а информация о достижениях, к сожалению, отсутствует. А зря. Не стесняйтесь рассказать о своих достижениях (3-5 пунктов к каждому месту работы). Обязательно пишите правду. Например:
- Провел оптимизацию запросов и конфигурацию базы данных, что позволило ускорить работу API в среднем на 30%.
- Внедрил CircleCI для автоматического запуска Unit тестов, что позволило уменьшить количество ошибок на production.
- Предложил и успешно перенес приложение на ... фреймворк, за счет чего удалось значительно увеличить скорость разработки новых фич.
👉 Технологии
Здесь можете перечислить технологии с которыми пришлось работать на проекте. Этот пункт даст понимание работодателю об актуальности ваших знаний.
❓ Вопросы к блоку “Опыт работы”
Что если мест работы очень много?
Выберите наиболее значимый и релевантный опыт.
Что если опыта нет вообще?
Это вообще тема для отдельного поста, но если в двух словах:
- Выберите один из популярных веб-сервисов (файлообменник, социальная сеть, туристический сайт) и попробуйте построить его упрощенную копию (очень упрощенную).
- Определите несколько (2-3) основных фичи.
- Реализуйте проект.
- Купите доменное имя и хостинг, задеплойте проект.
- Залейте код на github. Проведите самостоятельный code-review. Еще лучше - попросите посмотреть код кого-то более опытного в разработке. Внесите исправления в код по необходимости.
- Опишите что и как вам удалось сделать в этом тренировочном проекте, приложите ссылку на github.
PHP Center via @like
6⃣ Образование
В этом блоке можно и нужно писать мало.
Напишите кратко об учебном заведении:
- Название
- Специальность
- Год окончания
Если у вас есть релевантные сертификаты в области computer science, тоже укажите их в этом блоке. Под релевантными я имею ввиду сертификации от aws, microsoft, cisco, zend и т.д.
Если вы начинающий разработчик, можете указать какие курсы проходили (coursera, udemy, …).
7⃣ Дополнительная информация
Просто напишите о себе без стандартных шаблонов.
Если у вас есть блог или персональные проекты - можете добавить ссылки.
Не пишите про водительское удостоверение категории B,C (и такое бывает). Это лишнее.
❓ Дополнительные вопросы
Оформление и специальные “сервисы” для создания резюме
Мы занимается софтом, не дизайном и типографикой. Вам не нужно цветное резюме с “красивым” оформлением.
Еще одна вещь, от которой стоит избавиться - это уровень владения: 6 из 8 точек или еще какая-то шкала. Это субъективная оценка, которая не дает абсолютно ничего.
Почему резюме на 1 страницу - булшит?
Кто-то создал этот миф. Возможно, в ряде случаев такой подход даже принесет пользу. Но не в случае с разработчиком ПО.
Суть мифа заключается в том, что собеседующий может быстро провести оценку резюме и принять решение. Это хорошо подходит в случае вакансии, где описание опыта работы само собой подразумевается (например, водитель-дальнобойщик).
У инженеров все наоборот. Не надо сокращать. Резюме на 3-4 страницы - это хорошо. На моей памяти был человек, который написал резюме на 9(!) страниц с осмысленным, детальным описанием опыта работы. Он прошел собеседование :)
30+ технологий
Иногда попадаются резюме, в которых указано вот очень много key skills, штук 30-40. Java, Python, PHP, Go, Python, C++, C# и еще штук 15 популярных языков программирования. К сожалению, практически всегда это преувеличение. Пишите о том, в чем уверены.
Указывать ли ссылку на гитхаб
Если есть что показать - прикрепите ссылку. Но убедитесь, что уровень проектов в соответствует позиции, на которую вы претендуете.
На этом все. Удачи вам 🙃
В этом блоке можно и нужно писать мало.
Напишите кратко об учебном заведении:
- Название
- Специальность
- Год окончания
Если у вас есть релевантные сертификаты в области computer science, тоже укажите их в этом блоке. Под релевантными я имею ввиду сертификации от aws, microsoft, cisco, zend и т.д.
Если вы начинающий разработчик, можете указать какие курсы проходили (coursera, udemy, …).
7⃣ Дополнительная информация
Просто напишите о себе без стандартных шаблонов.
Если у вас есть блог или персональные проекты - можете добавить ссылки.
Не пишите про водительское удостоверение категории B,C (и такое бывает). Это лишнее.
❓ Дополнительные вопросы
Оформление и специальные “сервисы” для создания резюме
Мы занимается софтом, не дизайном и типографикой. Вам не нужно цветное резюме с “красивым” оформлением.
Еще одна вещь, от которой стоит избавиться - это уровень владения: 6 из 8 точек или еще какая-то шкала. Это субъективная оценка, которая не дает абсолютно ничего.
Почему резюме на 1 страницу - булшит?
Кто-то создал этот миф. Возможно, в ряде случаев такой подход даже принесет пользу. Но не в случае с разработчиком ПО.
Суть мифа заключается в том, что собеседующий может быстро провести оценку резюме и принять решение. Это хорошо подходит в случае вакансии, где описание опыта работы само собой подразумевается (например, водитель-дальнобойщик).
У инженеров все наоборот. Не надо сокращать. Резюме на 3-4 страницы - это хорошо. На моей памяти был человек, который написал резюме на 9(!) страниц с осмысленным, детальным описанием опыта работы. Он прошел собеседование :)
30+ технологий
Иногда попадаются резюме, в которых указано вот очень много key skills, штук 30-40. Java, Python, PHP, Go, Python, C++, C# и еще штук 15 популярных языков программирования. К сожалению, практически всегда это преувеличение. Пишите о том, в чем уверены.
Указывать ли ссылку на гитхаб
Если есть что показать - прикрепите ссылку. Но убедитесь, что уровень проектов в соответствует позиции, на которую вы претендуете.
На этом все. Удачи вам 🙃
PHP Center via @like
30 мая 2020 в Киеве состоится большая конференция для PHP разработчиков:
Только что была открыта регистрация и я уже купил билет. Go ;)
http://bit.ly/2Kga7ib
Только что была открыта регистрация и я уже купил билет. Go ;)
http://bit.ly/2Kga7ib
Забавные истории: Git
Наверняка вы слышали или работаете с этой системой контроля версий.
На английском сленге git означает «мерзавец»
У Git интересная история и она связана с разработкой ядра Linux.
В 2005 году над ядром Linux активно трудились тысячи программистов. Для совместной разработки использовался BitKeeper (платная система контроля версий). Однако, автор BitKeeper предоставил проекту Linux бесплатную лицензию.
В ходе работы над Linux разработчикам не хватало некоторых возможностей в BitKeeper и они написали несколько сопутствующих утилит. Автор BitKeeper посчитал это нарушением соглашения и отозвал бесплатную лицензию.
Линус Торвальдс взялся за создание новой системы контроля версий, так как ни одна из существующих открытых систем не позволяла решить задачу разработки.
Из wiki:
Начальная разработка велась меньше, чем неделю: 3 апреля 2005 года разработка началась, и уже 7 апреля код Git управлялся неготовой системой. 16 июня Linux был переведён на Git, а 25 июля Торвальдс отказался от обязанностей ведущего разработчика.
Круто ведь? 🔥
Торвальдс так саркастически отозвался о выбранном им названии:
Я эгоистичный ублюдок, и поэтому называю все свои проекты в честь себя. Сначала Linux, теперь git.
Наверняка вы слышали или работаете с этой системой контроля версий.
На английском сленге git означает «мерзавец»
У Git интересная история и она связана с разработкой ядра Linux.
В 2005 году над ядром Linux активно трудились тысячи программистов. Для совместной разработки использовался BitKeeper (платная система контроля версий). Однако, автор BitKeeper предоставил проекту Linux бесплатную лицензию.
В ходе работы над Linux разработчикам не хватало некоторых возможностей в BitKeeper и они написали несколько сопутствующих утилит. Автор BitKeeper посчитал это нарушением соглашения и отозвал бесплатную лицензию.
Линус Торвальдс взялся за создание новой системы контроля версий, так как ни одна из существующих открытых систем не позволяла решить задачу разработки.
Из wiki:
Начальная разработка велась меньше, чем неделю: 3 апреля 2005 года разработка началась, и уже 7 апреля код Git управлялся неготовой системой. 16 июня Linux был переведён на Git, а 25 июля Торвальдс отказался от обязанностей ведущего разработчика.
Круто ведь? 🔥
Торвальдс так саркастически отозвался о выбранном им названии:
Я эгоистичный ублюдок, и поэтому называю все свои проекты в честь себя. Сначала Linux, теперь git.
👍2
PHP Center via @like
Дабы не отрывать вас от оливье 🙈, поздравляю с наступающим Новым годом! Пусть ваши знания, софт и железо всегда будут актуальными!
Заодно делюсь ссылкой (все еще полезной):
https://roadmap.sh/roadmaps
Надеюсь, это поможет вам найти ориентиры и не потеряться в 2020 году
Заодно делюсь ссылкой (все еще полезной):
https://roadmap.sh/roadmaps
Надеюсь, это поможет вам найти ориентиры и не потеряться в 2020 году
roadmap.sh
Developer Roadmaps
Step by step guides and paths to learn different tools or technologies
PHP Center via @like
Breaking news
Онлайн конференция PHP fwdays 2020 состоится уже совсем скоро - 30 и 31 мая!
На этой конференции я прочитаю доклад на тему "MySQL, который мы не знаем" (на русском языке)
Промо-код на скидку 15% - 6F1C7999F4
https://fwdays.com/en/event/php-fwdays-2020/review/things-you-dont-know-about-mysql
Добро пожаловать!
Онлайн конференция PHP fwdays 2020 состоится уже совсем скоро - 30 и 31 мая!
На этой конференции я прочитаю доклад на тему "MySQL, который мы не знаем" (на русском языке)
Промо-код на скидку 15% - 6F1C7999F4
https://fwdays.com/en/event/php-fwdays-2020/review/things-you-dont-know-about-mysql
Добро пожаловать!
Fwdays
Things you don’t know about MySQL [ru]
Fwdays - large-scale tech conferences, meetups and workshops for developers on JavaScript, Frontend, PHP, .NET, Highload, PM in Ukraine
PHP Center via @like
Конференция Авторов PHP fwdays'20 | Special edition, 6 июня 2020 🌟
Спикеры - авторы фреймворков, авторы книг, авторы библиотек, авторы PHP RFC, члены глобальных комьюнити и инженеры:
Sebastian Bergmann, Никита Попов, Jordi Boggiano, Rob Allen, Cal Evans, Marco Pivetta и Beth Tucker Long.
Встретятся 6 июня на PHP fwdays'20 | Special edition, чтобы представить свежие темы, ответить на ваши вопросы и дать развернутые интервью PHP-сообществу 💪
Присоединяйтесь 👉 https://bit.ly/3gPhqfr
Промо код на скидку 15%: E1995A5F3E
Спикеры - авторы фреймворков, авторы книг, авторы библиотек, авторы PHP RFC, члены глобальных комьюнити и инженеры:
Sebastian Bergmann, Никита Попов, Jordi Boggiano, Rob Allen, Cal Evans, Marco Pivetta и Beth Tucker Long.
Встретятся 6 июня на PHP fwdays'20 | Special edition, чтобы представить свежие темы, ответить на ваши вопросы и дать развернутые интервью PHP-сообществу 💪
Присоединяйтесь 👉 https://bit.ly/3gPhqfr
Промо код на скидку 15%: E1995A5F3E
Fwdays
PHP fwdays'20 | Special edition
Fwdays - large-scale tech conferences, meetups and workshops for developers on JavaScript, Frontend, PHP, .NET, Highload, PM in Ukraine
Forwarded from PHP Digest
25 лет PHP и скидка 50% на PhpStorm
8 июня 1995 года, программист родом из Гренландии Расмус Лердорф публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools.
Иногда говорят, что первые версии PHP были написаны на Perl. Это, конечно же, неправда.
Главные факты и события из 25 лет истории PHP смотрите в таймлайне.
https://jb.gg/php25
Заревьюить и дополнить его помогли непосредственные участники событий: Andi Gutmans, Derick Rethans, Peter Kokot, Александр Макаров, Дмитрий Стогов и другие.
Еще 27 мая исполнилось 10 лет PhpStorm. Чтоб отметить сразу два дня рождения делаем скидку 50% на персональную годовую подписку. FAQ по скидке на Хабре.
С днем рождения PHP!
8 июня 1995 года, программист родом из Гренландии Расмус Лердорф публикует в usenet анонс набора CGI-скриптов, который он назвал PHP Tools.
Иногда говорят, что первые версии PHP были написаны на Perl. Это, конечно же, неправда.
Главные факты и события из 25 лет истории PHP смотрите в таймлайне.
https://jb.gg/php25
Заревьюить и дополнить его помогли непосредственные участники событий: Andi Gutmans, Derick Rethans, Peter Kokot, Александр Макаров, Дмитрий Стогов и другие.
Еще 27 мая исполнилось 10 лет PhpStorm. Чтоб отметить сразу два дня рождения делаем скидку 50% на персональную годовую подписку. FAQ по скидке на Хабре.
С днем рождения PHP!
PHP Center via @like
Запись моего доклада на конференции PHP fwdays'20:
"MySQL который мы не знаем. Мониторинг MySQL c Prometheus, Grafana, Anemometer"
https://www.youtube.com/watch?v=02UuCVJ2_cA&lc=Ugwdu1DYEj5O0bDQj_F4AaABAg
Код и тестовый стенд из доклада (попробуйте самостоятельно):
https://github.com/helters/mysql-playground
Много других интересных докладов можно бесплатно посмотреть на канале fwdays: https://www.youtube.com/user/fwdays/videos
"MySQL который мы не знаем. Мониторинг MySQL c Prometheus, Grafana, Anemometer"
https://www.youtube.com/watch?v=02UuCVJ2_cA&lc=Ugwdu1DYEj5O0bDQj_F4AaABAg
Код и тестовый стенд из доклада (попробуйте самостоятельно):
https://github.com/helters/mysql-playground
Много других интересных докладов можно бесплатно посмотреть на канале fwdays: https://www.youtube.com/user/fwdays/videos
YouTube
MySQL который мы не знаем. Мониторинг MySQL c Prometheus, Grafana, Anemometer
Видео с онлайн-конференции PHP fwdays'20, которая прошла 30 мая 2020 года.
Страница доклада и презентации:
https://fwdays.com/event/php-fwdays-2020/review/things-you-dont-know-about-mysql
Код и тестовый стенд из доклада (попробуйте самостоятельно):
htt…
Страница доклада и презентации:
https://fwdays.com/event/php-fwdays-2020/review/things-you-dont-know-about-mysql
Код и тестовый стенд из доклада (попробуйте самостоятельно):
htt…
PHP Center via @like
AWS re:Invent – это бесплатная онлайн конференция по обучению для международного сообщества облачных вычислений. На мероприятии будут представлены важные объявления, возможности для обучения и сертификации, доступ к более чем 2500 техническим семинарам, выставка партнеров, вечерние мероприятия и многое другое.
https://reinvent.awsevents.com/
https://reinvent.awsevents.com/
Awsevents
AWS re:Invent 2025 | December 1 – 5, 2025
Build the future with us at AWS re:Invent, Dec 1 – 5, 2025 in Las Vegas, NV. Learn new skills, take home proven strategies, make lifelong connections.
Уже совсем скоро, 4 сентября, пройдет самая большая и самая популярная в Украине конференция для PHP разработчиков — 𝗣𝗛𝗣 𝗳𝘄𝗱𝗮𝘆𝘀’𝟮𝟭🔥
https://bit.ly/php-fwdays-z
📆 Событие пройдет 4 сентября (суббота) и в будние дни с дополнительными форматами.
На девятой конференции PHP fwdays'21 будут местные и международные эксперты в сфере PHP, дискуссии с ТОП-специалистами, разбор актуальных кейсов
Спикеры расскажут о:
🔹 Fault tolerant workflow orchestration on PHP
🔹 Serverless. Реальный опыт успешного переноса Laravel микросервисов в AWS Lambda при помощи Vapor
🔹 Анализ и Дизайн-Принципы в ООП. Проблема запрета наследования в однопоточном PHP
🔹 Автор PHPUnit Sebastian Bergmann расскажет о том как качественно организовать и оптимизировать ваши Test Suits
А также практичный воркшоп Kubernetes for Developers, на котором вы узнаете как K8s упрощает жизнь для разработчиков.
Варианты участия:
🔹 Free Online (бесплатно, только трансляция),
🔹 Full Online (дополнительные опции, смотрите видео когда вам удобно),
🔹 Online Full Swag (для ценителей программерских футболок (отправка только по Украине)).
Детали по ссылке ➡️ https://bit.ly/php-fwdays-z
Используйте промокод InfopZin (5% скидка) при покупке Full Online или Online Full Swag билета или зарегистрируйтесь бесплатно 👉
https://bit.ly/php-fwdays-z
📆 Событие пройдет 4 сентября (суббота) и в будние дни с дополнительными форматами.
На девятой конференции PHP fwdays'21 будут местные и международные эксперты в сфере PHP, дискуссии с ТОП-специалистами, разбор актуальных кейсов
Спикеры расскажут о:
🔹 Fault tolerant workflow orchestration on PHP
🔹 Serverless. Реальный опыт успешного переноса Laravel микросервисов в AWS Lambda при помощи Vapor
🔹 Анализ и Дизайн-Принципы в ООП. Проблема запрета наследования в однопоточном PHP
🔹 Автор PHPUnit Sebastian Bergmann расскажет о том как качественно организовать и оптимизировать ваши Test Suits
А также практичный воркшоп Kubernetes for Developers, на котором вы узнаете как K8s упрощает жизнь для разработчиков.
Варианты участия:
🔹 Free Online (бесплатно, только трансляция),
🔹 Full Online (дополнительные опции, смотрите видео когда вам удобно),
🔹 Online Full Swag (для ценителей программерских футболок (отправка только по Украине)).
Детали по ссылке ➡️ https://bit.ly/php-fwdays-z
Используйте промокод InfopZin (5% скидка) при покупке Full Online или Online Full Swag билета или зарегистрируйтесь бесплатно 👉
Fwdays
PHP fwdays'21- найбільша PHP конференція в Україні
Fwdays - large-scale tech conferences, meetups and workshops for developers on JavaScript, Frontend, PHP, .NET, Highload, PM in Ukraine