что должен знать middle php разработчик

16 вопросов мидлу: что должен знать Middle-разработчик

16 вопросов мидлу: что должен знать Middle-разработчик

Что должен знать Middle-разработчик? Этот вопрос актуален как для тех, кто претендует на вакансию мидла, так и для тех, кто посматривает в сторону продвижения.

Стоит отметить, что несмотря на то что в IT выработана шкала для оценки программистов (trainee, junior, middle, senior, lead), с которой более или менее все согласны, с точным определением каждого уровня общего мнения среди компаний пока нет. Поэтому каждая компания устанавливает внутренние требования к навыкам каждого уровня.

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

Позиция Middle-разработчика предполагает не только уверенное знание языка программирования, но и широчайшие познания в смежных технологиях. Позиция Middle накладывает на специалиста ответственность не только программировать «всё что угодно», но и обучать, оптимизировать код, разбирать и поддерживать чужой код, как будто родной. Фактически сейчас для вакансий Middle-разработчика предъявляются требования, как несколько лет назад для Senior.

Мы выяснили, что должен знать Middle-программист в 2020 году, и собрали общие вопросы с собеседований, по ответам на которые работодатели определяют, «дорос» кандидат до мидла или нет.

Hard skills

Каков ваш уровень владения языком программирования и сопутствующими инструментами?

От программиста-джуна ожидается знание всех конструкций языка, знание большей части стандартной библиотеки. Знакомство с фреймворками (хотя бы с одним), инструментами коллективной разработки (систем контроля версий, таск- и баг- трекеров, естественно, IDE и др.). Требования к мидлам существенно выше. Как правило, ожидается доскональное знание базы (в том числе синтаксиса используемых языков), опыт работы и уверенные теоретические знания стандартных библиотек, необходимых фреймворков и инструментов.

В каких проектах вы участвовали? Сколько из них вели сами?

Не стоит удивляться: опытные джуниоры уже вполне могут вести свои проекты. Не без поддержки более опытных коллег, но это не отменяет самостоятельности младшего разработчика. Так что если вы продвигаетесь по карьерной лестнице, в вашем портфолио уже должны поселиться свои проекты.

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

Каков ваш навык работы с базами данных?

Работаете с бэкендом? В таком случае вы должны свободно обращаться к базам данных, иметь навыки работы с одной или несколькими СУБД.

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

Это основное из того, что должен знать Middle-разработчик. Не стоит забывать и о нормализации, денормализации и характеристиках каждой нормальной формы.

Расскажите о своём уровне владения выбранной IDE

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

Другие технические навыки

Тут всё зависит от конкретной специальности, но эксперты сходятся в том, что знания должны быть продвинутыми: больше, чем одна библиотека и пара хинтов.

Что касается технических навыков Middle-разработчика по frontend JavaScript, то специалист такого уровня должен:

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

Самое важное для мидла, это знать, как изнутри работает используемая тобой технология, твой фреймворк. Не то, как он производит рендер (с помощью VDOM и т. п.), а как код написан, как происходит магия. Открой GitHub, посмотри исходники React, как, например, this.setState заставляет компонент делать рендер.

Какие методологии разработки вы знаете? По каким из них работали?

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

Что ещё должен знать Middle-разработчик

Soft skills

Насколько вы коммуникабельны?

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

Думаю, что Middle-программист не должен принимать решения по архитектуре проекта, согласовывать требования с заказчиком и решать вопросы по блокерам, так как это входит в компетенции аналитика, PM и сеньора.

Несмотря на это, во многих компаниях перед мидлом часто ставится задача самостоятельно разобраться, чего хочет заказчик, как решить его проблему и какую архитектуру построить. На базе этих сведений формируется полноценное ТЗ, которое затем передаётся команде разработчиков.

Ваши навыки работы в команде

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

Умеете ли вы разрешать конфликты?

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

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

Каков ваш уровень английского языка?

Уровень владения английским языком Middle-программиста должен быть не ниже Upper-Intermediate, так как этот специалист постоянно участвует в созвонах, конференциях, должен свободно читать и составлять техническую документацию.

Способны ли вы доступно доносить свои идеи, убеждать в их правильности?

Что касается «софтскиллс», они необходимы для выполнения многочисленных ролей в команде — разработчик, ментор, докладчик, тимлид и другие. Что для этого понадобится специалисту? Убеждать коллег и клиентов. Иногда даже продавать — идеи, решения, преимущества. Презентовать свои идеи. Обучать. Планировать свою деятельность, ставить задачи перед подчинёнными, контролировать их выполнение. Для этого и много другого нужно развивать соответствующие навыки.

