Как найти хорошего программиста

Кто делает хорошие сайты, как это устроено изнутри: джуниоры, мидлы, синьоры, менеджеры проекта и индустрия IT

Статья написана на примере программистов OpenCart, но эти проблемы типичны в для индустрии IT php.

Закономерности в среде сотрудников IT

Индустрия IT довольно молода, но недостаток наличия специалистов - растет.

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

Большинство софт проектов проваливаются, и практически все превышают бюджет.

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

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

На самом деле, существует разница между человеком с 10-летним опытом, и тем, кто за то же время стал опытнее в 10 раз.

Этапы роста разработчика

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

Джуниор программист

Закончив обучение, Junior программист кажется себе - всезнающим.

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

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

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

Джуниор зациклен на коде, а не на процессе разработки. Да и разницу он не особенно улавливает.

  • Хорошему junior разработчику OpenCart - целесообразно дать знакомую задачу и ожидать ее быстрого выполнения.

"Я лучше доделывал бы уже сделанные сайты" – скорее всего, перед вами джуниор программист OpenCart.

Мидл программист

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

Обычно, начинает смотреть на свой код годовалой давности и понимает – это хлам.

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

Если джуниор просто напишет гору условно-рабочих алгоритмов, то Мидл строит излишне сложные системы, которые гибки там, где это не важно, и неповоротливы в значимых вещах.

Программисту мидл можно доверить разработку отдельной модульной системы OpenCart, которая проработает гораздо дольше творения джуниора. Но это приводит к непредсказуемым последствиям.

Печально, но факт: абсолютное большинство не только старших разработчиков, но и тимлидов, в проектах e-commerce OpenCart являются обычными мидл программистами. Они этого не понимают и они просто никогда не работали с кем-то более квалифицированным.

Хорошие middle девелоперы уже понимают, что программирование означает довести работу до логического завершения, а не просто до конца задачи.

  • Им можно доверять поиск проблемных участков проекта e-commerce OpenCart, и они играют важную роль в принятии решений по проекту.

"Лучше не доделывать, кем-то уже сделанные сайты" – скорее всего, перед вами мидл разработчик OpenCart.

Сеньор разработчик

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

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

Senior учитывает контекст, при применении теории. Он понимает, что не существует - единого - правильного пути.

Единственный способ сделать хороший продукт e-commerce OpenCart - это адаптация теории к требованиям клиента, базы кода, инструментов и оптимизация труда команды.

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

Старший разработчик думает не только о себе. Оно прекрасно знает, как работает своя компания и организация заказчика, какие у них ценности и что важно или не важно - для успеха. Если есть задача, то старший программист сделает все возможное, чтобы его реализовать. Он никогда не скажет фразы "это не моя задача" в подобных ситуациях.

  • Сеньор девелопер понимает, что работа с OpenCart заключается в решении проблем, а не в написании кода. Именно поэтому он всегда будет смотреть на работу с позиции соотношения ее ценности и затраченным усилиям.

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

"Что именно вы хотите от сайта, для чего, и какой он - ваш магазин?" – скорее всего, перед вами синьор разработчик OpenCart.

Если нет ни одного синьора, то проект - обречен

Команда джуниоров может завести проект довольно далеко, но дни продукта e-commerce - все равно будут сочтены.

И в финале вас ждет либо неудачи, либо рискованные и дорогостоящие переделки.

Единственный, кто способен выбрать правильную технологию и платформу – это старший разработчик. Поэтому его отсутствие с первых дней в проекте OpenCart - вам серьезно навредит.

Реальность - как оценивают программиста

Реальность такова, что никто из программистов - не подходит под описанные рамки в точности. Я уже устал смотреть, как программистов оценивают "чары" и "директора" - те, кто далеки от понимания "команды в IT".

В IT принято ценить умных молодых ребят после университета, их нужно ценить а не оценивать!

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

С трезвой оценкой лучше подходить - к команде разработчиков

Пора переставать: стереотипно нанимать людей, а начинать: больше думать о команде.

В этом случае у вас есть шанс привлечь, в свою организацию, и опытных синьоров и талантливых джуниоров.

Мы ищем партнеров для сотрудничества

P.S. Статья родилась из-за того, что я устал объяснять руководителям, кто им нужен для решения их внутренних проблем.

Похожие статьи

Тэги: OpenCart,

Написать комментарий

Внимание: HTML не поддерживается! Используйте обычный текст.
    Плохо           Хорошо