IT-сфера включает ряд профессий, одна их которых — программист. Он проектирует и разрабатывает программное обеспечение (ПО), сайты, веб-сервисы, мобильные приложения, создает игры, работает с искусственным интеллектом (ИИ).
Сразу объясним: не каждый айтишник — программист, но каждый программист — айтишник. То же касается разработчиков:
- Айтишник — общее название специалистов IT-сферы. Чаще всего они работают с информационными сетями, консультируют пользователей, сидят в технической поддержке или сопровождают IT-продукты.
- У программистов более узкая специализация — они создают «начинку» продукта.
- Разработчики работают с концепцией и архитектурой продукта, составляют техническое задание для отделов. В небольших компаниях работу разработчика и программиста выполняет один человек.
Кто такой программист
Программист работает с кодом — определенной последовательностью команд, образующих инструкцию для выполнения задачи компьютером. По выражению одного из основателей языков программирования Никлауса Вирта, «программы = алгоритмы + структуры данных».
Алгоритм — это набор шагов для решений конкретной проблемы или задачи. Структуры данных — это способ организации информации. Программист добавляет, извлекает и обрабатывает данные с помощью алгоритмов.
Специальности
Выделяют три специальности.
- Системный
Проектирует операционные системы (ОС), ПО, утилиты, драйверы. Он отвечает за единую работу всей системы, ее надежность и высокую производительность.
Системные программисты участвуют во внедрении и использовании программных средств в бизнесе.
- Прикладной
Разрабатывает сервисы, приложения. Редакторы, плееры, обучающие программы, графические пакеты — конечные продукты для потребителя создает именно он.
- Web
Работает с веб-сайтами и интернет-приложениями. У этой специальности есть три основных типа: frontend-, backend- и fullstack-разработка.
Первый отвечает за внешний вид сайта и все, с чем взаимодействует пользователь, второй — за логику сайта, обработку данных, а третий занимается всем сразу.
Программисты не просто создают продукт. Они тестируют его, устраняют ошибки, внедряют и адаптируют программы под потребности бизнеса, пишут инструкции для пользователей, обучают сотрудников компании-заказчика работать с новым функционалом.
Уровни
Деление на джунов, мидлов и сеньоров пришло из HR-сферы. Такой градацией оценивают знания и умения сотрудников. Четких критериев нет — у каждой компании свои требования и стандарты. Когда вы начинаете изучать программирование, первое время будете в категории джунов.
Джуниор (1–2 года) |
Мидл (2–5 лет) |
Сеньор (5+ лет) |
Начинающий специалист с минимальным опытом работы. Знает теорию, синтаксис языка, но самостоятельно решать задачи не может. Джунами руководят наставники с опытом — обучают их не только практическим навыкам, но и помогают адаптироваться к команде. |
Опытный и самостоятельный специалист. Уверенно использует язык и фреймворки. Знаком с документацией и нюансами работы в компании. Мидл сам проверяет свой код, очищает его от ошибок. У него есть наставник — сеньор. |
Специалист высшего уровня. Глубоко разбирается в архитектуре, библиотеках, фреймворках и инструментах компании, сам разрабатывает сервис с нуля. Полностью самостоятелен, отвечает за младших специалистов. Это эксперт, руководитель IT-проектов. |
Средняя зарплата — 77 тысяч рублей. |
Средняя зарплата — 167 тысяч рублей. |
Средняя зарплата — 280 тысяч рублей. |
Градация очень относительна: в одном проекте ты мидл, на другом еще джун.
Как стать программистом
С чего начать путь в IT? Есть несколько вариантов.
Обучение в университете
Часто университет не включают в список обязательных достижений программиста — да, действительно диплом такому специалисту не всегда нужен. Но, во-первых, он дает возможность карьерного роста — особенно в сфере управления.
Во-вторых, университеты предоставляют разные направления обучения. Высшее образование дает большую базу для новичка: его учат быстро искать информацию, адаптировать решение под задачу, дают общие знания из разных сфер. В IT даже самые ненужные навыки рано или поздно пригодятся.
В-третьих, вокруг будут такие же новички. Развиваться вместе комфортнее, и бывает, что один из одногруппников может привести вас на первую работу.
Профессию можно получить в МФТИ, ИТМО, МГУ им. М. В. Ломоносова. Это одни из лучших университетов России.
Магистратура
Пока разговоры о выходе из Болонской системы продолжаются, но если есть возможность поступать в магистратуру на IT-программы, поступайте.
Мир меняется, и цифровые методы проникают в гуманитарные сферы. Например, растет data-журналистика, в маркетинге активно используют анализ данных, а дизайнеры создают сайты с помощью кода.
За два года изучить смежное направление можно, никто не мешает параллельно проходить курсы с более глубоким изучением языков и баз данных.
Курсы
Курсы подойдут тем, кто хочет быстро освоить новые навыки. За 9–12 месяцев преподаватели дадут выжимку из сферы программирования, но больший объем информации придется осваивать самому. Как и искать комьюнити — так и знакомств больше, и помощи.
При выборе курсов обращайте внимание на отзывы на дополнительные программы — иногда школы предлагают уроки английского языка, визуализации данных, составления резюме. Лишним такой опыт не будет.
Курсы предлагают Яндекс, Skillbox, «Нетология» и другие. Их много, подбирайте по бюджету и интересам.
Самостоятельно
Изучить программирование с нуля можно в одиночку. В интернете есть много обучающих видео, бесплатных курсов, статей и инструкций, продается профильная литература. Можно найти тренажеры, например IT HERO, Top Coder, Codeforces и другие.
Для начала поймите, в какую сферу хотите углубиться. Может, само программирование покажется скучным, а дата-инжиниринг — интересным. Творческий потенциал можно раскрыть в геймдеве или дизайне. Перейдите к основам, определите, какой язык хотите изучать, какую концепцию.
Плюс самостоятельного изучения — время. Разобравшись в основах, вы можете откликаться на вакансии. В первое время будут приходить отказы, но концентрируйтесь на знакомствах. Найдите наставника — мидла или сеньора, готового передать свои знания.
Стажировки играют большую роль в IT-сфере. С их помощью можно оценить свой интерес к выбранному направлению, пополнить портфолио, поработать с реальными проектами и внести новые данные в резюме.
После успешной стажировки проще перейти в штат компании. Присоединяйтесь к команде Совкомбанка, работайте над интересными проектами, живите яркой корпоративной жизнью в большой надежной компании. Узнайте о вакансиях и смело пишите резюме.
Работа в Совкомбанке — это возможности для самореализации и достойная заработная плата; это интересные проекты и неформальное общение; это ДМС для сотрудников и детей и коворкинг на море. Хотите так же? Ищите подходящие вакансии в вашем городе и присоединяйтесь к команде мечты!
Языки
С выбором языка нужно определится до начала обучения. Это важно, так как следующие три-пять лет вы будете работать на нем.
Язык — это основа программирования. Некоторые сложные, некоторые универсальные, но ясно одно — нужно изучить хотя бы один. Помочь в выборе могут рейтинги. Они бывают разными, например ежемесячный TIOBE Index (The Importance of Being Earnest Index). В нем популярность языка определяется количеством поисковых запросов, вакансий и упоминаний.
Определитесь с направлением, со своими интересами и навыками. Подумайте, какие задачи готовы решать, что дается легче, что сложнее, порассуждайте над актуальностью направления.
Посмотрите видео, почитайте мнения специалистов. Сильно не углубляйтесь, для начала остановитесь на самых распространенных: JavaScript (frontend-разработка), Java, PHP, Python, C# (backend-разработка), Swift и Kotlin (мобильная разработка).
Параллельно изучайте SQL — он нужен везде, где есть работа с данными.
Hard и soft skills
Для роста в IT-сфере нужно работать над техническими навыками (hard skills — жесткие навыки) и личными качествами (soft skills — мягкие навыки).
Hard skills — это то, чему вы научились, что знаете: языки, структуры данных, алгоритмы, базы данных, библиотеки. Это все профессиональные умения, которые вы получили во время обучения или на работе.
Soft skills — это личностные качества, которые позволяют работать в команде. К ним относятся навыки коммуникации, аналитическое мышление, уровень эмоционального интеллекта и творческого подхода, организованность, гибкость.
Для программиста важно все, так как работа предполагает тесное общение с командой, с другими отделами. Умение планировать, структурировать работу для некоторых работодателей будет важнее глубоких знаний синтаксиса. Технические знания можно получить, а вот развить отдельные черты личности сложнее.
Дорожная карта
Чтобы ничего не забыть, составьте дорожную карту, или roadmap — документ, в котором опишите цель и план. Обычно их делают для проектов, но они удобны и для простой работы.
Дорожную карту можно найти в поисковой системе — в Github — или составить самостоятельно с помощью программ интеллект-карт. Хорошие примеры есть на английском — еще одно доказательство, что интересоваться иностранными языками программисту необходимо.
В дорожной карте описаны необходимые навыки, инструменты, основные темы для изучения:
- цели — это желаемый результат;
- этапы — шаги для достижения цели;
- временные рамки — сроки изучения;
- ресурсы — инструменты, бюджет.
Итак, что нужно сделать для работы в программировании? Выбрать направление, составить план, определиться с языком, изучить основы, начать практиковаться, найти ментора и сообщество. Это первые шаги на пути к работе мечты.
Вся информация о ценах актуальна на момент публикации статьи.