Можно ли вас охарактеризовать, как внимательного человека?

Очень хорошее качество, которое надо развивать разработчику, — это внимательность. Она позволит вовремя заметить, что с «канарейкой» что-то не то. Грамотный Middle-разработчик должен непрерывно отслеживать «жизненные показатели» проекта, чтобы вовремя понять, что «чирикает» после недавнего коммита он уже не так бодро.

Если возникла проблема, как вы будете её решать?

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

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

Можете ли вы оценить время выполнения задачи?

Это то, что должен уметь Middle-разработчик, особенно если речь идёт о работе в команде: в этом случае необходимо оценить время, исходя из знаний и навыков каждого участника проекта. Следует учиться правильно определять сроки выполнения работы.

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

Планируете ли вы развиваться до сеньора или тимлида?

Плох тот солдат, что не мечтает стать генералом. Перефразируем: плох тот мидл, что не мечтает стать сеньором/архитектором/тимлидом. Мидл должен всегда хотеть развиваться. Жажда саморазвития будет вытаскивать мидла из его рутины (а у него будет рутина) и отправлять развиваться дальше.

Выводы

Так завышены ли сегодня требования к мидлам? На этот счёт мнения расходятся, но почти все специалисты сходятся во мнении, что каждая компания диктует свои правила, и то, что должен знать Middle-разработчик, будет напрямую зависеть в том числе от должности, на которую он претендует.

Не завышены ли требования к мидлам? Возможно, кто-то из IT-специалистов сталкивался с тем, что, уже несколько лет будучи мидлом, на собеседовании в какой-либо компании его оценивают как джуниора. Связано это, как правило, с двумя факторами: первое — разные требования в разных компаниях. Второе — часто в уровень квалификации, кроме перечисленных выше hard и soft skills, ещё включают погружённость сотрудника в предметную область, знание специфики бизнеса. Эти знания делают сотрудника ценным для текущей организации, но могут значить меньше в новой для него организации.

Подводя итоги, Middle-разработчик должен свободно плавать в теории, хорошо знать необходимый стек технологий и иметь по нему богатый опыт, не просто коммуницировать, но также оценивать трудозатраты, сроки, обучать и управлять ходом разработки. Опыт работы с базами данных, Git и уверенное владение английским языком обязательны по умолчанию.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Источник

Upgrade до Middle PHP-разработчика за 3 месяца

В очередной раз на меня свалилась задача найти хорошего PHP-программиста.
По результатам прозвона потенциальных кандидатов, 90% тех, кто мнит себя Middle, на самом деле Junior и годы опыта не спасают, потому что клепают однотипный код в пределах заданий, посланных свыше.
Прописал минимальный план желающим сделать рывок и перейти на следующий уровень без отрыва от производства.

Месяц 1

Прочитать книжки (по неделе на книжку, читая вечерами и на выходных):

Можно заменить на аналогичные, почти всё можно скачать без смс.

Предвидя холивар «почему Symfony»: можете выбрать Yii или Laravel — они проще в изучении. Symfony иногда неоправданно сложный, но интересен в плане изучения концепций. Зная его, другой фреймворк потом будет понять элементарно. И даже если вы не будете использовать его полностью, можно брать отдельные компоненты (список пострадавших), которые как паттерны, могут быть знакомы вашим коллегам.
Хотя если у вас неподалёку есть старший товарищ, который хорошо знает другой фреймворк, можно выбрать его.

Месяц 2

Прочитать по 3-5 статей и на практике поработать с (1 вечер — статьи, 1 вечер — практика):

Месяц 3

Сделать свой проект на GitHub, используя всё вышеперечисленное (1 месяц вечерами и на выходных).
Цель: закрепить знания, пройдя самому весь путь от ТЗ до готового проекта, на который можно зайти в Интернете и давать ссылку в резюме.

Источник

Кто такой мидл и как им стать

Если вы это читаете, у вас больше шансов, чем у остальных.

Послушать аудиоверсию этой статьи (6 минут):

Чем мидл отличается от джуниора

Джуниор — новичок или стажёр, который пришёл в компанию и только учится работать в команде. У него мало опыта, он не в курсе всех тонкостей проекта, поэтому ему поручают только мелкие или несложные задачи: поправить размер кнопки, проверить, приходят ли на сервер нужные данные, или написать проверку для формы на сайте. Если что-то не так, джуниор идёт к старшим товарищам за советом.

