Представитель компании Microsoft Анна Кулашова поделилась информацией о количестве дипломированных программистов в России. На начало 2019 года их число достигло четырёхсот тысяч. При этом у многих работников ИТ-сферы нет профильного образования, а значит, в действительности их намного больше.
Ещё в 2015 году на конференции Intel прозвучало заявление, что во всём мире насчитывается около 19 миллионов ИТ-специалистов. Среди них: разработчики и инженеры программного обеспечения, веб-программисты, аналитики, тестировщики, UI/UX-дизайнеры, системные администраторы, специалисты по данным.
Профессия широко распространена, имеет более чем 170-летнюю историю: первым программистом считается Ада Лавлейс, которая написала единственную программу ещё в 1843 году. Несмотря на это, даже у приближённых к профессии людей возникает путаница, когда речь заходит о таких родственных терминах:
Так в чём заключается разница между ними? Чтобы понять отличия, дадим определение каждому специалисту и распределим их по возрастанию умений: кодер, программист, разработчик, инженер.
Узкий специалист, выполняющий монотонную, рутинную работу по написанию кода на определённом языке программирования по заданной спецификации. Обычно он не задумывается или не разбирается в фундаментальных принципах программирования. По этой причине выполняет лишь простые действия, например, пишет код с использованием готовых решений.
Осторожно: слово «кодер» в ИТ-среде иногда носит негативный или пренебрежительный окрас!
Работник с высоким уровнем знаний. Создаёт простой и понятный код. Понимает принципы программирования, поэтому сочетает рутинную работу с творчеством.
Если кодер редко обходится без команды, выступая её частью и выполняя отдельные поручения, то программист способен сделать всю работу самостоятельно. Он может продумывать, разрабатывать алгоритмы и реализовывать их. Таким образом, программист бывает одновременно кодером, но не наоборот.
Разработчик — работник широкого профиля, который может выпускать различные программные продукты: сайты и веб-приложения, мобильные или десктопные приложения, бухгалтерские программы, мессенджеры, игры.
Он часто знает больше двух языков программирования, использует разные системы и среды, понимает, как они взаимодействуют. В иерархии стоит выше описанных ранее специалистов. Отличается многозадачностью, может:
Разработчик создаёт продукт от начала до конца и не нуждается в сторонней помощи, хотя иногда делегирует работу кодеру, дизайнеру, тестировщику и другим. Взаимодействует с командой, умеет координировать её.
Это разработчик высокой квалификации, который обычно имеет профильное образование, степень магистра или бакалавра. Инженер отлично разбирается в предмете, постоянно совершенствует знания, применяет их на практике. Объект его деятельности выходит за рамки написания программ, больше касаясь производства инструментов и методов разработки приложений.
Разделение на кодеров, программистов, разработчиков, инженеров — условное. Эти термины широко применимы, так что строгой классификации между ними нет. Поэтому, избегая путаницы и недопонимания, специалистов, работающих в ИТ-сфере и занимающихся написанием программного кода, чаще всего называют разработчиками.