Профессия программист

Артём Орлов 5
Профессия программист

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

Рекомендуем вам пройти Какую IT профессию выбрать
Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).

Содержание

Кто такой программист

Программист — это разработчик алгоритмов и компьютерных программ. Он пишет их на специальных языках. Во всём мире программисты очень востребованы, их работа хорошо оплачивается: зарплата программиста в России в диапазоне 80 000–220 000 рублей, тимлиды — TeamLead и техлиды — TechLead (специалисты высшей квалификации) получают больше: 250–400 тысяч рублей. Пройдите короткий бесплатный тест, чтобы понять, можете ли вы быть программистом.

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

 

Специализации программистов

Разработчиков можно условно разделить на две крупные категории в зависимости от специализации.

  • Хотите стать профориентологом всего за 2 месяца?
    Получите полезную профессию, помогающую людям. Курс Эльмиры Давыдовой.

Прикладные программисты

Разрабатывают программное обеспечение прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т. п. К области их работы относится создание программного обеспечения для ERP и CRM системы вроде 1С, систем видео- и аудионаблюдения‚ пожаротушения или пожарной сигнализации и т. п. Также они адаптируют уже существующие программы под нужды конкретной организации или пользователя.

Список некоторых прикладных специализаций программистов:

Системные программисты

Разрабатывают операционные системы, роботов, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Они пишут код для "железа". Системные программисты относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также они поддерживают работу созданных ими систем (драйвера устройств‚ загрузчики и т. д.).

Профессии разработчиков по языкам программирования

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

 

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

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

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

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

Денис Горбачев
Руководитель группы разработки финтех-сервиса «Выберу.ру»

Зарплата программиста

Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около 50 000–80 000 рублей. Штатный программист в компании среднего уровня (не IT) получает от 120 000 до 200 000 рублей. Зарплата ведущего программиста — 180 000–300000 рублей.

Зарплата руководителя IT-отдела колеблется в диапазоне от 150 000 до 350 000 рублей – в зависимости от компании. Хороший программист может стать руководителем крупного проекта по разработке ПО, в этом случае уровень доходов достигает 500 000 рублей и выше.

Зарплата программиста на ноябрь 2024

Россия 35000—120000₽
Москва 35000—170000₽

Информации о зарплатах предоставлена порталом hh.ru.

Где работают программисты

У программистов широкая сфера приложения профессиональных знаний: 

  • IT-компании;
  • банки;
  • заводы;
  • транспортные компании;
  • коммерческие предприятия;
  • государственные структуры;
  • ФСБ, МВД, ФСО;
  • web-студии;
  • игровые студии;
  • научно-исследовательские центры, университеты.

Примеры компаний с вакансиями программиста

  • Front-end разработчик Vue.js
  • Senior Java Developer - Core Platform (to Canada)
  • Back-end Developer (Solidity+Django)
  • Программист
  • Senior Java Developer - Core Platform (to Canada)
  • Senior Java developer с переездом в США

Требования к программистам

Список требований к программисту:

  • знание английского языка upper-intermediate (выше среднего);
  • умение работать в команде;
  • грамотная устная речь, умение доносить мысль до собеседника;
  • умение мыслить абстрактно;
  • знание математики (зависит от сферы, например, Gamedev);
  • ответственность, умение определять и укладываться в сроки;
  • готовность к постоянному самообучению;
  • желательно высшее техническое образование.

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

Бытует мнение, что программист – профессия молодых. В целом так и есть. Эту престижную профессию выбирают всё больше молодых людей. Программисты в возрасте либо уходят на руководящие должности, либо становятся экспертами. Сам я считаю, что программированием можно заниматься пусть и не до глубокой старости, но по крайней мере намного дольше, чем профессиональным спортом.

Почему молодому поколению куда проще «войти в айти»? Сегодня дети вырастают в насыщенной информационной среде и, как правило, знакомы с высокими технологиями «с пеленок».

