Для начала обозначим, что программист и разработчик, в контексте разработки программ это одно и тоже. Так как же разграничить опытного разработчика от новичка?

Программисты, исходя из своего опыта и умений, могут выполнять разные задачи. Кто-то берет задачи посложнее, кто-то попроще. Поэтому программистов во многих компаниях принято делить на уровни. Эти уровни обычно называются английскими словами, потому что рынок IT он международный, и лучшие практики разработки программ мы заимствуем запада. Обычно выделяют три уровня разработчиков: это Junior, Middle и Senior developer. Рассмотрим, кто это такие подробнее и что это такое означает.

Обычно их разделяют по таким категориям:

  • опыт
  • знания и навыки
  • задачи
  • ответственность
  • зарплата

Intern

Интерн, то есть студент, который учится самостоятельно. Возможно в вузе или на каких-то курсах.

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

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

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

Junior

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

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

Опыт работы Junior от 0,5 до 2-х лет. Он хорошо разбирается в языке и технологиях. Технические задачи четко поставленные и описанные в конкретных рамках тим лидом или старшим по званию коллегой. Например, сверстать такой-то сайт, с какими-то параметрами, по такому-то прототипу, по такому-то дизайну. Еще частыми задачами для джиннов является покрытие функционала старших коллег юнит-тестом или правка мелких багов.

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

На этом этапе разработчик работает не за зарплату, а за репутацию и опыт.

Как стать джуниором?

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

Во-вторых, пойти работать юниор разработчиком. Вас, скорее всего, возьмут.

Middle уровень

Мидл программист – это разработчик среднего уровня. Это означает, что он понимает требования бизнеса, и способен самостоятельно выполнять бизнес-задачи. Тут ключевое слово – самостоятельно. Обычно мидлов в проекте больше всего, и большая часть кода написана мидл программистом. Главная особенность мидла в том, что он не просто пишет рабочий код, но еще и думает о поддержке своего web продукта.

Как стать Middle разработчиком?

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

Senior разработчик

Затем идет сеньор. Это не просто nick. Это программист с самым большим кругозором. Он понимает устройство проекта целиком и все его тонкости. А также знает типовые решения для типовых проблем.

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

Как стать Senior разработчиком?

Во-первых, нужно изучить, как работает бизнес в компании, и понять с какими проблемами он сталкивается.

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

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

После Senior идут Team Lead и Tech Lead, но это не совсем разработчики.

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