Программирование — это новый рок-н-рол, космические зарплаты и уверенность в завтрашнем дне. Разберемся, всё ли так на самом деле: какие бывают программисты, сколько они зарабатывают, что нужно знать и уметь, как начать карьеру в IT.
Достоверность информации гарантируем — статья вычитана и проверена десятью программистами разных специальностей.
Всё о профессии программиста в 2024 с нуля
Кто такой программист?
Программист — это инженер, который превращает идеи в машинный код.
Простыми словами, программист создаёт инструкции для компьютера. Компьютер выполняет эти инструкции, и получается рабочий продукт: веб-сайт, мобильное приложение, компьютерная игра.
Специализации программистов: сколько зарабатывают, что нужно знать и уметь
За термином «программист» скрываются узкопрофильные специалисты: разработчики программного обеспечения, инженеры, специалисты по безопасности и т.д. Рассмотрим основные сферы работы программиста с примерами.
01. Профессия:
мобильный разработчик
Мобильная разработка — это создание приложений для мобильных устройств: смартфонов, планшетов, гаджетов.
Где можно работать?
- Индустрия игр открыта для разработчиков всех уровней. В играх можно прокачать свой код и заработать на рекламе. Кроме программирования, понадобится разбудить внутреннего дизайнера и сценариста, а также маркетолога для продвижения в Google Play и App Store.
- Банковские приложения — это приложения со сложной архитектурой, устроиться в банк стажером почти нереально, это зона роста для опытных разработчиков.
55% наших пользователей вообще не используют веб-версию.
Tinkoff.ru о мобильной разработке
- Приложения электронной коммерции — это интернет-магазины, программы лояльности, сервисы заказа и доставки, такси. Некоторые сайты и сервисы обслуживают 70 — 90% клиентов с телефона, отсюда новое направление в разработке и дизайне — mobile first.
- Образовательные приложения для дистанционного обучения, изучения языков, книги, коучинг, тренировки. Трафик в этой индустрии вырос на 300% в 2020, и в дальнейшем предвидится бурный рост.
Языки программирования: Java и Kotlin для Android, Objective-C и Swift для iOS, C# для Windows Phone.
Что нужно знать и уметь: у каждой платформы свой мир, свои решения и инструменты. Для работы на любой из них понадобится знание английского языка, объектно-ориентированного программирования (ООП) и паттернов архитектуры приложений (MV*).
Это базовые навыки — чтобы вырасти из стажера в специалиста, нужно учить новые технологии, например, сейчас популярна разработка на платформе Flutter. Подробнее о технологиях в статьях:
- Объектно-ориентированное программирование: на пальцах
- Паттерны для новичков: MVC vs MVP vs MVVM
- Что такое Kotlin, и зачем он андроид-разработчику
- 10 навыков и знаний необходимых начинающему iOS разработчику
- Про Flutter, кратко: Основы
- Лучшие фреймворки для разработки кроссплатформенных мобильных приложений
Сколько зарабатывает разработчик мобильных приложений?
По данным Хабр Карьера, средняя зп:
младшего специалиста (junior) — 59 тысяч рублей,
среднего (middle) — 115 тысяч,
старшего разработчика (senior) — 188 тысяч,
ведущего (lead) — 200 тысяч рублей.
Рост не происходит автоматически — чтобы подняться, нужно учить новые технологии.
02. Профессия:
веб-разработчик
Веб-разработка — это создание веб-приложений и веб-сайтов. Веб-разработку принято делить на фронтенд, бэкенд и фулстек.
Фронтенд-
разработчик
Как расшифровать? Фронтенд — от английского front-end, дословно — «лицевая сторона». Это лицо сайта, его интерфейс, с которым взаимодействует пользователь. Фронтендеры отвечают за работу всех видимых компонентов сайта: контент, изображения, кнопки, навигация.
Где нужен фронтенд? Везде, где есть веб-сайты: интернет-магазины, маркетплейсы, агенства и студии, СМИ, блоги, корпоративные порталы, системы автоматизации бизнеса и другие сервисы.
Базовые технологии: HTML, CSS, JavaScript и его фреймворки, TypeScript.
Что нужно знать и уметь? Фронтендер программирует интерфейс сайта, умеет пользоваться библиотеками и фреймворками, занимается адаптивной вёрсткой. Подробнее о инструментах и навыках в статьях:
Фронтендер проектирует структуру сайта и работает с заказчиком — нужны скилы дизайна UX/UI и коммуникативные навыки. Знание английского, хотя бы intermediate — обязательно для работы с кодом и самообучения.
Сколько зарабатывает фронтендер?
По данным Хабр Карьера, средняя зарплата:
младшего специалиста (junior) — 53 тысячи рублей,
среднего (middle) — 100 тысяч рублей,
старшего разработчика (senior) — 170 тысяч,
ведущего (lead) — 185 тысяч рублей.
Знание каждой библиотеки или фреймворка добавляет 10-15 тысяч к з.п.
Бэкенд-
разработчик
Как расшифровать? Бэкенд — от английского back end, дословно — тыльная сторона. Это программно-аппаратная часть сервиса, его внутренности.
Бэкенд-разработчик создаёт функции сайта, которые доступны пользователю через интерфейс. Например, фронтенд — это форма регистрации и корзина на сайте, а бэкенд — это связка полей формы регистрации с корзиной, база данных и интеграция с платёжным сервисом.
Где можно работать? Как и в случае с фронтендом — везде, где есть сайты и приложения.
Языки программирования: PHP, Python, JavaScript, Java, C#, Go, C/C++.
Что нужно знать и уметь? Бэкендер программирует на «серверных» языках, знает веб-фреймворки, работает с базами данных, пишет юнит-тесты. Подробнее в статьях:
- Зачем нужны базы данных, и какие они бывают
- Что такое API? Простое объяснение для начинающих
- Юнит-тестирование для чайников
Бэкендер, в отличии от фронтендера, может быть интровертом — это работа по техзаданию, контакт с заказчиком и пользователями ограничен. Как и в случае с фронтендом, знание английского — обязательно для работы и самообучения.
Сколько зарабатывает бэкенд-программист?
По данным Хабр Карьера, средняя зарплата:
стажёра — 35 тысяч рублей,
младшего специалиста (junior) — 55 тысяч рублей,
среднего (middle) — 105 тысяч рублей,
старшего разработчика (senior) — 170 тысяч,
ведущего (lead) — 185 тысяч рублей.
Фуллстек
разработчик
Как расшифровать? Фулстек — от английского full stack, полный стек технологий. Full Stack Developer — это универсальный программист, который может с нуля разработать функциональный продукт.
Что нужно знать и уметь? Разработчик фул-стек разбирается как в бэкенде (программно-аппаратная часть сервиса), так и во фрнтенде (интерфейс пользователя). Также, фулстек может быть внутри определенной технологии — например, full-stack JavaScript.
Есть мнение, что фул-стек разработчик — это миф. Невозможно владеть всеми технологиями одновременно и следить за разработками во всех стеках.
Где можно работать? Компании открывают должность Full Stack по разным причинам. Например, проект не сложный технически, но требует частых изменений — в таком случае, одному человеку будет проще разобраться.
Иногда фул-стека нанимают из соображений экономии, когда нет денег на целый отдел IT. В этом случае, фул-стек часто становится эникейщиком и заниматься вообще всем, в том числе заправляет принтер. 🙂
Фулстек программисты в IT-компаниях часто становятся директорами. Фулстек — это зона роста для фронтенд и бэкендера. При этом, бэкенд ближе к фулстеку технологически.
Вас могут заинтересовать статьи:
- Как стать full stack разработчиком, зная back-end. Пошаговая инструкция
- Чем плохо быть full stack разработчиком
03. Профессия:
системный программист
Простыми словами, системное программирование — это программирование железа на машинном языке. Синоним: низкоуровневое программирование, LLP (low level programming).
Технологии: языки низкого уровня, а также язык Си.
Язык низкого уровня — это язык ассемблера, машинный код. Это команды для процессоров и микроконтроллеров. Код уникальный и не переносится с платформы на платформу. Для сравнения, языки высокого уровня (Java, Python, C++) — это «человеческие» языки программирования, словесные команды, которые переводятся в машинный код на компиляторе и работают на разных платформах.
Какие нужны навыки? Знание архитектуры процессора и памяти, опыт программирования на языке высокого уровня, работа с цифровой схемотехникой.
Системный программист — это полный универсал: мне приходилось как писать код, так и отлаживать железо. И часто возникала необходимость что-то паять самостоятельно. Часто собеседования на вакансию системного программиста выглядят как поиск специалиста по электронике.
из стаьи Программисты, ходите на собеседования
Где можно работать? Везде, где нужно программировать процессоры, микроконтроллеры, драйверы:
- Разработка системного ПО — операционные системы, компиляторы, браузеры. Это инфраструктура для пользовательского ПО.
- Программирование оборудования — это могут быть датчики IoT, робототехника, научные аппараты, оборонпром.
- Программирование устройств — микроконтроллеры, ПЛК, встраиваемые системы.
- Трейдинг — торги на бирже требуют немедленной реакции на колебания рынка. За счёт удалённости языков высокого уровня от железа, сложно предсказать время отклика программы на внешнее событие. Поэтому здесь применяют LLP, чтобы обеспечить скорость транзакций.
Сколько зарабатывает системный программист?
Многие системщики работают на производствах и в государственном секторе, зарплата там ниже, чем в IT. Старший системщик в профильной IT компании может получать 100-150 тысяч рублей.
Дополнительные материалы:
- Почему Ассемблер — это круто, но сложно
- И всё же C — низкоуровневый язык
- Как проходит знакомство с LLP в Университете ИТМО: курс «Низкоуровневое программирование»
- Какая бывает память: краткий обзор для тех, кто не хочет глубоко копать
04. Профессия:
дата сайентист
Data Scientist — это программист-аналитик, который работает с большими данными и занимается машинным обучением.
Большие данные, big data — это массив неструктурированной информации, которую нужно собрать, обработать, найти закономерности и сделать выводы.
Машинное обучение — это настройка нейросетей для работы с big data.
Языки программирования: Python, R, SQL.
Что еще нужно знать и уметь? Обязательно знать математику и методы статистики. Также, нужно знать алгоритмы машинного обучения и уметь работать с базами данных.
Где можно работать? Прогнозы, аналитика и математическое моделирование нужны везде: в бизнесе, финансах, на производствах, в медицине и сельском хозяйстве.
В сфере IT, дата-сайентист разрабатывает ботов и алгоритмы. Например, Youtube и Instagram написаны на Python, а искусственный интеллект подбирает рекомендации и администрирует платформу.
Развивающиеся сферы: NLP (natural language processing — распознавание человеческой речи), компьютерное зрение, разработка алгоритмов искусственного интеллекта.
Сколько зарабатывает дата сайентист?
По данным HH.ru, джуниоры получают от 70 тысяч рублей, а опытные специалисты в среднем зарабатывают 200 тысяч рублей в месяц.
Полезные статьи:
- Кто такой дата сайентист — простыми словами
- Как это — изучать Data Sceince в 2019 году
- За что все любят Python
- С чего начать обучение SQL
- Пример анализа данных с использованием Python
- Анализ данных без навыков программирования
- Не становитесь Data Scientist
05. Профессия:
DevOps инженер
Как расшифровать? DevOps — сокращенное от development and operations. Означает взаимодействие людей, занимающихся разработкой, тестированием и операциями. Это метод автоматизации разработки, задача — быстрый выпуск качественного ПО. Девопс охватывает весь процесс производства софта: от написания кода, до релиза и поддержки.
Девопс-инеженер совмещает несколько профессий: системного администратора, разработчика, тестировщика и менеджера. Считается, что девопс — это роль для опытного сисадмина.
Что нужно знать и уметь? Девопс умеет настраивать железо и адаптировать под него код. У него есть опыт администрирования ОС Windows и Linux, он умеет работать с инструментами автоматизации, тестирования, оптимизации. Девопс может написать скрипты и код, разбирается в сетевых технологиях. Подробнее о навыках в статьях:
- Кто такой DevOps и как им стать: план обучения
- DevOps-инструменты, которые должен изучить каждый в 2020 году
Еще одна специализация — это DevSecOps, Security Development. Это работа с недостатками и уязвимостями приложений. Подробнее в статье Страх и ненависть DevSecOps.
Где можно работать? В компаниях, которые разрабатывают приложения и управляют серверами. Девопсов любят IT-гиганты вроде Amazon и Facebook.
Сколько зарабатывают DevOps? Девопс-инженеры зарабатывают больше всех в айти. По данным hh.ru, начинающие девопсы получают от 100 тысяч, а опытные специалисты — от 250 тысяч рублей в месяц.
06. Профессия:
разработчик ПО
Разработка прикладного программного обеспечения — это проектирование, написание, тестирование и поддержка программ, предназначенных для пользователя. Примеры прикладного ПО: текстовые и графические редакторы, веб-браузеры, компьютерные игры, системы автоматизации для бизнеса. Синоним: десктоп-приложения.
Каждый разработчик ПО умеет программировать, но не каждый программист может разрабатывать ПО.
из статьи: Не путайте разработку ПО и программирование
Разработчики программного обеспечения — это девелоперы и инженеры, которые делают ПО с нуля. Между позициями разработчика и инженера ПО есть различия.
Разработчик (developer) программирует по тех. заданию, пишет код, занимается отладкой и юнит-тестами, дизайном. Обычно разработчик привязан к определенному языку, и должность включает его название. Например: Junior Flash Developer, Lead Java Developer, Senior .NET Developer, и т.д.
Инженер — это опытный архитектор, который проектирует ПО с нуля. В то время как разработчик сосредоточен на определенном куске ПО, инженер видит big picture и контролирует полный цикл. Инженера можно сравнить с фулстеком.
У Software Engineer обычно очень большой кругозор. У американцев есть отличная поговорка: когда у тебя есть только молоток, все вокруг выглядит как гвоздь. Поэтому меня раздражают позиции с названиями типа Java Engineer или Ruby Engineer. Инженер не может быть привязан к языку.
ИЗ СТАТЬИ: CODER VS. DEVELOPER VS. ENGINEER — А КАКОЙ JOB TITLE У ТЕБЯ, %USERNAME%?
Языки программирования: Python, С#, Java, JavaScript, C, C++, Delphi.
Подробнее о технологиях в статьях:
- Кроссплатформенность — это круто
- Создание классических приложений для компьютеров с Windows
- 7 трендов в разработке ПО: что изучать программистам в 2020 году
- Пример создания простого десктоп-приложения на HTML, CSS и JavaScript
Где можно работать? В IT компаниях, которые разрабатывают прикладное ПО. Пример: вакансия в Яндексе.
Сколько зарабатывают разработчики ПО? ЗП зависит от опыта и знания конкретных технологий. По запросу software developer на hh.ru видим, что младшим специалистам (junior) в среднем предлагают 100 тысяч рублей, а старшим специалистам — от 200 тысяч рублей.
07. Профессия:
тестировщик (QA-инженер)
Тестировщик — это QA-инженер, который ищет ошибки в ПО, проверяет его качество и соответствие техзаданию.
Как расшифровать? QA — от английского Quality Assurance, проверка качества.
Младший тестировщик тестирует программы вручную, без скриптов и кода, по заранее описанным планам. Опытные инженеры по тестированию самостоятельно пишут и проводят тест-планы — часто автоматизированные, с использованием скриптов и языка программирования.
Должность тестировщика — оптимальное начало карьеры в IT, т.к. эта специальность проще других технически. QA-инженеры видят продукт со всех сторон. Пути развития — уйти в менеджеры, разработчики, либо стать ведущим специалистом по QA.
Что нужно знать и уметь? Для старта, потребуется опыт работы в технической поддержке, понимание архитектуры ПК, Linux, сетевых моделей OSI, знание основ программирования на любом популярном языке, навыки работы с инструментами тестирования.
Инструменты: багтрекеры (Bugzilla, Jira), инструменты автоматизации (Selenium), сетевые утилиты (Wireshark). Подробнее о технологиях в статьях:
- Инструменты тестировщика
- Тестирование. Фундаментальная теория
- Краудтестинг, или Где взять опыт для первой работы в тестировании
Где можно работать? В IT-компаниях, разрабатывающих софт, игры, мобильные приложения, системы безопасности и т.д.
Сколько зарабатывает тестировщик?
По данным Хабр.Карьера, средняя зп:
стажёра — 35 тысяч рублей,
младшего специалиста (junior) — 50-60 тысяч рублей,
среднего (middle) — 70-80 тысяч,
старшего специалиста (senior) — от 100 тысяч рублей.
Где учиться
на программиста?
01. ВУЗы
Зачем нужно высшее образование в IT?
- Крупные компании, банки и государственные структуры принимают на работу только при наличии диплома о высшем образовании.
- Диплом потребуется, если вы решите переехать за границу.
- ВУЗ — это фундаментальные знания. Язык программирования можно освоить самостоятельно. Знания математики, алгоритмов, вычислений, принципов организации сетей лучше получить в ВУЗе.
Абитуриенту лучше выбрать факультет информатики, либо физику, математику и другие технические специальности. Для поступления нужно сдать ЕГЭ по математике, физике или информатике, русскому языку. Вас может заинтересовать статья про высшее техническое образование для абитуриентов.
Если у вас уже есть высшее образование, можно пойти на второе высшее, выбрав заочную или вечернюю форму обучения для экономии времени. Вас может заинтересовать статья про второе высшее техническое образование.
Нужна ли программерам вышка — больной вопрос для общества. Он всегда вызывает дискуссии с переходом на личности. Я встречал отличных программеров как с вузовскими дипломами, так и с девятью классами образования. Но с дипломами я их встречал больше. Возможно, их просто в принципе больше.
из статьи «Изначально мне платили 30 тысяч рублей»
Альтернатива и обязательное дополнение к высшему образованию — это онлайн курсы и онлайн-школы.
02. Курсы и школы
Это кратчайший путь в IT для всех желающих.
Достоинства курсов: структурированная информация, свободный график, домашние задания, работа с наставником.
Недостатки: свободный график требует самодисциплины, в любом случае придется много работать и усердно учиться, знания не вкладываются в голову автоматически.
Список лучших ресурсов для IT образования:
- Codeacademy — лучшая англоязычная платформа, обучают всем актуальным языкам программирования, библиотекам и фреймворкам. Можно проходить отдельные уроки, либо выбрать курс. Есть бесплатные курсы для начинающх, и продвинутые платные курсы для профи.
- MIT OpenCourseWare — все курсы Массачусетсткого технологического института в свободном доступе.
- Codewars — огромный сборник тестовых задач для тренировки навыков по любому языку программирования.
- Skillbox — огромный выбор из 26 профессий и 35 курсов по программированию разной сложности, с нуля до про. Например, за 9 меcяцев можно освоить профессию тестировщика, за 12 месяцев — стать разработчиком Python, а за 18 — освоить Data Science. Перед покупкой, обязательно читайте отзывы учеников Skillbox.
- Stepik — бесплатные курсы, преимущественно на английском, но также можно отфильтровать курсы на русском языке.
- Нетология — курсы программирования для начинающих. Предлагают множество бесплатных лекций и вебинаров. Отзывы учеников Нетологии на специальной странице.
- GeekBrains — предлагают программы с трудоустройством для новичков по направлениям веб-разработка, мобильная разработка, геймдев и десктоп, инженерия и анализ данных. Почитать отзывы GeekBrains можно тут.
- Skillfactory — лидер обучения по направлению data science. Также предлагают курсы по разным технологиям и специализациям разработки.
- JavaRush — платный русскоязычный курс программирования на Java в форме онлайн-игры. Содержит 1200 практических задач возрастающей сложности.
- HTML Academy — интерактивные курсы по HTML и CSS, от решения простых практических задач до создания полноценных сайтов. Есть бесплатные блоки.
Также, смотрите подборку 70+ бесплатных ресурсов для изучения программирования и список лучших курсов по программированию.
03. Книги для программистов
Для каждой специальности есть свой набор книг. Это список книг, которые могут быть полезны всем.
- «Искусство программирования», Дональд Кнут. Вильямс
- «Программирование: принципы и практика с использованием C++», Бьярне Страуструп. Вильямс
- «Чистый код. Создание, анализ и рефакторинг», Роберт К. Мартин. Питер
- «Путь программиста», Джон Сонмез. Питер
- «Алгоритмы. Построение и анализ», Томас Х. Кормен. Вильямс
- «Совершенный код», Стив Макконнелл. БХВ
- «Рефакторинг. Улучшение существующего кода», Мартин Фаулер. Символ Плюс
- «Сам себе программист», Кори Альтхофф. Эксмо
- «Идеальный программист. Как стать профессионалом разработки ПО», Роберт Мартин. Питер
Как начать карьеру в IT?
Начать карьеру в айти может каждый — школьник, гуманитарий, человек 35+.
Руководство: программирования для детей.
- Выберите специализацию. Подумайте, что вас привлекает — мобильная разработка, игры, веб, железо… Выбирайте из списка выше, и смотрите какие языки используют в каждой сфере.
- Выберите путь обучения. Начать можно с бесплатных курсов, а затем перейти к платным. Стоимость курсов зависит от насыщенности программы, наличия обратной связи, диплома. Подборка платных и бесплатных курсов в списке выше. (гиперлинк)
- Практикуйте. Выполняйте домашние задания, смотрите и повторяйте чужой хороший код, гуглите вопросы и проблемы.
- Создайте портфолио. Сделайте пет-проект: напишите небольшую программу, веб-сайт, бота. Эту работу вы покажете на первых собеседованиях. Портфолио можно разместить на GitHub (смотрите Как оформить профиль на GitHub).
- Устройтесь стажёром. Найти и начать работу может быть сложно. Сохраняйте спокойствие — изучайте вакансии, требования, просите тестовые задания. Если в вашем городе есть IT-компании — обращайтесь в HR отделы на тему стажировки.
- Либо идите на фриланс. На фрилансе нет наставников, но можно собрать много навыков на разных заданиях. Подробнее в нашей статье Кто такой фрилансер.
- Продолжайте учиться, всегда. Войти в IT просто — на младшие позиции, в роли стажёров и джуниоров. Подняться до среднего уровня сложнее — продолжайте изучать новые языки и технологии. Да пребудет с вами сила!
Отзывы о профессии
Для меня программист – это, в первую очередь, архитектор. Человек, хорошо владеющий абстракциями и способный выстроить простую связь между различными объектами. И я не очень понимаю, при чем тут математика вообще. Она нужна в довольно узком круге задач по вычислению или оптимизации. Нет, конечно, она полезна, но не критична и, имхо, точно не является обязательной культурной составляющей. Математика – всего лишь инструмент, как и языки программирования.
ИЗ КОММЕНТАРИЕВ К СТАТЬЕ КТО ТАКОЙ ПРОГРАММИСТ
Освоить JavaScript оказалось гораздо сложнее, чем разобраться с тегами в HTML и CSS. Это уже полноценный язык программирования, и, чтобы в него вникнуть, придется понять довольно сложные концепции. Например, хойстинг, замыкания, каррирование, контекст вызова функции, параметры и аргументы функции…
Это как раз те штуки, которые ребята-технари изучают еще в вузах. Без фундаментального образования понять такое сложно. Мне удалось более-менее разобраться в них примерно за год. Помогло постоянное общение с более опытными коллегами.
ИЗ СТАТЬИ КАК Я СТАЛ ПРОГРАММИСТОМ (ОПЫТ ГУМАНИТАРИЯ)
Изучайте математику. У меня есть небольшой секрет, как начать: купите любую продвинутую энциклопедию для детей или научно-популярную книгу о математике и погрузитесь в атмосферу, освежите базовые термины. А там пойдёт и даже затянет.
ИЗ СТАТЬИ ПРОГРАММИСТ 2020: ТЕРМИНАТР ОТДЫХАЕТ
Не бойтесь показывать свой код более опытным программистам, вашим одногруппникам, не бойтесь критики, ведь лучше раньше осознать свои ошибки и научиться писать читабельный, грамотный код. Участвуйте в открытых проектах или хотя бы посмотрите, как пишут программы, например, на github. К тому же сейчас есть книги с рекомендациями по стилю написания кода, что может помочь привить «чистоту кода» уже на начальных стадиях обучения.
ИЗ СТАТЬИ ИСТОРИЯ ОДНОГО ПРОГРАММИСТА
Предположим, вы добросовестно изучили JavaScript. Потом ищете работу программистом JavaScript. И вам внезапно предлагают стать системным программистом. Работодатель говорит, что ваш JavaScript хорош, но вакансии стажёров у него только для системных программистов С. Поэтому можете пойти на стажёра С.
Хитрость тут в том, после такой первой работы вернуться работать с JavaScript будет проблемно. Как программист С, вы уже будете опытным. Как программист JavaScript — нет, возврат к JavaScript снизит вашу зарплату в два раза. Поэтому вы остаетесь системным программистом С на всю оставшуюся жизнь. Не думаю, что это плохой вариант. Но о таких ограничениях надо знать.
ИЗ СТАТЬИ КАК СТАТЬ ПРОГРАММИСТОМ
Можно услышать мнения, что вот-вот разработчиков заменит искусственный интеллект, кодить будут роботы и программирование исчезнет как вид человеческой деятельности. В ближайшее время это вряд ли произойдёт: во-первых, потому что искусственный интеллект кто-то должен разрабатывать, во-вторых, программирование — это не только код, это сложная интеллектуальная работа над обработкой требований, алгоритмами, логикой. Пока это подвластно только человеческому мозгу.
Если вы учитесь быть программистом, однажды вам обязательно захочется бросить это всё, потому что путь покажется слишком длинным. Вы устанете от однообразных тренировочных задач, каждая неудачная компиляция будет вызывать тупое, болезненное отчаяние, вам будут сниться указатели, рекурсии и принципы ООП.
Желание бросить — первый признак того, что вы идёте верным путём, что вы действительно напрягаетесь. Совет простой: не бросайте. Отвлекитесь, переспите с этими мыслями, забросьте обучение на неделю и вернитесь. Вы сами не заметите, как в голове что-то «щёлкнет» и всё встанет на свои места и вот он, первый мерж, первое код ревью, первый коммит в open source, первое выступление на митапе, свой пет-проект, первые задачи на должности миддла. Не останавливайтесь — всё будет!
Часто задаваемые вопросы
В среднем, стажёр получает 50 тысяч рублей, младший специалист (junior) — 80 тысяч, средний (middle) — 100 тысяч, старший специалист (senior) — 150 тысяч рублей. Зарплата зависит от региона, специальности программиста и знания конкретных языков и технологий.
1. Выбрать сферу: мобильная разработка, веб-разработка, анализ данных
2. Получить образование: ВУЗ, курсы, самообучение
3. Практиковать: написать собственный сайт, программу, бота
4. Устроиться стажёром или взять первый заказ на фрилансе
5. Продолжать учиться
Абитуриенту лучше выбрать профильный факультет информатики, либо физику, математику и другие технические специальности.
Для поступления нужно сдать ЕГЭ по математике, физике или информатике, русскому языку.
Знание математики полезно в работе и обучении, с математикой проще писать код, математика точно нужна в Data Science и анализе данных.
В остальном, главное — это знать синтаксис языка программирования, его протоколы и библиотеки, и соблюдать дедлайны. 🙂
Это миф. Программисту приходится работать с заказчиками и командой, для этого нужны хорошие коммуникативные навыки. Другие важные качества программиста: гибкость, адаптивность, креативность, самодисциплина.
Реклама. Информация о рекламодателе по ссылкам в статье.
Оглавление
- 1 Кто такой программист?
- 2 Специализации программистов: сколько зарабатывают, что нужно знать и уметь
- 3 01. Профессия:мобильный разработчик
- 4 02. Профессия:веб-разработчик
- 5 03. Профессия:системный программист
- 6 04. Профессия:дата сайентист
- 7 05. Профессия:DevOps инженер
- 8 06. Профессия:разработчик ПО
- 9 07. Профессия:тестировщик (QA-инженер)
- 10 Где учитьсяна программиста?
- 11 Как начать карьеру в IT?
- 12 Отзывы о профессии
- 13 Часто задаваемые вопросы
Вообще здорово, что сейчас обучиться можно хоть самому по статьям, хоть в спец. школах/курсах/вебинарах, хоть пойти непосредственно к разработчикам, многие компании делятся практическим опытом, это круто
Большое спасибо за мега-статью!
Илья, всегда пожалуйста, и благодарим за фидбек 🙂
Всем давно понятно, программирование всегда было и останется одним из самых модных направлений. Всегда интересовал вопрос, куда лучше всего пойти чтоб однозначно достичь успеха и работать на результат? По каким критериям выбрать место учебы и преподавателя и больше всего — можно ли обучится этому самостоятельно? В целом, на некоторые вопросы увидел ответы, но хотелось бы похожую статью со всеми нюансами обучения
Иван, вы правы, программирование — это, в первую очередь, самообучение. Начать стоит с выбора языка, вас может заинтересовать наша статья с обзором языков программирования для начинающих: https://videoinfographica.com/programming-languages/. Начинать стоит с изучения документации по выбранному стеку технологий + бесплатные курсы, коих много, например, на stepik. Платные онлайн-школы хороши тем, что задают направление обучения, дают программу и фидбек. Выбрать школу можно среди рекомендуемых нами — уже 5 лет наша команда следит за обновлениями в курсах и программах, списки рекомендованных платных курсов регулярно обновляются. Благодарим за фидбек
Кто знает про компьютерную академию ШАГ, хорошая ли у них программа, стоит ли учиться у них?
За статью огромное спасибо)
Рекомендую связаться (на Facebook например) со студентами, которые уже проходили обучение в вашем регионе.
По прогнозам, айти-профессии будут, как и сегодня, в коронакризисный период, самыми востребованными. Даже начинающим, без опыта, есть возможность найти работу на удалёнке, не имея даже базовой подготовки. Но там и зарплаты в разы меньше, чем у профессионалов.
Я с интересом прочитала вашу статью и у меня возник вопрос. На каком уровне необходимо знание английского языка, чтобы начать обучение программированию?
Возможность найти работу есть, да, но только у вас могло сложиться ошибочное понимание, что кому-то (бизнесу, заказчику, корпорации…) нужны начинающие, без подготовки и без опыта. В реальном мире с точностью наоборот: начинающий = самый дорогой работник. Так как в такого программиста нужно вкладывать ресурсы, внимание и т.п. и нет гарантии, что в итоге он от вас не уйдёт. В итоге, Джуну найти работу за которую нормально платят трудней всего.
Нормальный уровень английского для программиста — Intermediate. Позволит читать техническую литературу, слушать англоязычных спикеров, смотреть анг. уроки на YouTube, общаться с зарубежными коллегами, понимать собеседника.
Конечно же профессия мобильного разработчика сейчас будет продолжать быть очень востребована. И как мне кажется ,что перспективнее изучать Java и Kotlin .Так как подавляющее число пользователей в регионах на Android и их в разы больше по всей стране в целом. И будет становиться только больше.
Программистов уже заменяют роботы\фреймворки, не факт что будет продолжать, но еще признаков упадка нет, да. Еще не поздно запрыгнуть в последний вагон. )
Круто всё описали. Сам сейчас встал на путь программирования, прохожу курсы, читаю книги разные) Статья реально помогла мне во многом, расширила моё видение реализации своих интересов)
Всяческих успехов. Главное, чтобы нравилось и работа была как любимое хобби.
С каждым годом профессия становится наиболее популярной, особенно сейчас. Её прелесть в том, что нет стойкой необходимости поступать в Вуз, достаточно пройти курсы и самосовершенствоваться, благо полезных материалов для этого достаточно. С таким уровнем знаний можно легко найти хорошую команду, или что-то своё организовать.