Мидл — полноценный командный игрок. Ему уже не нужно помогать каждый день и отвечать на очевидные вопросы. Наоборот, он сам часто помогает джуниорам в сложных ситуациях. Он хорошо знает проект, сам пишет основной код и решает большинство задач самостоятельно.

Мидл по сути и есть программист в общепринятом смысле, самостоятельный и квалифицированный. Он сам ищет ответы, сам следит за новыми решениями в отрасли и сам понимает, когда стоит дополнительно чему-то научиться.

В чём сила мидла

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

Джуниоры обычно решают задачу «сделать так, чтобы код работал», а мидлы — «сделать так, чтобы код не только работал, но и был понятен остальным программистам». Чтобы так уметь, нужны опыт, квалификация и отличное владение инструментами.

Почти весь основной код в каждом проекте написан мидлами.

Как им стать

Иногда говорят, что есть формальные критерии для мидла и что через 2–3 года работы джуниором человек автоматически становится мидлом, но это не так. Чтобы перейти на следующую ступень, программист должен освоить все рабочие инструменты и понимать, когда применить каждый из них.

Например, если это фронтенд, то мидл должен отлично знать HTML, CSS, JavaScript, PHP, уметь работать с препроцессорами, базами данных и знать отличия в отображении страниц в разных браузерах. А если мы говорим про бэкенд-разработчика, то к этому добавится Python, API нужных сервисов, фреймворки для решения разных задач и знание серверных приложений.

Вот что ещё может делать мидл в компании:

Самое главное — мидл понимает, почему он делает именно так и почему это будет оптимальное решение для проекта.

Сколько зарабатывает мидл

Мы посмотрели зарплаты мидлов разных направлений на Хабр Карьере за второе полугодие 2019 года:

Это в полтора-два раза выше, чем у джуниоров.

Что дальше

Если мидл будет и дальше расти и прокачиваться в своих навыках, то он может дорасти до сеньора. Это выше по деньгам, но больше ответственности в проектах. Но для карьеры программиста это естественный путь наверх.

О том, кто такие сеньоры — в следующей статье.

Источник

Создание сайтов в Киеве, Харькове

Создание сайта с нуля — один из важных этапов в построении успешного бизнеса и его развитии, ведь именно он — тот самый маркетинговый инструмент, который позволяет привлекать новых клиентов, повышать продажи и достойным образом представить ваш бизнес общественности.

Создание сайтов в Киеве и продающих интернет-магазинов — приоритетное направление деятельности агентства Artjoker. Обратившись к нам, вы получите не просто качественный программинг, красивый и эргономичный дизайн, но и комплексный подход в решении бизнес-задач любой сложности.

Основные этапы разработки сайтов от компании Artjoker

Разработка сайта с нуля — процесс трудоемкий и требующий максимальной ответственности и профессионализма со стороны разработчиков и менеджеров. Основные этапы создания сайта от Artjoker:

В компании Artjoker выполняется разработка сайта быстро, мы проповедуем Культ Дедлайна, и вы можете быть уверены, что на выходе получите свой веб-проект на высшем уровне и в срок. Как правило, создание сайта с нуля занимает около 30 дней, и, в конечном итоге, мир веба пополняется новым выдающимся ресурсом, а ваш бизнес-инструментарий — мощным источником новых клиентов, стабильной прибыли и усилением имиджа бренда.

1 этап — Формирование технического задания на изготовление сайтов

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

Поставленные цели и задачи, а также поэтапный план работы над проектом отображается в техническом задании на изготовление сайта — документе, в котором прописаны основные моменты работы: архитектура страниц, структура, ключевые модули, разделы и функционал. Кроме того, на этом этапе окончательно определяются необходимые ресурсы, команда и часы работы каждого специалиста, сроки выполнения (обязательно фиксируется дедлайн). В окончательном итоге мы получаем конкретный план проекта, нацеленного на достижения положительного результата.

2 этап создание сайта — Разработка дизайна под ключ

После того, как техническое задание готово, обсуждено и утверждено, специалисты приступают ко второму этапу — разработке дизайна. Команда дизайнеров рисует все необходимые элементы веб сайта с нуля в соответствии с выбранной концепцией и пожеланиями клиента, чтобы создать сайт под ключ, который будет привлекательным как для заказчика, так и для целевой аудитории.

