Ещё несколько лет назад считалось, что стать программистами могут только избранные — прожжённые технари с математическим складом ума. Программистам по-прежнему легче, но теперь попасть в IT намного проще — научиться программировать и хорошо зарабатывать могут и гуманитарии. Спасибо интернету, соцсетям и многочисленным онлайн-курсам. Причём сделать это можно всего за 6–12 месяцев — большинство языков и платформ реально освоить за этот срок. В этой статье подробно разбираемся, сколько времени учиться на программиста.
Самые популярные языки программирования
Чтобы стать программистом, прежде всего нужно выбрать язык программирования. Начните с одного и постепенно изучайте новые.
Язык программирования — это система семантических, лексических и синтаксических правил, которая помогает писать программы. Как в человеческом языке, только для техники. Язык программирования нужен, чтобы машина поняла, что от неё хочет человек.
Сегодня в мире насчитывается более 700 языков программирования и у каждого языка свои задачи и область применения. В таком разнообразии легко потеряться. Вот, на что нужно обратить внимание, чтобы выбрать максимально подходящий для себя язык программирования:
- Простота. Если вы изучаете с нуля или пока не уверены в своих силах или намерениях, лучше выбрать язык с простым синтаксисом. В таких языках код похож на обычный текст, поэтому их легко понять и запомнить.
- Скорость изучения. Чем быстрее вы освоите язык, тем скорее приступите к практике и начнёте работать. Самые интуитивно понятные языки: Go, Python и JavaScript.
- Востребованность языка. Если ваша цель — быстрее начать зарабатывать, выбирайте языки, которые занимают высокие места в рейтингах. Самые известные рейтинги — TIOBE и IEEE. В первый попадают языки, на которых написано больше всего строк кода, а во втором используют чуть больше критериев: популярность на сайтах для поиска работы и упоминания в сервисах для программистов и соцсетях. Программисты, среднего и высокого уровня подготовки получают плюс-минус одинаково, а рейтинги всё время обновляются. Тем не менее, рейтинги помогут вам «нащупать» верное направление и понять, что происходит в IT-индустрии.
Для старта подойдёт любой из основных языков. Вот список самых популярных языков программирования 2021 года — от самых простых до наиболее сложных.
Go (Golang)
Go или Golang — это язык с открытым исходным кодом, который разработала компания Google. Инженеры стремились к простоте, чтобы максимально избавить разработку от лишних операций и тем самым ускорить её.
У Go простой синтаксис — в языке нет наследования, классов и объектов, которые значительно усложняют код. При этом Go читается слева направо — как обычный текст в учебнике. А ещё это самый высокооплачиваемый язык по итогам 2020 года.
Область применения. Go активно используют в облачном программировании и разработке операционных систем. На нём пишут серверную часть веб-сервисов, ПО для совместной работы, консольные утилиты и финансовые приложения.
Docker — один из самых известных проектов, созданный на Go
Сложность в освоении для новичка: 1 — очень лёгкий.
Время освоения для новичка: можно освоить за выходные.
Изучить Go и начать программировать на нём можно на этих курсах
Python
Выпущенный в 1991 году, Python не теряет актуальности — сейчас это первый по популярности язык на GitHub. Его часто рекомендуют изучать в качестве первого языка программирования. У Python минималистичный и логичный синтаксис, поэтому язык ясный, интуитивно понятный и его легко читать.
Писать на Python тоже несложно: у него много библиотек — наборов готовых функций, объектов и подпрограмм, которые вы можете использовать в своих проектах.
Область применения. На Python можно создать почти всё: нейронные сети, системы для распознавания фото и видео, серверы, боты для мессенджеров и соцсетей, программы для парсинга и др. Python используется в разработке, машинном обучении, дата-сайенсе и анализе данных.
Рекомендательная система Netflix — стримингового сервиса, который пользуется огромной популярностью во всё мире, написана на Python
Сложность в освоении для новичка: 2 — легко освоить благодаря простому синтаксису, обилию библиотек и активному сообществу.
Время освоения для новичка: простой скрипт можно научиться писать за неделю, а для более углублённого изучения понадобится от месяца до полугода.
Изучить Python и начать программировать на нём можно на этих курсах
PHP
PHP — серверный язык, на котором делают программы, обрабатывающие запросы клиентов на сайтах. 80% всех сайтов разработаны на PHP.
Чтобы начать писать код на PHP, хватит простейшего хостинга и блокнота. А ещё есть подробная документация и много форумов, где можно найти решение определённых задач. Найти работу тоже несложно — на позицию младшего сотрудника берут даже с минимальным опытом.
Область применения. Создание сайтов и веб-приложений: лендингов, блогов, интернет-магазинов, браузерных игр и др.
WordPress, самая популярная система управления контентом, написана на PHP. 30% действующих сайтов работают на WordPress. Изображение: ru.wordpress.org
Сложность в освоении для новичка: 3 — умеренно лёгкий, считается подходящим для новичков. Много документации и готовых решений. Большое сообщество.
Время освоения для новичка: можно освоить за 1–2 недели.
Изучить PHP и начать программировать на нём можно на этих курсах
Kotlin
Kotlin появился в 2011 году, а затем Google начал активно использовать его для разработки приложений под Android и объявил Kotlin приоритетным языком для android-разработки .
Начать писать на Kotlin достаточно просто. Но Android-разработчику желательно знать и Kotlin, и Java, поскольку во многих проектах используют оба языка. Можно даже половину проекта написать на одном языке, а потом перейти на другой — они полностью совместимы.
Область применения. Разработка приложений для Android.
MoneyFlow — приложение для управления деньгами для Android, сделано на Kotlin. Изображение: apptractor.ru
Сложность в освоении для новичка: 4 — достаточно прост для изучения благодаря гибкому и лаконичному синтаксису.
Время освоения для новичка: можно освоить за месяц.
Изучить Kotlin и начать программировать на нём можно на этих курсах
Swift
Swift — язык программирования, который корпорация Apple создала специально для своей продукции. Плюс языка — возможность писать код одновременно для нескольких платформ: скажем, макбука и айпада.
По Swift много учебных и справочных сайтов, в том числе и официальный портал разработчиков Apple. Насчёт перспектив тоже сомнений не возникает — пока жив Apple, язык будет востребован.
Область применения. Разработка iOS-приложений.
TSWeChat — аналог известного чат-приложения WeChat для Apple, был написан на Swift
Сложность в освоении для новичка: 5 — достаточно прост для изучения: синтаксис очень близок к разговорному английскому и его легко читать.
Время освоения для новичка: чтобы понять основы, понадобится 1–2 месяца.
Изучить iOS-разработку и начать делать приложения можно на этих курсах
Java
Java — это старый стабильный язык «для всего», выпущенный в 1995 году. На нём пишут мобильные приложения для Android, программы для микроволновых печей и серверы. Большинство приложений, которыми мы пользуемся каждый день, сделаны на Java.
Он подойдёт новичкам: Java — это «классика» с большим количеством библиотек. А в большом сообществе начинающий разработчик сможет найти готовые куски кода для разных задач и ответы на вопросы.
Область применения. Бэкенд-разработка в вебе, разработка приложений для Android и ПО и геймдев. Часто используется в разработке продуктов в финансовом секторе.
Крупнейший в мире онлайн-ритейлер Amazon используют Java для разработки своих облачных веб-сервисов
Сложность в освоении для новичка: 6 — умеренно сложный, Java будет легче изучить с базовым пониманием классов, фреймворков, пакетов и объектов. Плюс Java — поддержка огромного сообщества.
Фреймворк — это каркас, почти готовое приложение. Вам нужно лишь дописать для этого каркаса дополнительные функции, подогнав под свой проект
Время освоения для новичка: если вы владеете основами программирования, хватит и двух недель. А если изучать всё с нуля, понадобится как минимум два месяца.
Изучить Java и начать программировать на нём можно на этих курсах
JavaScript
JavaScript — самый популярный язык веб-разработки, созданный в 1995 году. Веб-программисты очень востребованы — они нужны везде, где делают мобильные приложения и игры.
У JavaScript гибкий синтаксис и он работает во всех основных браузерах — это делает язык одним из самых дружелюбных для начинающих. Об этом даже написано на официальном сайте языка.
Область применения. JS используют для веб-разработки. На нём удобно создавать мобильные и десктопные приложения, которые будут работать через браузер.
Браузер Mozilla Firefox отчасти написан на JavaScript. Изображение: rezanauma.com
Сложность в освоении для новичка: 7 — умеренно сложный, при затруднениях можно получить помощь от огромного сообщества.
Время освоения для новичка: изучить основы можно за пару недель, но для полного понимания потребуется примерно полгода.
Изучить JavaScript и начать программировать на нём можно на этих курсах
C#
C# (си-шарп) — язык, который придумала компания Microsoft, чтобы делать приложения под Windows. Помимо этого, его используют в мобильной разработке и для создания 3D- и 2D-видеоигр на мегапопулярном игровом движке Unity.
Это объектно-ориентированный язык — его сложнее изучать, но проще использовать: требуется писать меньше одинакового кода. Синтаксис C# аналогичен синтаксису языков, производных от C, поэтому его легко понять, если вы переходите с другого языка семейства C.
Область применения. Десктопные программы, бэкенд веб-приложений, геймдев — игры на Unity. Это главный язык .NET — платформы, на которой создают и поддерживают веб-службы и приложения для Windows.
Почти вся продукты компании Adobe написаны на C#. В особенности графические редакторы Photoshop и Lightroom. Изображение: whatdigitalcamera.com
Сложность в освоении для новичка: 8 — умеренная сложность изучения, средний порог вхождения.
Время освоения для новичка: выучить язык можно за 2–3 месяца.
Изучить C# и начать программировать на нём можно на этих курсах
C
C — один из самых старых языков программирования, выпущенный в 1969 году. Тем не менее, он продолжает держать марку. C «лёгкий» и быстрый, поэтому его используют там, где нужна высокая производительность.
При этом C сложно освоить — многое приходится писать с нуля. Но с него можно начать погружаться в программирование. Учиться непросто, но если справитесь, поймете принцип действия почти всех остальных языков. Вместе с языком Pascal язык С обычно изучают в вузе на профильных факультетах.
Область применения. Разработка баз данных, драйверов, компиляторов и интерпретаторов, операционных систем или ПО для микроконтроллеров.
Первые версии языков Java, Python и PHP созданы на основе C
Сложность в освоении для новичка: 9 — средняя сложность. Сам язык относительно несложный, но нужно понимать, как работает железо. Мало литературы. Достаточно высокий порог вхождения.
Время освоения для новичка: изучить язык можно за месяц, но чтобы начать самостоятельно писать программы, потребуется 6–12 месяцев.
C++
C++ — ещё один «старичок», который вышел в свет в 1983 году. Это самый сложный, но при этом самый универсальный язык программирования. По популярности он стабильно занимает четвертое или пятое место в рейтингах. C++ — это усовершенствованный язык C. В C ++ есть почти все, что и в C, но он расширяет его функциональные возможности.
Область применения. Микроконтроллеры, интернет вещей, десктопные и мобильные приложения, кроссплатформенные приложения, веб, геймдев и системы прогнозирования, моделирования и обработки статистики.
C++ — главный язык разработки игр
Самый популярный в мире бразуер Google Chrome, число пользователей которого достигло отметки в 300 миллионов, написан на C++
Сложность в освоении для новичка: 10 — самый сложный из перечисленных, высокие требования к начинающим, но с него тоже можно начать учиться языкам — это поможет понять их структуру и принципы.
Время освоения для новичка: начать писать простые программы можно уже через месяц, но чтобы хорошо разобраться в С++ и научиться ориентироваться в нём, понадобится 1–2 года.
Изучить C++ и начать программировать на нём можно на этих курсах
Когда вы начнёте погружаться в языки и пробовать их на практике, вы сразу поймёте, какой вам подходит, а какой — нет. Здесь как с иностранными языками — когда вы освоили один язык, изучать следующие проще. Но не стоит распыляться, лучше углубляйте знания и совершенствуйте навыки. Любой из перечисленных языков программирования можно выучить до начального уровня за 6–10 месяцев. Главное — определиться с направлением.
Популярные направления программирования
Сколько учиться на программиста и выбор языка программирования во многом зависит от области разработки, на которой вы остановитесь. Расскажем о самых востребованных и перспективных.
Время освоения для новичка: на позицию младшего специалиста по любому из перечисленных направлений можно выйти за 6–12 месяцев.
Фронтенд
Фронтенд-разработка — это создание пользовательского интерфейса: внешней части сайтов и приложений, с которой непосредственно взаимодействует пользователь.
Фронтендер стремиться сделать интерфейс максимально удобным и визуально приятным для пользователя. Для этого он тщательно шлифует и тестирует каждый элемент интерфейса и следит, чтобы они нормально функционировали, хорошо отображались и быстро загружались во всех браузерах и устройствах.
Отображение кнопок и как они нажимаются, как выглядят и заполняются формы, как выпадает меню и меняются строчки при нажатии, как ездят слайдеры — всё это программирует фронтендер
Набор разработчика. Языки разметки и стилей HTML+CSS и JavaScript, системы контроля версий вроде Git и базы данных. Важно разбираться в тестировании, вёрстке для разных устройств и принципах UI/UX.
Если вы хотите проектировать пользовательский опыт — вам во фронтенд
Бэкенд
Бэкенд-разработка — это создание программно-аппаратной части сервиса: баз данных, архитектуры, вычислительная логика и др. Бэкенд-разработчик делает внутреннюю, «невидимую» пользователям часть сайтов и приложений, которая как раз и позволяет им работать.
Хранение данных в базах данных, связка полей формы регистрации и корзины, интеграция с платёжными системами, автоматические письма, подгрузка и обновление контента — это всё бэкенд
Набор разработчика. Бекэнд-разработчик должен знать один или несколько серверных языков. Какой именно изучать — зависит от назначения сервера: PHP и Python подойдут для веба, производительный С++ — для игр, Java — для сайтов с большими базами данных и сложными задачами наподобие Uber или Airbnb. Важно знать популярные базы данных: MySQL, Oracle, Microsoft SQL Server и PostgreSQL.
Если вы хотите рулить «начинкой» сайтов, приложений и сервисов — вам в бэкенд
Data science
Data science, дата-сайенс — это наука о «больших данных». Она исследует неструктурированную информацию: метеоданные за определённый период, статистику запросов в поисковых системах, результаты спортивных состязаний и др. Чтобы структурировать эту «сырую» информацию, дата-сайентист использует машинное обучение — искусственный интеллект.
Дата-сайентист анализирует и интерпретирует данные, ищет зависимости и на этой основе строит модели, которые помогают бизнесу принимать грамотные решения.
Набор дата-сайентиста. Важно разбираться в математике и матанализе, экономике и статистике, технологиях машинного и глубокого обучения. Дата-сайентист должен владеть основными языками программирования, у которых есть компоненты для работы с большими массивами данных: Java, C++, Python и R. Ещё понадобятся инструменты для анализа статистики, программы для визуализации и презентации результатов, базы данных и язык запросов к ним SQL.
Изучить SQL и начать программировать на нём можно на этих курсах
Если вы любите аналитику и хотите обучать роботов — вам в дата-сайенс
Мобильная разработка
Мобильная разработка — это создание приложений для мобильных устройств: смартфонов, планшетов и умных часов. Разрабатывать можно игры, мобильные версии интернет-магазинов или онлайн-банки.
Мобильный разработчик делает такие приложения от и до: продумывает их внутреннюю логику, оптимизирует производительность, пишет техническую документацию и тестирует. Ещё в задачи может входить отрисовка интерфейса и его отдельных элементов.
Набор разработчика. Базовый набор знаний и навыков специалиста зависит от платформы, которую вы выберете — iOS или Android. Для iOS нужно освоить языки программирования Swift или Objective-C и их фреймворки и изучить стандарты дизайна для iOS — они очень жёсткие: App Store попросту не принимает приложения, которые им не соответствуют. Для Android понадобятся языки Java и Kotlin и хотя у Google Play правила проще, познакомиться с гайдом от Google тоже не будут лишним.
Если вы хотите делать функциональные приложения — вам в мобильную разработку
Геймдев
Геймдев — это разработка игр. Геймдевелопер создаёт игры: пишет концепцию, проектирует дизайн персонажей и сценарии их развития, подбирает игровые механику и настраивает графику и окружение.
Набор разработчика. «Начинку» игр пишут на разных языках: PHP, Java, Python, C# или С++, используя фреймворки ASP.NET, Node.JS и др. Для разработки интерфейсов применяют языки HTML5, CSS3 и JavaScript.
Важно понимать специфику программирования на конкретном языке в привязке к игровому движку — специальной программе для разработки игр, которая содержит для этой цели все необходимые инструменты. Самые популярные движки: это Unity, для работы с которым понадобится C#, и Unreal Engine 4, который поддерживает С++.
Если вы любите игры — вам в геймдев
Сколько времени учиться на программиста
Время обучения программированию зависит от формата. Можно пойти в колледж, университет или онлайн-школу.
Колледж
Учиться на программиста можно начать после девятого класса. В колледже вы разберётесь с основами программирования и алгоритмами и базовыми предметами — математикой, математической логикой, теорией вероятностей архитектурой компьютерных систем и операционные системы и др. В целом колледж — способ понять, нужно ли вам это или нет, и приобрести первичные навыки, чтобы в дальнейшем было проще работать и учиться.
Длительность обучения: 3–5 лет.
Стоимость в среднем: 120 тыс. руб. в год.
Университет
Базу можно получить и в университете. Основной упор в программах делается на информатику и информационные системы. Но вузы дают только общие понятия и концентрируются на теории. После обучения вы будете знать, как работают технологии, но практических навыков при этом будет мало — у вас не получится самостоятельно делать крупномасштабные проекты.
Длительность обучения: 4–4,5 года.
Стоимость в среднем: 120–350 тыс. руб. в год.
Онлайн-курсы
Сегодня быстрее и удобнее всего учиться программированию на онлайн-курсах.
Программы на курсах обновляются гораздо чаще, чем в вузах, и дают только самую актуальную информацию, которая точно пригодится в работе. Такой формат обучения позволит всего за год полностью освоить профессию, попробовать себя в «бою» и сделать собственный проект. Опытные преподаватели-практики разберут ошибки и поделятся полевым опытом.
Курсы в онлайн-школах различаются по длительности и наполнению:
Короткие курсы. На коротких курсах вы научитесь самым основам и познакомитесь с IT-терминологией. Такие курсы часто посвящены чему-то одному — языку или задаче, которую он решает, операционной системе, библиотеке или фреймворку. Длительность: 1–2 месяца. Стоимость: 20–80 тыс. руб.
Курс «Введение в программирование» от Skillbox
Средние курсы-профессии. Такие курсы позволяют получит полное представление о какой-либо профессии и научиться пользоваться всеми необходимыми инструментами, чтобы успешно стартовать. Профессии предполагают много практики, реальные пробные проекты, стажировки и помощь с трудоустройством. Длительность: 4–18 месяцев. Стоимость: 50–180 тыс. руб.
Профессия «C#-разработчик» от SkillFactory
Длительные курсы-факультеты. Факультет подразумевает максимальное погружение в область разработки. Вы изучите все тонкости, разберётесь в сложных вопросах и сможете без проблем стартовать в выбранной профессии. На факультетах обычно много практики, индивидуальные и групповые проекты, есть возможность стажировок и помощь с трудоустройством в компании-партнёры. Длительность: 12–26 месяцев. Стоимость: 80–180 тыс. руб.
Факультет Java-разработки от GeekBrains
Коротко о главном
- Чтобы стать программистом, нужно освоить один или несколько языков программирования.
- Языки программирования, которые стоит учить в 2021 году — от наиболее простых к сложным: Go, Python, PHP, Kotlin, Swift, Java, JavaScript, C#, C и C++. Длительность освоения — от выходных до года.
- Выбор языка программирования во многом зависит от области разработки. Популярные направления: фронтенд, бэкенд, дата-сайенс, мобильная разработка и геймдев.
- На позицию младшего специалиста по каждому из направлений можно выйти за 6–12 месяцев.
- Срок обучения на программиста: в колледже три-пять лет, в университете — четыре года.
- На онлайн-курсах срок обучения на программиста в среднем 1 год. Это самый быстрый вариант — для тех, кто не хочет тратить несколько лет на обучение, а хочет скорее начать работать.
Если вы уже хотите поскорее стать программистом, выбирайте любой курс из нашей подборки и начните делать шаги к работе мечты
2 комментария
Привет! Пишу о том, можно ли в 35 лет стать инженером по машинному обучению за год – подписывайтесь на мой канал в Телеграм! Реальная история, всё только начинается https://t.me/blog_data_science_za_god
Получил исчерпывающие ответы на все, интересующие меня в данный момент, вопросы)