Денис Горбачев
Руководитель группы разработки финтех-сервиса «Выберу.ру»

Как стать программистом

  • Пройти курсы или обучиться самостоятельно.
  • Пройти практику – пет-проект или практика при курсах.
  • Найти постоянную работу в статусе junior.
  • Продолжать учиться самостоятельно и в коллективе.
  • Бесстрашно браться за новые задачи.

Самый надежный путь – пойти работать в ИТ-компанию. Когда меня принимали на работу, для работодателя наибольший вес имел мой опыт разработок. Только потом – образование, но у меня оно было. Так что практика остается лучшим способом научиться программировать. 

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

Отлично, если начинающий программист получил базовые знания вуза. Речь не только о мехмате МГУ – в стране много университетов, которые готовят кадры для будущей профессии. Они есть не только в столицах, но и в Томске, Новосибирске, Казани, Самаре. Знаю, что сильные выпускники выходят из Петербургского ИТМО и Бауманского университета.

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

Денис Горбачев
руководитель группы разработки финтех-сервиса «Выберу.ру»

Советуем ознакомиться с мнением экспертов о том, как стать программистом с нуля.

Карьера программиста: джун, мидл, сеньор

Карьера программиста имеет три ступени: Junior («джун»), Middle («мидл»), Senior («сеньор»).

Джун, джуниор (Junior), начинающий программист

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

  • прикладной теоретической базе;
  • основам одного из языков программирования;
  • работе с XML, JSON;
  • основам одного из фреймворков;
  • основам среды разработки (программ для написания кода);
  • алгоритмам;
  • работать с консолью (терминалом);
  • основам баз данных;
  • некоторым методологиям разработки и взаимодействию с другими участниками проекта;
  • основам контроля версий кода.

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

Чтобы чувствовать себя увереннее на собеседовании, нужно приобрести кое-какой опыт работы. Прекрасным примером такой работы может быть собственный pet-проект (например, свой сайт или самописная консольная утилита). К собеседованию нужно готовиться тщательно, потому что много и глубоко спрашивают, в том числе могут дать логическую задачу. Старайтесь не быть поверхностным. Это нормально, если пройдёте много собеседований прежде, чем вас возьмут на работу джуном. Начинающих очень много. 

Мидл (Middle), программист среднего уровня

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

  • в языке программирования – его особенностях, недостатках, предельных возможностях;
  • одном или нескольких фреймворках;
  • всех основных методологиях разработки (SOLID, DRY, KISS, YAGNI, DIE, DDD, TD).

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

Сеньор (Senior)

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

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

Сеньор может стать руководителем группы программистов (тимлидом), менеджером IT-проекта, IT-директором предприятия и т. п.

Обучение на программиста

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

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

  • вузы:
    • «Прикладная математика и информатика» 01.03.02;
    • «Математика и компьютерные науки» 02.03.01;
    • «Информатика и вычислительная техника» 09.03.01;
    • «Программная инженерия» 09.03.04 и другие направления, связанные с ИТ и разработкой ПО.
  • колледжи:
    • «Информационные системы и программирование» 09.02.07;
    • «Программирование в компьютерных системах» 09.02.03;
    • «Прикладная информатика (по отраслям)» 09.02.05.

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

Ассоциация компаний – разработчиков ПО РУССОФТ составила рейтинг российских вузов по подготовке ИТ-специалистов. Уровень обучения программистов в университетах оценивали директора отечественных софтверных компаний. В топ-50 по мнению работодателей вошли более трех десятков региональных вузов.

Топ-10 вузов для программистов по версии РУССОФТ:  

1– 2.  МГТУ им. Баумана, ИТМО (вузы делят первое-второе место с одинаковым количеством рейтинговых баллов).

  1. СПбГУ.
  2. МФТИ.
  3. МГУ.
  4. СПбПУ (Политех Петра Великого).
  5. МИФИ.
  6. НГУ (Новосибирск).
  7. ЮФУ (Ростов-на-Дону, Таганрог).
  8. НГТУ (НЭТИ), Новосибирск.

Еще один рейтинг вузов, выпускающих программистов, сформировал Superjob по уровню зарплат молодых ИТ-специалистов.

Топ-10 ИТ-вузов по версии Superjob:

  1. МФТИ.
  2. МГТУ им. Баумана, ИТМО, МИФИ (выпускники этих вузов получают одинаковые зарплаты).
  3. МГУ.
  4. НИУ ВШЭ (Московский институт электроники и математики им. Тихонова), СПбГУ.
  5. НГУ (Новосибирск).
  6. МЭИ.
  7. МАИ.
  8. МИСиС.
  9. ННГУ им. Лобачевского.
  10. СПбПУ (Политех Петра Великого).

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

Курсы


Вузы

Курсы алгоритмов программирования

Плюсы и минусы профессии

Плюсы:

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

Минусы:

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

 

Основной неприятной особенностью профессии является так называемое выгорание. Оно связано с постоянной напряженной работой мозгами. Сроки всегда жесткие, поэтому есть риск их сорвать. Из-за этого постоянно ощущаешь эмоциональное давление. Это не происходит непрерывно, скорее волнообразно. От задачи к задаче. Но случается практически у всех и регулярно. Проявляется эффект выгорания у каждого по-своему, все зависит от стрессоустойчивости разработчика. Такие «таблетки», как спорт, экстрим или другие хобби, некоторым не помогают. В этом случае о проблеме и трудных буднях нужно говорить с командой и бизнес-заказчиком. Если бизнес не реагирует на сигналы, стоит подумать о смене работы.

Денис Горбачев
руководитель группы разработки финтех-сервиса «Выберу.ру»

Что еще почитать?

Материал может содержать рекламу. Информация о рекламодателе по ссылкам в статье.

36 комментариев
Оценка:
  • Светлана Сергеевна
    Тоже думаю пойти в программисты. Только не знала сколько это потребует времени. Недавно читала статью про Обучение на программиста. Долговато конечно придется учиться, тем более если как я совмещать работу с учебой, но думаю это того стоит.
    Ответить
    7
  • Elena46
    Все-таки считаю, что программистам образование необходимо) Столкнулась с этим сама на своей работе...) Самое удобное в наше время - вариант дистанционного образования (не всегда можно совместить учебу и работу)
    Ответить
    12
  • Кирилл Лунгул
    "Законы Мерфи для программистов",я еще никогда так не смеялся)
    Ответить
    40
  • Максим Тимофеев
    Записывал видео о опыте работы фрилансером, возможно будет интересно:
    https://youtu.be/9C3q0d0EcWw
    Ответить
    18
  • Антон, там же не написано, что объяснять надо клиентам. Часто приходится объясняться с руководством. Далеко не все компании имеют аналитика, техписа, рп и т.д.
    Ответить
    14
  • Антон Петров
    "HTML, HTTP, FTP, SMTP, TCP/IP, RTFM и т.д." - это тупой набор аббревиатур :-) Видимо авторы статьи не понимают разницы между словами и аббревиатурами ? :-)
    Ответить
    24
  • Антон Петров
    "приходится часто и много объяснять одно и то же, так как то, что понятно и очевидно программисту, совсем не всегда понятно и очевидно пользователю" - фантастический бред ! Программист обычно никак не взаимодействует с пользователями, если это конечно не обезьяна на подхвате, совмещающая работу с должностью эникийщика. С пользователем взаимодействую специально обученные люди вроде системных аналитиков, которые немного разбираются и в программировании. Задачу программисту ставит аналитик, а не пользователь. Если у вас много денег, можно конечно программиста заставить косить газон, но программисты нужны для узкой задачи - построить программную систему по определённым требованиям (ТЗ) и эти требования пишутся не программистами !!!
    Ответить
    12
  • Isa Albakov
    Сколько надо набрать баллов для поступления и какие предметы надо сдавать
    Ответить
    41
  • Константин Шарапов
    что быть хорошим программистом вы должны много чего знать и много чего уметь, чем выше ваши знания в этой области тем выше ваша зарплата.
    Ответить
    10
  • Аня! А в компьютерном железе программист и не должен особенно разбираться. Он же пользователь.
    Поступить вы сможете, если хорошо сдадите математику профильную, физику, русский или математику профильную, информатику и русский. С уважением,
    Ответить
    28
  • Аня Чернышёва
    здравствуйте,если я хочу поступить на программиста,но не очень хорошо разбираюсь в компьютерах, смогу ли я поступить?
    Ответить
    18
  • Александр! Русские программисты со своим русским образованием хорошо приживаются в других странах.
    Я не могу вам сказать сейчас про весь мир. А вы укажите струну, интересную для вас. И я посмотрю. В России же есть несколько городов, сильных в этом отношении, в том числе Томск, Москва, Казань, Уфа. Вуз? Отраслевые. МИСИС, МАИ, Станкин, МИРЭА, МТУСИ и другие.С уважением, Эльмира Давыдова.
    Ответить
    17
  • Ирусичке Бабушкиной ответ. Ирусичка, чтобы создать программу, нужны не только программисты, но также ( а может, и прежде всего, специалисты по продаже этой программы. Ведь кому-то она нужна будет, программа? Кто заказчик, кто оплатит труды разработчиков? Если ясно, кто клиент ( пользователь) программы и он готов платить, то нужно, чтобы кто-нибудь проанализировал эту предметную область ( назовите этого человека системным аналитиком). Если вы предполагаете, что программой будут пользоваться физические лица, то нужен опять-таки тот, кто понимает рынок пользователей, их психологию, готовы ли они платить за это. А если нет, то он понимает, как монетизировать продукт ( назовите этого человека менеджером IT- проекта, продюсером). В общем, с чего начать? С формулировки целей, постановки задач, описания пользователя программы. И если все это будет достаточно ясно и интересно людям, попробуйте поискать денег на краудфандинговых платформах. Удачи вам! С уважением, Эльмира Давыдова.
    Ответить
    19
  • Александр Павлючек
    Я знаю множество университетов, в которых можно выучиться на программиста, как в России, так и за её пределами, но большинство из них либо недосягаемые, либо имеют уж слишком низкие критерии, что заставляет усомниться в качестве образования в них. Можете ли вы вкратце рассказать о том, в каких странах можно стать хорошим IT-шником, куда метить и стремиться, и вообще реально ли сделать это в России?
    Ответить
    15
  • Ирусичка Бабушкина
    Эльмира ,доброй ночи !а не подскажете с кем можно обсудить и вообще как это все лучше сделать!?возникла идея по созданию одной очень интересной программы ...,но я не понимаю абсолютно как это все сделать.!!!
    Ответить
    13
  • Здравствуйте, Дилшод! Вы можете пойти сначала в колледж. Тут не нужно сдавать экзамены, а надо просто принести аттестат 9-го класса со средним баллом больше либо равно 3, 5.
    Специальность в колледже называется "Программирование в компьютерных системах".
    Например, вот тут: http://ks54.mskobr.ru/
    если же вы пойдете в институт, то сдавать приедтся профильную математику, инофрматику или физику и русский. Общий балл от 210. Вузов много. С уважением, Эльмира Давыдова.
    Ответить
    14
  • Дилшод Мирахматов
    Здравствуйте, у меня вопрос. Я учусь в 8 классе и хочу стать программистом . Я читал статью, что мне делать. Какой средний бал нужен...Это сложная профессия?
    Ответить
    23
  • Илья Новиков
    Большое спасибо за статью, всё очень понятно и интересно, за список ВУЗов отдельное огромнейшее спасибо!
    Ответить
    21
  • Александр Павлов
    сначала 9 класс закончим пойду как получить программист объяснить
    Ответить
    16
  • Dmitry Ermonenko
    Законы Мерфи топ
    Ответить
    35