3 этап разработки сайта — Верстка

Создание, разработка сайта Харьков, Киев от команды Artjoker следующим этапом предполагает внедрение технологий, в частности, верстку. Можно использовать разные типы верстки: фиксированную, резиновую или адаптивную. Своим клиентам мы советуем адаптивную, ведь именно она позволяет сделать ресурс максимально удобным для использования не только на ПК, но и на различных мобильных устройствах, что сегодня особенно актуально.

4 этап — Программирование

Далее приступаем к программированию, в процессе которого происходит так называемая «магия», ведь не посвященному в особенности технологий веб-разработки может показаться, что специалист и правда колдует над проектом. На этом этапе происходит создание всех страниц и обеспечение функциональности всех элементов. Все, зафиксированные в техническом задании модули, внедряются, а верстка прикручивается к админке. По согласованию с заказчиком, мы разрабатываем сайты на CMS (админке) MODx, а интернет-магазины — на Magento или расширенной собственными доработками и модулями MODx E-commerce.

5 этап — Наполнение контентом

Разработка, создание сайтов Харьков заканчивается тем, что они наполняются контентом. Мы готовы предложить команду специалистов в лице контент-менеджеров и копирайтеров, которые не только напишут уникальные и продающие тексты, но и сумеют гармонично их вписать в общую структуру ресурса, при этом обеспечив начальный этап внутренней оптимизации ресурса: мета-теги, уникальные тексты и перелинковка.

После того, как интернет ресурс будет окончательно готов, мы размещаем его на домене клиента, настраиваем хостинг и обучаем заказчика работать с ресурсом. Благодаря тому, что в качестве административной панели мы используем систему управления MODX или Magento, процесс взаимодействия для вас со своим ресурсом предельно понятен и прост.

Вот, собственно, и все: на этом работа над созданием веб-ресурса заканчивается, но следует помнить, что профессиональная разработка сайтов под ключ в Украине — это первый шаг для создания бизнеса в web пространстве. Следующим логичным шагом будет грамотное и контролируемое продвижение проекта.

Разработка сайтов под ключ ведется на базе CMS:

Почему стоит доверить изготовление сайта студии разработки веб сайтов Artjoker?

Студия разработки веб сайтов Artjoker— это не просто команда опытных специалистов, это «большой мозг», который постоянно работает над улучшением качества своей работы и результатов для клиентов.

Выбирая услуги создания сайта или интернет-магазина у нас, вы получаете:

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

Где заказать сайт под ключ дешево?

Создание сайтов, заказать которое можно практически в любой студии веб-разработки в Киеве, зачастую стоит дорого. А ведь так хочется получить максимально качественный и профессиональный веб-проект, при этом не потерять в экономическом плане, не так ли?

Но, если вы хотите заказать сайт под ключ дешево, то следует помнить, что «скупой платит дважды» и, сделав проект по низкой цене, вы рискуете получить неэффективный ресурс, который может не принести желаемого результата. Чтобы действительно развить свой бизнес и поднять продажи, в первую очередь, в приоритете должно стать качество проекта, в первую очередь, профессиональная разработка сайта, стоимость которой в компании Artjoker окупается в самые короткие сроки.

Заполните бриф и отправьте заявку прямо сейчас, чтобы связаться с нашим менеджером. Мы поможем вам прокачать свой бизнес в сети!

Источник

Какими знаниями должен обладать Middle и Senior php developer?

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

В какой-то теме писали, что зависит от отработанных часов, но с этим не соглашусь, ибо можно всю жизнь проработать в конторе, в которой будешь клепать сайты на вордпрессе, а можно попасть джуном в команду разработчиков, которые делают сложные хайлоад проекты и иметь знания сеньора через 2-3 года.

Развиваться дальше хочется, но не знаю в какую сторону, изучал многое, angular, немного Node.js, python, свободно пишу различные парсеры, владею движками, Yii, Kohana, даже имеется свой собственный, делаю крупные проекты с математическими просчетами, но не уверен на сколько я это делаю правильно.

Хотелось бы узнать, что нужно знать и использовать, чтобы считаться middle или senior разработчиком.

что должен знать middle php разработчик. Смотреть фото что должен знать middle php разработчик. Смотреть картинку что должен знать middle php разработчик. Картинка про что должен знать middle php разработчик. Фото что должен знать middle php разработчик

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *