Профессия программист
Рассказываем подробно, как быстро стать программистом, какие есть специализации программистов, где на них учат и сколько они зарабатывают. Кстати, недавно центр профориентации ПрофГид разработал точный тест на профориентацию, который сам расскажет, какие профессии вам подходят, даст заключение о вашем типе личности и интеллекте.
Профессия подходит тем, кого интересует информатика (см. выбор профессии по интересу к школьным предметам).- Кто такой программист
- Специализации программистов
- Профессии разработчиков по языкам программирования
- Зарплата программиста
- Зарплата программиста на ноябрь 2024
- Где работают программисты
- Примеры компаний с вакансиями программиста
- Требования к программистам
- Как стать программистом
- Карьера программиста: джун, мидл, сеньор
- Обучение на программиста
- Курсы алгоритмов программирования
- Плюсы и минусы профессии
Кто такой программист
Программист — это разработчик алгоритмов и компьютерных программ. Он пишет их на специальных языках. Во всём мире программисты очень востребованы, их работа хорошо оплачивается: зарплата программиста в России в диапазоне 80 000–220 000 рублей, тимлиды — TeamLead и техлиды — TechLead (специалисты высшей квалификации) получают больше: 250–400 тысяч рублей. Пройдите короткий бесплатный тест, чтобы понять, можете ли вы быть программистом.
Стать программистом можно в любом возрасте. Профессия подходит мужчинам и женщинам с хорошими аналитическими способностями, логикой, знанием математики (в некоторых областях разработки) и обязательно английского языка. В программировании ценятся не только практические навыки, но и идеи.
Специализации программистов
Разработчиков можно условно разделить на две крупные категории в зависимости от специализации.
Прикладные программисты
Разрабатывают программное обеспечение прикладного характера — игры‚ бухгалтерские программы‚ редакторы‚ мессенджеры и т. п. К области их работы относится создание программного обеспечения для ERP и CRM системы вроде 1С, систем видео- и аудионаблюдения‚ пожаротушения или пожарной сигнализации и т. п. Также они адаптируют уже существующие программы под нужды конкретной организации или пользователя.
Список некоторых прикладных специализаций программистов:
Системные программисты
Разрабатывают операционные системы, роботов, работают с сетями, пишут интерфейсы к различным распределенным базам данных. Они пишут код для "железа". Системные программисты относятся к числу самых редких и высокооплачиваемых. Их задача состоит в том‚ чтобы разработать системы программного обеспечения (сервисы)‚ которые‚ в свою очередь‚ управляют вычислительной системой (куда входит процессор‚ коммуникационные и периферийные устройства). Также они поддерживают работу созданных ими систем (драйвера устройств‚ загрузчики и т. д.).
Профессии разработчиков по языкам программирования
Разработчики решают очень разные задачи, и не все языки программирования одинаково удобны для решения этих задач. Вот список наиболее популярных языков программирования:
Со стороны профессия выглядит творческой, высокооплачиваемой и интересной. Однако в современном мире программист становится элементом конвейера. Его задача – создавать программные продукты для бизнеса и не только: в срок, без сбоев и лишней лирики. И место сотрудника на конвейере ПО зависит от его квалификации.
Программисты нужны, потому что растёт рынок технологий, открываются новые направления. Однако реальность такова, что значительная часть шарма этой профессии ушла под давлением жёстких требований бизнеса.
Немногие программисты могут позволить себе применить творческий подход к решению проблем. На это просто нет времени, и они просто корректно применяют уже готовые шаблоны и стратегии.
Можно ли оставаться творцом, работая на конвейере? Мой ответ – да. Программист создает и сразу наблюдает плоды своих творений. Это важно для любой профессии, и программирование не исключение. Это похоже на строительство дома, но виртуального - программист легко сносит этажи, только что им построенные. А ещё через несколько минут результатами твоей работы будут пользоваться реальные люди.
Зарплата программиста
Даже не самый продвинутый специалист может найти работу в соответствии со своим уровнем знаний, а затем постепенно учиться и набираться опыта. Зарплата стажера — около 50 000–80 000 рублей. Штатный программист в компании среднего уровня (не IT) получает от 120 000 до 200 000 рублей. Зарплата ведущего программиста — 180 000–300000 рублей.
Зарплата руководителя IT-отдела колеблется в диапазоне от 150 000 до 350 000 рублей – в зависимости от компании. Хороший программист может стать руководителем крупного проекта по разработке ПО, в этом случае уровень доходов достигает 500 000 рублей и выше.
Где работают программисты
У программистов широкая сфера приложения профессиональных знаний:
- IT-компании;
- банки;
- заводы;
- транспортные компании;
- коммерческие предприятия;
- государственные структуры;
- ФСБ, МВД, ФСО;
- web-студии;
- игровые студии;
- научно-исследовательские центры, университеты.
Требования к программистам
Список требований к программисту:
- знание английского языка 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. МГТУ им. Баумана, ИТМО (вузы делят первое-второе место с одинаковым количеством рейтинговых баллов).
- СПбГУ.
- МФТИ.
- МГУ.
- СПбПУ (Политех Петра Великого).
- МИФИ.
- НГУ (Новосибирск).
- ЮФУ (Ростов-на-Дону, Таганрог).
- НГТУ (НЭТИ), Новосибирск.
Еще один рейтинг вузов, выпускающих программистов, сформировал Superjob по уровню зарплат молодых ИТ-специалистов.
Топ-10 ИТ-вузов по версии Superjob:
- МФТИ.
- МГТУ им. Баумана, ИТМО, МИФИ (выпускники этих вузов получают одинаковые зарплаты).
- МГУ.
- НИУ ВШЭ (Московский институт электроники и математики им. Тихонова), СПбГУ.
- НГУ (Новосибирск).
- МЭИ.
- МАИ.
- МИСиС.
- ННГУ им. Лобачевского.
- СПбПУ (Политех Петра Великого).
В следующей десятке этого рейтинга тоже без малого 40 нестоличных вузов (многие занимают одинаковые позиции). Так что будущим программистам есть из чего выбирать.
Курсы алгоритмов программирования
Плюсы и минусы профессии
Плюсы:
- востребованная профессия во всём мире;
- программист – профессия будущего;
- высокая заработная плата;
- можно получить хорошо оплачиваемую работу, не имея высшего образования;
- в профессии есть элемент творчества;
- возможность удалённой работы.
Минусы:
- сидячая работа;
- высокая конкуренция;
- быстроразвивающаяся индустрия предпологает постоянную учёбу, чтобы не отставать от других;
- высокие требования к специалисту, трудно войти в профессию новичку, курсов часто бывает недостаточно;
- часто работа проходит в режиме аврала и стресса;
- не всегда результат работы видим и ощутим;
- полная погруженность в профессию, часто работа не заканчивается по звонку.
Основной неприятной особенностью профессии является так называемое выгорание. Оно связано с постоянной напряженной работой мозгами. Сроки всегда жесткие, поэтому есть риск их сорвать. Из-за этого постоянно ощущаешь эмоциональное давление. Это не происходит непрерывно, скорее волнообразно. От задачи к задаче. Но случается практически у всех и регулярно. Проявляется эффект выгорания у каждого по-своему, все зависит от стрессоустойчивости разработчика. Такие «таблетки», как спорт, экстрим или другие хобби, некоторым не помогают. В этом случае о проблеме и трудных буднях нужно говорить с командой и бизнес-заказчиком. Если бизнес не реагирует на сигналы, стоит подумать о смене работы.
Что еще почитать?