ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://tproger.ru/articles/kak-stat-programmistom |
| Last Crawled | 2026-04-07 09:00:10 (2 days ago) |
| First Indexed | 2023-01-29 13:45:16 (3 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Как стать разработчиком с нуля: полный гайд 2026 |
| Meta Description | Пошаговый план: какой язык выбрать, что учить, как найти первую работу в IT. Разбираем все направления — от веба до Data Science. Читайте и действуйте! |
| Meta Canonical | null |
| Boilerpipe Text | • Чтобы стать программистом, нужны как технические навыки (алгоритмы, ООП, базы данных), так и софт скиллы (английский, работа в команде)
• Выбирайте направление по интересам: веб, мобильная разработка, Data Science, геймдев или системное программирование
• Начните с одного языка и доведите его до уровня уверенного использования, прежде чем учить следующий
• Портфолио и практические проекты важнее сертификатов при трудоустройстве
• Самообучение, курсы и менторство — рабочие пути в IT, формальное образование не обязательно
Как стать программистом и с чего начать, если нет практического опыта, а представление о программировании весьма размытое? Подробно рассказываем, как стать востребованным программистом с нуля и на что обратить внимание.
Кто такой программист
Почему вы хотите начать программировать
Что нужно знать, чтобы стать программистом
Какое направление в программировании выбрать в 2026 году
Десктопная разработка
Data Science
Как стать разработчиком на Андроид
План развития iOS разработчика
Как стать разработчиком игр
Как стать Python разработчиком
План развития Java-программиста
Бэкенд разработка — с чего начать?
Как стать фронтенд разработчиком
Full Stack разработка
Какой язык программирования выбрать в 2026 году
Где выучиться на программиста
Классификация разработчиков
Как стать Junior-разработчиком
Где работают программисты
Как найти первую работу в IT
Что спрашивают у Джунов на собеседовании
Что делать, если вам не хватает знаний до вакансии Джуниор-программиста
Заключение
1. Кто такой программист
IT — перспективная отрасль, которая сулит хорошим специалистам
немаленькие зарплаты
. Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Программист — это специалист по разработке компьютерных программ. Под разработкой понимается продумывание архитектуры программы, её реализация, оптимизация и тестирование. Далее мы разберёмся, как стать востребованным айтишником с нуля самостоятельно.
1.1 Чем занимается программист
Это зависит от специфики выбранной отрасли, но в целом всё сводится к написанию и тестированию кода. Важно понимать свои обязанности и не скатываться в звание
раба на галерах
.
1.2 Можно ли стать айтишником с нуля
Разумеется. Для этого существуют
материалы, ориентированные на новичков
: туда входят статьи, подборки книг, обучающие приложения, задачки, видеоуроки и многое другое.
А вот как стать крутым программистом с нуля и с чего начать — другой вопрос. К примеру, Senior разработчика от джуна отличают годы практики и колоссальный опыт, так что только терпение и труд.
2. Почему вы хотите начать программировать
IT — перспективная отрасль, которая сулит хорошим специалистам немаленькие зарплаты. Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Если же вы питаете неподдельный интерес к процессу, смело ступайте на стезю разработки.
3. Что нужно знать, чтобы стать программистом
Чтобы стать успешным и востребованным программистом, нужно обзавестись рядом hard skills и soft skills. Первые отвечают за технические умения и знания, вторые — за качества, которые помогают эффективно работать в команде.
3.1 Hard skills
У каждой профессии свой набор хард скиллов. У программиста это общие технические знания (математика, информатика, алгоритмизация) и набор навыков, свойственный конкретному стеку.
3.1.1 Основы информатики
В такой сложнотехнической профессии понадобятся даже самые азы, а именно:
какие типы данных бывают и чем они отличаются друг от друга;
понимание систем счисления — двоичной и шестнадцатеричной;
булева алгебра
и логические операторы.
понятие
языка программирования
.
3.1.2 Математика
А как же стать настоящим программистом, если плохо с математикой, и
насколько важна математика в разработке
? Требования разнятся в зависимости от сферы: для веба нужна лишь базовая математика, алгоритмы и теория вероятности. Для Data Science потребуется линейная алгебра, а для геймдева — геометрия.
3.1.3 Алгоритмы
Это то, что нужно обязательно знать, чтобы стать программистом. Алгоритмами называют последовательность действий, которая преобразовывает входные данные в некий результат. Наверняка вы слышали об алгоритме сортировки. По сути, алгоритм — это набор инструкций для решения задачи.
3.1.4 Структуры данных
Выбор структуры данных определяет алгоритмы, которые можно применять к данным. Среди базовых структур — массивы, стеки, деревья, графы, множества и отображения.
3.1.5 ООП
Объектно-ориентированное программирование — парадигма, основанная на концепции объектов, которые содержат данные и код. Нужна ли она вам, зависит от языка программирования и выбранного стека.
3.1.6 Системы контроля версий
Git — наиболее популярная система контроля версий. Это инструмент для отслеживания изменений в коде, который позволяет управлять разными версиями проекта. Умение работать с Git необходимо любому разработчику.
3.1.7 Паттерны проектирования
Паттерны — это готовые решения для типичных задач в разработке программного обеспечения. Знание паттернов ускоряет разработку и делает код понятнее для коллег.
3.2 Soft skills
Soft skills — это навыки, которые позволяют эффективно работать в команде. К ним относятся:
Английский язык
. Документация, зарубежные форумы вроде Stack Overflow, переписка с иностранными коллегами — без английского никуда. Изучите хотя бы технический английский.
Советы для IT-специалистов
.
Работа в команде.
Разработка — это командная игра. Чаще всего над проектом трудятся несколько специалистов, которые работают в связке.
Тайм-менеджмент.
Разработчик работает в режиме многозадачности: несколько задач одновременно, стендапы, созвоны с заказчиком, ревью кода коллег. Умение расставлять приоритеты — ключевой навык.
Гибкость и
agile-мышление
.
Требования к продукту меняются, и к этому нужно быть готовым.
3.2.1 Хватит ли базовой математики
Для большинства направлений — да. Требования к математике зависят от специализации:
Веб-разработка — базовая математика, логика, алгоритмы.
Data Science — линейная алгебра, математический анализ, теория вероятностей.
Геймдев — геометрия, физика, линейная алгебра.
Системное программирование — дискретная математика, теория алгоритмов.
3.2.2 Нужен ли английский
Да. Большинство технической документации написано на английском. Вопросы на Stack Overflow, README проектов на GitHub, официальные туториалы — всё это на английском. Без базового понимания языка вы будете ограничены только русскоязычными ресурсами.
Прежде чем думать, как стать айтишником с нуля самостоятельно, стоит определиться с направлением. По данным
Stack Overflow Developer Survey
, самые популярные направления в разработке:
В опросе приняло участие 65 000 разработчиков из разных стран.
Но что насчёт России? Согласно данным «Университета 20.35» за 2020 год, в топ-10 востребованных удалённых ИТ-профессий России вошли:
Java-разработчик
Аналитик данных
Разработчик на языке C#
PHP-разработчик
Специалист службы поддержки
Продуктовый аналитик
Разработчик 1С
Kotlin-разработчик
Системный администратор
Python-разработчик
А вот зарплаты айтишников по специализациям за второе полугодие 2020:
Проценты на диаграмме отражают разницу с предыдущим периодом, а прочерк означает, что данных для сравнения недостаточно.
5. Десктопная разработка
Десктопными называют приложения, которые устанавливаются на компьютер и работают под управлением ОС. Как известно, чтобы стать айтишником с нуля, сперва в любом случае нужно практиковаться на консоли и простых приложениях.
Хотите заниматься этим на серьёзном уровне? Здесь всё просто: если планируете разрабатывать под Windows — учите язык C#, под Linux — C++ или C, под macOS — Swift.
5.1 C#
Этот язык — основа Windows-разработки. Он используется в разработке настольных приложений (Windows Forms, WPF), игр (Unity) и серверных приложений (.NET).
5.2 C++
C++ применяется в системном программировании, геймдеве и разработке приложений, где важна производительность. Этот язык — ближе всего к «железу» из высокоуровневых языков.
5.3 Java
Java-десктоп не пользуется большой популярностью, но имеет место быть: инструментарий для разработки (IDE и другое ПО для разработчиков) часто пишется на Java. К примеру, IntelliJ IDEA.
5.4 Python
Для создания GUI-приложений на Python существуют библиотеки Tkinter, PyQt и wxPython. Это не самый популярный стек для десктопа, но Python как язык общего назначения справляется и с этой задачей.
5.5 Swift
Если ваша цель — macOS-приложения, Swift является основным языком. Он также используется для iOS-разработки.
5.6 JavaScript
Electron — фреймворк для создания кроссплатформенных десктопных приложений на JavaScript. Именно на нём написаны VS Code, Slack, Discord.
5.7 .NET
Платформа .NET от Microsoft используется для разработки Windows-приложений.
Дорожная карта C# разработчика
.
5.8 Ruby
Ruby используется преимущественно в веб-разработке (Ruby on Rails), но также подходит для написания скриптов и утилит.
5.9 Kotlin
Kotlin Multiplatform позволяет писать код, который запускается на Android, iOS и десктопе. Технология активно развивается компанией JetBrains.
6. Data Science
Языки программирования Python и R — общепринятый стандарт для Data Science, так как они оба отлично подходят для работы со статистикой.
6.1 Python
Как стать Python программистом с нуля самостоятельно? На самом деле, не так уж сложно: у языка Пайтон простой синтаксис, много библиотек, развёрнутая и понятная документация. Но есть и минусы, такие как отсутствие удобных средств ORM и не самая высокая скорость работы.
Для Data Scientist у Python есть немало библиотек и фреймворков:
6.2 R
R в свою очередь характеризуется богатой ML-экосистемой, поддержкой векторных вычислений и синтаксисом, заточенным под нужды статиста. Из минусов — меньшее комьюнити и не самый простой синтаксис.
Но у языка R есть свои инструменты для Data Science:
Esquisse и Ggplot2 — библиотеки для создания графиков.
Dplyr — аналог Pandas для R.
Shiny — пакет для интерактивных веб-приложений с визуализацией исследований.
И это не говоря о randomForest, Caret и других библиотеках с методами машинного обучения.
Читайте также:
Как стать AI-инженером в 2024 году — пошаговый гайд
и
11 IT-трендов 2025 года, которые изменят индустрию
.
7. Как стать разработчиком на Андроид
В 2019 году компания Google
объявила Kotlin предпочтительным языком программирования для создания Android-приложений
. Это спровоцировало новую волну споров по выбору языка.
Ответ таков: чтобы стать Android-разработчиком, нужны оба языка, но при этом ознакомиться с их отличительными характеристиками не помешает.
7.1 Java
много библиотек и готовых решений;
большое комьюнити;
разные сферы применения, если вдруг надоест Android-разработка;
документация Kotlin предполагает, что вы знаете Java.
7.2 Kotlin
лаконичный синтаксис;
актуальная IDE, тесно связанная с языком разработки (Android Studio и Kotlin созданы JetBrains);
предсказуемое развитие;
перспективы.
8. План развития iOS разработчика
А как же тогда стать разработчиком iOS? Здесь всё гораздо проще, так как основной язык всего один.
8.1 Swift
Этот язык программирования разработан Apple и многое заимствовал из Objective-C, а также C++.
Преимущества Swift:
компактный язык программирования;
производительность приближена к C++;
тестирование кода в реальном времени со Swift Playgrounds;
постепенно распространяется на другие платформы.
Подробнее —
для чего подходит Swift
.
9. Как стать разработчиком игр
Разработка игр — это отдельная и очень увлекательная область. Она требует знания математики (линейная алгебра, физика), умения работать с игровыми движками (Unity, Unreal Engine) и понимания игровой механики.
9.1 C++
Это язык номер один в геймдеве. Unreal Engine написан на C++, и большинство крупных игровых студий используют его в работе.
9.2 C#
Unity использует C# как основной язык. Это делает C# вторым по значимости языком в геймдеве. Unity подходит как для инди-игр, так и для крупных проектов.
9.3 Blueprint (Unreal Engine)
Система визуального программирования Blueprint в Unreal Engine позволяет создавать игровую логику без написания кода. Это хорошая точка входа для начинающих геймдев-разработчиков.
9.4 GDScript (Godot)
Godot — бесплатный open source игровой движок. GDScript — его собственный язык, похожий на Python. Отличный выбор для начинающих разработчиков игр.
9.5 JavaScript
Phaser, Babylon.js, Three.js — фреймворки для разработки браузерных игр на JavaScript. Это хороший путь для тех, кто уже знает JS и хочет попробовать геймдев.
9.6 Python
Pygame — библиотека для создания простых 2D-игр на Python. Подходит для прототипирования и небольших проектов, но не для AAA-разработки.
9.7 Lua
Lua используется в качестве встроенного скриптового языка во многих игровых движках. Roblox Studio, к примеру, использует Lua как основной язык программирования.
9.8 Rust
Rust набирает популярность в геймдеве благодаря высокой производительности и безопасности памяти. Bevy — игровой движок на Rust.
10. Как стать Python разработчиком
Чтобы стать питонистом, нужно начинать с азов, таких как принципы ООП и синтаксис языка. А понимание того, как стать программистом Python, придёт с определением сферы деятельности. Основных направления для Пайтон-разработчиков два:
Data Science
Веб-разработка
Поскольку первое направление мы уже разобрали, сосредоточимся на веб-разработке. Что же что нужно знать Python веб-разработчику? Обратите внимание на фреймворки Django и Flask. Для эффективной работы с бэкендом достаточно одного из них, но в идеале стоит изучить оба.
Python можно использовать для создания десктопных приложений, геймдева и мобильной разработки, но наилучших показателей с этим языком можно достичь в перечисленных направлениях.
11. План развития Java-программиста
А как можно стать Java разработчиком, если никогда не был программистом? Базис для всех языков плюс-минус одинаков: синтаксис, переменные, условия, циклы, ООП. Для решения специфических задач нужно освоить инструмент сборки и управления проектом Maven или Gradle.
Дальше всё зависит от выбранного направления в Java:
веб-разработка;
Android разработка;
программирование для десктопов;
Big Data.
Все материалы по этим направлениям, инструменты и путь развития вы найдёте в
дорожной карте Java-программиста
.
12. Бэкенд разработка — с чего начать?
Как стать бэкенд разработчиком? Нужно понимать, как устроены операционные системы, уметь работать с терминалом, знать стандарты POSIX и концепции построения сети, управлять вводом и выводом (I/O), процессами, а также памятью.
12.1 Node.js
Node.js — серверная JavaScript-платформа. Хотите разрабатывать бэкенд на JavaScript?
Попробуйте создать простой блог на Node.js
.
12.2 PHP
PHP по-прежнему остаётся одним из самых востребованных языков в бэкенде. WordPress, самая популярная CMS в мире, написана на PHP.
12.3 Python (Django/Flask)
Django — полнофункциональный фреймворк с батарейками в комплекте, Flask — минималистичный. Оба используются для создания веб-сервисов и API.
12.4 Ruby on Rails
Ruby on Rails — фреймворк с философией Convention over Configuration. Благодаря ему разработка идёт быстро: много вещей работают «из коробки».
12.5 Java (Spring)
Spring — самый популярный Java-фреймворк для корпоративной разработки. Он используется в крупных банках, финтех-компаниях и enterprise-системах.
12.6 Go
Go (Golang) от Google — язык для высоконагруженных систем. Используется в Kubernetes, Docker и многих других инфраструктурных проектах.
12.7 Rust
Rust всё активнее проникает в бэкенд-разработку. Actix-web — один из самых быстрых веб-фреймворков в мире по бенчмаркам.
12.8 .NET (C#)
ASP.NET Core — мощный фреймворк для серверной разработки от Microsoft. Широко используется в корпоративных приложениях на Windows-инфраструктуре.
Подробнее о карьере в серверной разработке:
Что должен знать бэкенд-разработчик в 2024 году
.
13. Как стать фронтенд разработчиком
Итак, frontend программирование — с чего начать? Вам нужно освоить HTML, CSS и JavaScript — три кита, на которых стоит фронтенд-разработка. Подробный
план обучения для начинающих фронтенд-разработчиков
.
13.1 Обучение HTML
Разметка — это каркас сайта. Чтобы работать с фронтендом, следует хорошо понимать анатомию HTML-разметки, знать основные атрибуты и теги, обеспечивать доступность и освоить SEO хотя бы на базовом уровне.
Для лучшего понимания рекомендуем ознакомиться с
видеокурсом «HTML5 для начинающих»
.
13.2 Обучение CSS
Далее идут каскадные таблицы стилей. В разрезе CSS вам нужно освоить:
компоновку;
центрирование и выравнивание;
видимость элементов.
Это базис. Следующим этапом можно переходить к медиа-запросам, которые позволят учитывать технические параметры разных устройств. В создании адаптивного отзывчивого дизайна помогут CSS Grid и Flexbox.
13.3 Обучение JavaScript
Ну и как стать эффективным фронтенд разработчиком без знания JavaScript? Именно он отвечает за функциональность сайта и возможность с ним взаимодействовать: заполнение и отправка форм, нажатие кнопок, прослушивание событий и многое другое.
Не спешите осваивать фреймворки — сперва чистый JavaScript. Это язык со слабой типизацией, а значит операция вроде 2 + "2" вместо ошибки выдаст результат 22. Так что есть с чем разбираться и без фреймворков.
Больше полезных материалов и инструментов для фронтенд-разработчика вы найдёте в
дорожной карте по фронтенду
.
14. Full Stack разработка
Эдакий гибрид frontend- и backend-разработки. Данное направление набирает популярность. Сейчас сложно найти чистых фронтендеров или бэкендеров: для взаимодействия этим специалистам нужно знать, за что отвечают их коллеги по вебу.
Фуллстек-разработчик не будет одинаково хорош в разработке серверной и клиентской части. Но как стать чистым Full Stack разработчиком, и чем вообще занимаются эти специалисты?
Хороший пример — CRM-разработчик. В его обязанности входят:
Работа с базами данных клиента: создание событий, автоматизация процессов и интеграция приложений посредством API.
Настройка аналитики в формате репортов/дашбордов.
Создание простенького, но понятного интерфейса для работы с готовым продуктом.
Здесь также применимы инструменты вроде Bootstrap или Angular, но без фанатизма — важно создание рабочего функционального продукта.
15. Какой язык программирования выбрать в 2026 году
Всё ещё не определились с языком? Для начала взгляните на
рейтинг TIOBE
:
А теперь давайте пробежимся по самым популярным языкам программирования, затронем их сильные стороны и уточним сферы применения.
15.1 Python
Как уже говорилось ранее, стать Python программистом с нуля самостоятельно несложно, ведь у языка низкий порог вхождения и понятный синтаксис. Пайтон рекомендуется к изучению в вузах в качестве базового языка.
Основные сферы применения Python:
Data Science
Веб-разработка
15.2 JavaScript
О сферах применения JS говорить не стоит: язык давно стал лидером в веб-разработке, сперва захватив фронтенд, а теперь и отжимая бэкенд за счёт Node.js. Если хотите разрабатывать веб-приложения, учите JavaScript.
15.3 Java
Java — это кроссплатформенный язык программирования, мощный обработчик и внушительная библиотека. У Java много готовых решений и исчерпывающая документация.
Основные сферы применения Java:
Веб-разработка
Android разработка
Десктопная разработка
Big Data
15.4 C++
Быстрый, универсальный и полезный в качестве фундамента язык. Да, пусть Python в разы проще, но за сложностью C++ скрываются и преимущества. Освоив «плюсы», будет легче понять Java, C# и JavaScript, в основу которых легли принципы C++.
Главные сферы применения C++:
Геймдев
Интернет вещей (IoT)
Операционные системы
Ускорение существующих приложений
15.5 С#
C# часто сравнивают с Java, и у них действительно много общего. Код на C# удобочитаемый, а синтаксический сахар обеспечивает высокую скорость разработки.
Основные сферы применения C#:
Геймдев
AR/VR
Десктопная разработка
По
этому видеокурсу
вы узнаете, как стать C# разработчиком.
15.6 PHP
Это бессмертная классика серверной части веб-приложений. PHP бюджетен, прост в освоении и успел обрасти внушительным комьюнити. Пусть современные сайты и пишутся то на Java, то на Node.js, существует огромная база написанных на PHP веб-приложений, которые нужно поддерживать.
15.6 Kotlin
Здесь только Андроид. Но, как говорилось ранее, чтобы стать Android разработчиком с нуля, стоит начать с изучения Java, а только после переходить на Kotlin.
15.7 Swift
Если хотите писать десктопные и мобильные приложения для Apple устройств, осваивайте Swift. Это компактный и производительный язык программирования, который постоянно совершенствуется компанией Apple.
15.8 На что обратить внимание при выборе
На отрасль, в которой желаете развиваться. Но чтобы понять, как стать программистом и с какими трудностями придётся столкнуться, рекомендуем начать с C или C++, после которых любой другой язык освоить куда проще.
Если же вы точно определились, с чем именно хотите работать, смело выбирайте язык, который для этого подходит. Опирайтесь на рейтинги популярности, просматривайте вакансии по желаемому направлению в вашем городе, сравнивайте уровень востребованности специалистов.
16. Где выучиться на программиста
Чтобы ответить на вопрос, где учиться на программиста, необходимо рассмотреть все доступные варианты.
16.1 Самостоятельная учеба
Обилие книг, видеоуроков и сервисов вроде Scratch позволяет освоить базис, не выходя из дома. Но как выстроить план обучения, чтобы стать программистом с нуля самостоятельно? Обратитесь к стандартным программам обучения или роадмапам. Чаще всего основная программа выглядит примерно так:
Знакомство с программированием.
Разнообразие IT-направлений.
Основы выбранного языка: синтаксис, объекты и классы, функции, списки и словари, условия, циклы.
Hello World.
Модульное тестирование.
Безопасность.
16.2 ВУЗ
Это более основательный подход, и, вопреки распространённому заблуждению, «корочка» IT-специалиста действительно ценится, особенно в крупных компаниях. Если вы серьёзно настроены на карьеру в IT и думаете, как отучиться на программиста, выбирайте вузы с сильными IT-факультетами.
16.3 Практические курсы
К курсам можно относиться по-разному, но если у вас нет профильного образования и вы не хотите тратить несколько лет в вузе, курсы — хороший вариант. К тому же, современные курсы покрывают практически все нужды, обеспечивая обучение основам программирования и работу с реальными проектами.
16.4 С помощью ментора
Мы уже разобрались, как можно стать айтишником с нуля дома, но не затронули менторство. Всё потому, что оно не всегда подразумевает обучение на дому: это может быть как онлайн-репетитор, так и индивидуальные занятия оффлайн.
Ментор не только объяснит материал, но также обратит ваше внимание на ошибки, которые вы допускаете на практике. Внимание наставника не растекается по группе людей, а сосредоточено именно на вашей работе, что даёт более прицельное обучение программированию.
17. Классификация разработчиков
Когда люди говорят, что программисты много зарабатывают, они чаще всего подразумевают сеньоров. Давайте разберёмся, какие уровни IT-специалистов существуют и чем разнятся.
17.1 Стажёр
Стажёр — это вчерашний студент, который набивает шишки на практике. Обычно это низкооплачиваемые сотрудники, которых компания нанимает специально, чтобы взрастить нужного специалиста.
Стажировка может быть как оплачиваемой, так и неоплачиваемой: всё зависит от договорённости с нанимателем. Продолжительность стажировки оговаривается индивидуально. Чаще к стажёру приставляют ментора из числа штатных специалистов.
17.2 Junior разработчик
Как правило, чтобы стать Джуниор программистом, достаточно освоить синтаксис языка, простые задачи решать самостоятельно, а сложные — заручившись помощью более опытного коллеги. Младший разработчик получает небольшую, но стабильную зарплату.
17.3 Middle разработчик
У такого программиста уже есть опыт в разработке, он самостоятельно выполняет сложные задачи, но по-прежнему нуждается в ком-то, кто направит. Чаще стек технологий Мидла ограничен необходимым базисом.
17.4 Senior разработчик
Сеньор, или старший разработчик, уже обладает широким кругозором, знает несколько языков программирования и технологий, способен с нуля создать архитектуру проекта с учётом его будущего развития. Senior-разработчик часто выступает в роли ментора для младших коллег.
Переход между перечисленными уровнями требует не столько времени, сколько усердия со стороны самого разработчика.
Подробнее об отличиях Junior, Middle и Senior разработчиков
.
18. Как стать Junior-разработчиком
Здесь опять всё упирается в выбранную отрасль: у каждой специальности свои требования. Давайте разберёмся, что нужно знать младшему программисту на примере веба и мобильной разработки.
18.1 Frontend Junior
Сразу оговоримся, что алгоритмы, Git, тестирование и прочий базис мы затрагивать не будем, так как это актуально для всех направлений.
Итак, что же нужно знать младшему Frontend разработчику в 2023 году?
HTML5, понимать разметку, освоить базовые теги, атрибуты и вложенные элементы.
CSS3 — позиционирование, компоновка и выравнивание элементов, их видимость, отзывчивый дизайн и подходы mobile-first.
JavaScript — базовый синтаксис, DOM, методы обработки событий.
Один из фреймворков: Vue.js, React или Angular.
Работа с REST API.
Основы систем сборки (Webpack, Vite).
Базовые знания TypeScript.
Git.
18.2 Backend Junior
К младшему бэкенд программисту иные требования. Он должен знать:
Принцип работы интернета и операционной системы.
Язык серверного программирования: PHP, Java, JavaScript (Node.js), Python (Django) или другой.
Базы данных — реляционные и NoSQL.
API — REST, JSON.
Контейнеризацию (Docker basics).
Git.
Плюсом будет умение установить и настроить хотя бы один из популярных веб-серверов: Nginx, Apache, Caddy или MS IIS.
18.3 Junior iOS
Чтобы влиться в iOS-разработку, нужно:
Знать язык программирования Swift.
Иметь практический опыт работы с IDE Xcode.
Понимать сущность
Cocoa Touch
.
Уметь работать со StoryBoard.
Знать базы данных: CoreData или Realm.
Владеть паттернами проектирования: MVP, MVVM, MVC.
18.4 Junior Android
Как уже говорилось, начать следует с выбора языка, но за основу лучше взять именно Java, а при необходимости дополнительно изучить Kotlin. Далее:
Практический опыт работы с Android Studio.
Понимание Android Architecture: паттерны MVVM, MVI, MVP.
Изучение жизненного цикла Activity.
Умение создавать гибкие интерфейсы с использованием фрагментов.
Работа с Retrofit для сетевых запросов.
Базовые знания Kotlin Coroutines.
19. Где работают программисты
Сложно ответить на вопрос, где в целом работают программисты, потому что сегодня профессия требуется чуть ли ни в любой сфере.
19.1 Фриланс
Как стать айтишником на фрилансе? Для этого есть немало площадок: Upwork,
Weblancer
,
Kwork
,
FL
и другие. Но будьте готовы нарабатывать портфолио и репутацию, а для этого первое время придётся браться за задачи по демпинговым ценам.
Большой плюс — знание английского и умение строить вопросы на получение исчерпывающих ответов: вы сами себе PM, тимлид и разработчик.
19.2 Компании аутсорсеры
Также ласково называемые галерами. А всё потому, что от сотрудников часто требуется многозадачность за зарплату одного специалиста.
Но не всё так плохо. Во-первых, аутсорсинг — это готовые задачи, которые на фрилансе нужно выбивать, доказывая свою профпригодность. Здесь же менеджеры сами договариваются и берут нужный таск. Во-вторых, корпоративная жизнь предполагает бесплатный чай/кофе, абонементы в спортзал, тимбилдинги, корпоративы и прочие плюшки.
19.3 Стартапы и небольшие компании
Неплохо для начинающих программистов и опасно для опытных, которые готовы ради этого бросить более крупную «рыбу». В стартапах всегда есть риски:
итоговая зарплата окажется ниже обещанной;
выплачиваться будет с задержкой;
компания в любой момент может закрыться, не выдержав конкуренции.
Но это хороший опыт для стажёров, которые всё ещё думают, как стать программистом, младших разработчиков и тех, кто хочет уйти от фриланса.
19.4 Банки и энтерпрайз
Здесь потребуется разработка, направленная на решение проблем бизнеса, а не конечных пользователей. Именно поэтому в банки и бизнес-отрасли часто набирают только Senior-программистов, так как нужно дописывать и поддерживать готовые проекты, нередко с Legacy-кодом. Зарплаты обычно выше средних на рынке.
19.5 Продуктовые компании
Если аутсорсинг сосредоточен на разноплановости, ограниченных сроках и бюджете, то продуктовая компания — на эффективном управлении своими решениями. Во втором случае никто не будет требовать от вас проект на вчера и ведение сложных переписок с кучей недопониманий. К тому же, вы явно будете видеть свой вклад в продукт.
Как стать разработчиком продуктовой компании? Точно так же, как и аутсорсинговой, но будьте готовы, что требования могут быть выше, ведь компания ищет программиста непосредственно для себя, а не для левого дяди.
Где ещё можно работать программистом? Это фриланс, open source и собственные проекты.
20. Как найти первую работу в IT
Всё чаще поднимается вопрос поиска и найма недооценённых специалистов — без диплома или соответствующего опыта работы. Исходя из этого,
что же всё-таки нужно знать начинающему программисту
?
Для начала вы должны показать, что нанять вас выгодно. В этом помогут теоретическая база, опыт в других сферах, знание английского и мотивация. Можно изобразить это так:
Источник —
dataart.team
20.1 Где брать проекты для портфолио
Если в поисках ответа на вопрос, где можно выучиться на программиста, вы выбрали курсы, практический опыт гарантирован: курсы для разработчиков не обходятся без написания проектов. То же касается и вузов, где присутствует обязательная практика.
Сложнее будет, если вы самоучка. Но и здесь можно что-то придумать:
писать небольшие программы по туториалам;
искать задания на фрилансе и выполнять их самостоятельно;
принимать участие в разработке open source проектов.
20.2 Как составить резюме, если нет опыта
Нормально назовите резюме. В названии должны быть желаемая должность и ФИО кандидата, как здесь: «Junior Java — Пупкин Иван Иванович».
Резюме может быть в формате Doc, PDF или сайта-визитки, если вы веб-разработчик.
Добавьте адекватное фото и контакты.
Укажите места, где учились и повышали квалификацию.
Не копирайте бездумно инфу из разделов, что нужно знать, чтобы стать крутым программистом: вы должны доказать эти знания на собеседовании.
Если нет опыта работы, указывайте, сколько времени практикуетесь в том или ином языке/технологии.
Последний пункт в резюме программиста может выглядеть примерно так:
Java — 1 year;
PHP — 0,5 years;
JavaScript — 0,5 years.
20.3 Где искать вакансии и работу
О фриланс-сервисах мы уже говорили, потому затронем платформы по поиску работы в офисе или в ремоут-режиме. Для России и стран СНГ лучшие сайты с вакансиями для программистов это:
20.4 Как общаться с рекрутерами
Как вы понимаете, стать хорошим программистом в обход общения с HR невозможно. На собеседовании не стесняйтесь озвучивать свои желания и вопросы. Если на всё кивать головой, как автомобильная собачка, рекрутер решит, что вы соглашаетесь со всем подряд.
Несмотря на это, нужно вести себя в меру сдержанно, демонстрировать серьёзность и говорить о своей мотивации.
21. Что спрашивают у Джунов на собеседовании
Огромный пласт вопросов приходится на теорию, чуть меньше занимает практика. Перед собеседованием изучите информацию о компании — обязательно спросят, почему именно она.
Будут и логические задачи. При этом ответ не обязательно должен быть верным — важно озвучивать ход мыслей, показывать, как именно вы пришли к тому или иному решению.
Из задач встречаются алгоритмы поиска и сортировки, расчёты, работа со строками и списками, оптимизация готовых решений. Держите несколько
задач с собеседований для программистов
под рукой — пригодится для практики.
Другие вопросы, которые могут прозвучать на собеседовании:
Принципы ООП и их понимание.
Команды Git — как сделать пуш, коммит и т. д.
Основные SQL-запросы.
Всё остальное будет касаться выбранного языка.
22. Что делать, если вам не хватает знаний до вакансии Джуниор-программиста
Трудоустроиться после первого же интервью почти нереально. Не расстраивайтесь из-за отказов, а используйте их с пользой. Как же стать востребованным айтишником быстрее? Попросите предоставить фидбек — чаще всего HR и разработчики, проводящие интервью, указывают на слабые места кандидата. Изучите
типичные задачи с собеседований для программистов
— это сократит путь до оффера.
Держите
учебные материалы и руководства для начинающих айтишников
.
Часто задаваемые вопросы
Сколько времени нужно, чтобы стать программистом?
При ежедневных занятиях по 2–3 часа базовый уровень для позиции джуниора можно освоить за 6–12 месяцев. Сроки зависят от выбранного направления, интенсивности занятий и предыдущего опыта.
Можно ли стать разработчиком без высшего образования?
Да. Большинство компаний оценивают практические навыки и портфолио, а не диплом. Онлайн-курсы, буткемпы и самообучение по документации — полноценные альтернативы.
Какой язык программирования выбрать новичку?
Зависит от цели. Python — универсальный выбор для Data Science, автоматизации и бэкенда. JavaScript — для веб-разработки и фронтенда. Kotlin и Swift — для мобильной разработки.
Нужна ли математика для программирования?
Для большинства направлений (веб, мобильная разработка) достаточно базовой математики: логика, дискретная математика, основы алгоритмов. Продвинутая математика нужна для Data Science, Computer Vision и геймдева.
23. Заключение
Надеемся, этот гайд ответил на вопрос, как стать программистом, дал полезные советы и материалы, а также мотивировал на покорение новых вершин.
Остались вопросы? Задайте их в комментариях.
Читайте также по теме карьеры разработчика:
Что должен знать бэкенд-разработчик в 2024 году
,
Как стать AI-инженером
,
11 IT-трендов 2025
,
37 книг для программиста
. |
| Markdown | 1. [Главная](https://tproger.ru/)
2. [Статьи](https://tproger.ru/articles)
3. Как стать разработчиком с нуля
# Как стать разработчиком с нуля
[Алексей Михайлишин](https://tproger.ru/author/4)
26 янв 2023
,
отредактировано
29 мар 2026

- 38
> • Чтобы стать программистом, нужны как технические навыки (алгоритмы, ООП, базы данных), так и софт скиллы (английский, работа в команде) • Выбирайте направление по интересам: веб, мобильная разработка, Data Science, геймдев или системное программирование • Начните с одного языка и доведите его до уровня уверенного использования, прежде чем учить следующий • Портфолио и практические проекты важнее сертификатов при трудоустройстве • Самообучение, курсы и менторство — рабочие пути в IT, формальное образование не обязательно
Как стать программистом и с чего начать, если нет практического опыта, а представление о программировании весьма размытое? Подробно рассказываем, как стать востребованным программистом с нуля и на что обратить внимание.
1. [Кто такой программист](https://tproger.ru/articles/kak-stat-programmistom#part1)
2. [Почему вы хотите начать программировать](https://tproger.ru/articles/kak-stat-programmistom#part2)
3. [Что нужно знать, чтобы стать программистом](https://tproger.ru/articles/kak-stat-programmistom#part3)
4. [Какое направление в программировании выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part4)
5. [Десктопная разработка](https://tproger.ru/articles/kak-stat-programmistom#part5)
6. [Data Science](https://tproger.ru/articles/kak-stat-programmistom#part6)
7. [Как стать разработчиком на Андроид](https://tproger.ru/articles/kak-stat-programmistom#part7)
8. [План развития iOS разработчика](https://tproger.ru/articles/kak-stat-programmistom#part8)
9. [Как стать разработчиком игр](https://tproger.ru/articles/kak-stat-programmistom#part9)
10. [Как стать Python разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part10)
11. [План развития Java-программиста](https://tproger.ru/articles/kak-stat-programmistom#part11)
12. [Бэкенд разработка — с чего начать?](https://tproger.ru/articles/kak-stat-programmistom#part12)
13. [Как стать фронтенд разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part13)
14. [Full Stack разработка](https://tproger.ru/articles/kak-stat-programmistom#part14)
15. [Какой язык программирования выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part15)
16. [Где выучиться на программиста](https://tproger.ru/articles/kak-stat-programmistom#part16)
17. [Классификация разработчиков](https://tproger.ru/articles/kak-stat-programmistom#part17)
18. [Как стать Junior-разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part18)
19. [Где работают программисты](https://tproger.ru/articles/kak-stat-programmistom#part19)
20. [Как найти первую работу в IT](https://tproger.ru/articles/kak-stat-programmistom#part20)
21. [Что спрашивают у Джунов на собеседовании](https://tproger.ru/articles/kak-stat-programmistom#part21)
22. [Что делать, если вам не хватает знаний до вакансии Джуниор-программиста](https://tproger.ru/articles/kak-stat-programmistom#part22)
23. [Заключение](https://tproger.ru/articles/kak-stat-programmistom#part23)
## 1\. Кто такой программист
IT — перспективная отрасль, которая сулит хорошим специалистам [немаленькие зарплаты](https://tproger.ru/articles/developer-salary/). Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Программист — это специалист по разработке компьютерных программ. Под разработкой понимается продумывание архитектуры программы, её реализация, оптимизация и тестирование. Далее мы разберёмся, как стать востребованным айтишником с нуля самостоятельно.
### 1\.1 Чем занимается программист
Это зависит от специфики выбранной отрасли, но в целом всё сводится к написанию и тестированию кода. Важно понимать свои обязанности и не скатываться в звание [раба на галерах](https://tproger.ru/articles/21-answers-to-weird-requests/).
### 1\.2 Можно ли стать айтишником с нуля
Разумеется. Для этого существуют [материалы, ориентированные на новичков](https://tproger.ru/tag/for-beginners/): туда входят статьи, подборки книг, обучающие приложения, задачки, видеоуроки и многое другое.
[]()
А вот как стать крутым программистом с нуля и с чего начать — другой вопрос. К примеру, Senior разработчика от джуна отличают годы практики и колоссальный опыт, так что только терпение и труд.
## 2\. Почему вы хотите начать программировать
IT — перспективная отрасль, которая сулит хорошим специалистам немаленькие зарплаты. Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Если же вы питаете неподдельный интерес к процессу, смело ступайте на стезю разработки.
## 3\. Что нужно знать, чтобы стать программистом
Чтобы стать успешным и востребованным программистом, нужно обзавестись рядом hard skills и soft skills. Первые отвечают за технические умения и знания, вторые — за качества, которые помогают эффективно работать в команде.
### 3\.1 Hard skills
У каждой профессии свой набор хард скиллов. У программиста это общие технические знания (математика, информатика, алгоритмизация) и набор навыков, свойственный конкретному стеку.
#### 3\.1.1 Основы информатики
В такой сложнотехнической профессии понадобятся даже самые азы, а именно:
- какие типы данных бывают и чем они отличаются друг от друга;
- понимание систем счисления — двоичной и шестнадцатеричной;
- [булева алгебра](https://ru.wikipedia.org/wiki/%D0%91%D1%83%D0%BB%D0%B5%D0%B2%D0%B0_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0) и логические операторы.
- понятие [языка программирования](https://tproger.ru/tag/c-language/).
#### 3\.1.2 Математика
А как же стать настоящим программистом, если плохо с математикой, и [насколько важна математика в разработке](https://tproger.ru/experts/2/)? Требования разнятся в зависимости от сферы: для веба нужна лишь базовая математика, алгоритмы и теория вероятности. Для Data Science потребуется линейная алгебра, а для геймдева — геометрия.
#### 3\.1.3 Алгоритмы
Это то, что нужно обязательно знать, чтобы стать программистом. Алгоритмами называют последовательность действий, которая преобразовывает входные данные в некий результат. Наверняка вы слышали об алгоритме сортировки. По сути, алгоритм — это набор инструкций для решения задачи.
#### 3\.1.4 Структуры данных
Выбор структуры данных определяет алгоритмы, которые можно применять к данным. Среди базовых структур — массивы, стеки, деревья, графы, множества и отображения.
#### 3\.1.5 ООП
Объектно-ориентированное программирование — парадигма, основанная на концепции объектов, которые содержат данные и код. Нужна ли она вам, зависит от языка программирования и выбранного стека.
#### 3\.1.6 Системы контроля версий
Git — наиболее популярная система контроля версий. Это инструмент для отслеживания изменений в коде, который позволяет управлять разными версиями проекта. Умение работать с Git необходимо любому разработчику.
#### 3\.1.7 Паттерны проектирования
Паттерны — это готовые решения для типичных задач в разработке программного обеспечения. Знание паттернов ускоряет разработку и делает код понятнее для коллег.
### 3\.2 Soft skills
Soft skills — это навыки, которые позволяют эффективно работать в команде. К ним относятся:
- **Английский язык**. Документация, зарубежные форумы вроде Stack Overflow, переписка с иностранными коллегами — без английского никуда. Изучите хотя бы технический английский. [Советы для IT-специалистов](https://tproger.ru/articles/english-for-it/).
- **Работа в команде.** Разработка — это командная игра. Чаще всего над проектом трудятся несколько специалистов, которые работают в связке.
- **Тайм-менеджмент.** Разработчик работает в режиме многозадачности: несколько задач одновременно, стендапы, созвоны с заказчиком, ревью кода коллег. Умение расставлять приоритеты — ключевой навык.
- **Гибкость и [agile-мышление](https://tproger.ru/explain/agile-is-simple/).** Требования к продукту меняются, и к этому нужно быть готовым.
#### 3\.2.1 Хватит ли базовой математики
Для большинства направлений — да. Требования к математике зависят от специализации:
- Веб-разработка — базовая математика, логика, алгоритмы.
- Data Science — линейная алгебра, математический анализ, теория вероятностей.
- Геймдев — геометрия, физика, линейная алгебра.
- Системное программирование — дискретная математика, теория алгоритмов.
#### 3\.2.2 Нужен ли английский
Да. Большинство технической документации написано на английском. Вопросы на Stack Overflow, README проектов на GitHub, официальные туториалы — всё это на английском. Без базового понимания языка вы будете ограничены только русскоязычными ресурсами.
## 4\. Какое направление в программировании выбрать в 2026 году
Прежде чем думать, как стать айтишником с нуля самостоятельно, стоит определиться с направлением. По данным [Stack Overflow Developer Survey](https://insights.stackoverflow.com/survey/2020#overview), самые популярные направления в разработке:
[Карьера в IT: как найти профессию для себя tproger.ru](https://tproger.ru/partnered/vostrebovannye-professii-v-it-kak-najti-sferu-dlya-sebya)
В опросе приняло участие 65 000 разработчиков из разных стран.
Но что насчёт России? Согласно данным «Университета 20.35» за 2020 год, в топ-10 востребованных удалённых ИТ-профессий России вошли:
1. Java-разработчик
2. Аналитик данных
3. Разработчик на языке C\#
4. PHP-разработчик
5. Специалист службы поддержки
6. Продуктовый аналитик
7. Разработчик 1С
8. Kotlin-разработчик
9. Системный администратор
10. Python-разработчик
А вот зарплаты айтишников по специализациям за второе полугодие 2020:
[]()
Проценты на диаграмме отражают разницу с предыдущим периодом, а прочерк означает, что данных для сравнения недостаточно.
## 5\. Десктопная разработка
Десктопными называют приложения, которые устанавливаются на компьютер и работают под управлением ОС. Как известно, чтобы стать айтишником с нуля, сперва в любом случае нужно практиковаться на консоли и простых приложениях.
Хотите заниматься этим на серьёзном уровне? Здесь всё просто: если планируете разрабатывать под Windows — учите язык C\#, под Linux — C++ или C, под macOS — Swift.
### 5\.1 C\#
Этот язык — основа Windows-разработки. Он используется в разработке настольных приложений (Windows Forms, WPF), игр (Unity) и серверных приложений (.NET).
### 5\.2 C++
C++ применяется в системном программировании, геймдеве и разработке приложений, где важна производительность. Этот язык — ближе всего к «железу» из высокоуровневых языков.
### 5\.3 Java
Java-десктоп не пользуется большой популярностью, но имеет место быть: инструментарий для разработки (IDE и другое ПО для разработчиков) часто пишется на Java. К примеру, IntelliJ IDEA.
### 5\.4 Python
Для создания GUI-приложений на Python существуют библиотеки Tkinter, PyQt и wxPython. Это не самый популярный стек для десктопа, но Python как язык общего назначения справляется и с этой задачей.
### 5\.5 Swift
Если ваша цель — macOS-приложения, Swift является основным языком. Он также используется для iOS-разработки.
### 5\.6 JavaScript
Electron — фреймворк для создания кроссплатформенных десктопных приложений на JavaScript. Именно на нём написаны VS Code, Slack, Discord.
### 5\.7 .NET
Платформа .NET от Microsoft используется для разработки Windows-приложений. [Дорожная карта C\# разработчика](https://tproger.ru/articles/razrabotka-na-c-s-nulja-v-2022-godu-dorozhnaja-karta/).
### 5\.8 Ruby
Ruby используется преимущественно в веб-разработке (Ruby on Rails), но также подходит для написания скриптов и утилит.
### 5\.9 Kotlin
Kotlin Multiplatform позволяет писать код, который запускается на Android, iOS и десктопе. Технология активно развивается компанией JetBrains.
## 6\. Data Science
Языки программирования Python и R — общепринятый стандарт для Data Science, так как они оба отлично подходят для работы со статистикой.
### 6\.1 Python
Как стать Python программистом с нуля самостоятельно? На самом деле, не так уж сложно: у языка Пайтон простой синтаксис, много библиотек, развёрнутая и понятная документация. Но есть и минусы, такие как отсутствие удобных средств ORM и не самая высокая скорость работы.
Для Data Scientist у Python есть немало библиотек и фреймворков:
- [Pandas](https://pandas.pydata.org/)
- [PyTorch](https://pytorch.org/)
- [NumPy](https://numpy.org/)
- [TensorFlow](https://www.tensorflow.org/)
- [Keras](https://keras.io/)
- [Scikit-learn](https://scikit-learn.org/)
### 6\.2 R
R в свою очередь характеризуется богатой ML-экосистемой, поддержкой векторных вычислений и синтаксисом, заточенным под нужды статиста. Из минусов — меньшее комьюнити и не самый простой синтаксис.
Но у языка R есть свои инструменты для Data Science:
- Esquisse и Ggplot2 — библиотеки для создания графиков.
- Dplyr — аналог Pandas для R.
- Shiny — пакет для интерактивных веб-приложений с визуализацией исследований.
И это не говоря о randomForest, Caret и других библиотеках с методами машинного обучения.
Читайте также: [Как стать AI-инженером в 2024 году — пошаговый гайд](https://tproger.ru/articles/kak-stat-ai-inzhenerom-v-2024-godu---powagovyj-gajd) и [11 IT-трендов 2025 года, которые изменят индустрию](https://tproger.ru/articles/11-it-trendov-2025).
## 7\. Как стать разработчиком на Андроид
В 2019 году компания Google [объявила Kotlin предпочтительным языком программирования для создания Android-приложений](https://tproger.ru/news/first-kotlin-android/). Это спровоцировало новую волну споров по выбору языка.
Ответ таков: чтобы стать Android-разработчиком, нужны оба языка, но при этом ознакомиться с их отличительными характеристиками не помешает.
### 7\.1 Java
- много библиотек и готовых решений;
- большое комьюнити;
- разные сферы применения, если вдруг надоест Android-разработка;
- документация Kotlin предполагает, что вы знаете Java.
### 7\.2 Kotlin
- лаконичный синтаксис;
- актуальная IDE, тесно связанная с языком разработки (Android Studio и Kotlin созданы JetBrains);
- предсказуемое развитие;
- перспективы.
## 8\. План развития iOS разработчика
А как же тогда стать разработчиком iOS? Здесь всё гораздо проще, так как основной язык всего один.
### 8\.1 Swift
Этот язык программирования разработан Apple и многое заимствовал из Objective-C, а также C++.
Преимущества Swift:
- компактный язык программирования;
- производительность приближена к C++;
- тестирование кода в реальном времени со Swift Playgrounds;
- постепенно распространяется на другие платформы.
Подробнее — [для чего подходит Swift](https://tproger.ru/articles/what-swift-is-good-for/).
## 9\. Как стать разработчиком игр
Разработка игр — это отдельная и очень увлекательная область. Она требует знания математики (линейная алгебра, физика), умения работать с игровыми движками (Unity, Unreal Engine) и понимания игровой механики.
### 9\.1 C++
Это язык номер один в геймдеве. Unreal Engine написан на C++, и большинство крупных игровых студий используют его в работе.
### 9\.2 C\#
Unity использует C\# как основной язык. Это делает C\# вторым по значимости языком в геймдеве. Unity подходит как для инди-игр, так и для крупных проектов.
### 9\.3 Blueprint (Unreal Engine)
Система визуального программирования Blueprint в Unreal Engine позволяет создавать игровую логику без написания кода. Это хорошая точка входа для начинающих геймдев-разработчиков.
### 9\.4 GDScript (Godot)
Godot — бесплатный open source игровой движок. GDScript — его собственный язык, похожий на Python. Отличный выбор для начинающих разработчиков игр.
### 9\.5 JavaScript
Phaser, Babylon.js, Three.js — фреймворки для разработки браузерных игр на JavaScript. Это хороший путь для тех, кто уже знает JS и хочет попробовать геймдев.
### 9\.6 Python
Pygame — библиотека для создания простых 2D-игр на Python. Подходит для прототипирования и небольших проектов, но не для AAA-разработки.
### 9\.7 Lua
Lua используется в качестве встроенного скриптового языка во многих игровых движках. Roblox Studio, к примеру, использует Lua как основной язык программирования.
### 9\.8 Rust
Rust набирает популярность в геймдеве благодаря высокой производительности и безопасности памяти. Bevy — игровой движок на Rust.
## 10\. Как стать Python разработчиком
Чтобы стать питонистом, нужно начинать с азов, таких как принципы ООП и синтаксис языка. А понимание того, как стать программистом Python, придёт с определением сферы деятельности. Основных направления для Пайтон-разработчиков два:
- Data Science
- Веб-разработка
Поскольку первое направление мы уже разобрали, сосредоточимся на веб-разработке. Что же что нужно знать Python веб-разработчику? Обратите внимание на фреймворки Django и Flask. Для эффективной работы с бэкендом достаточно одного из них, но в идеале стоит изучить оба.
Python можно использовать для создания десктопных приложений, геймдева и мобильной разработки, но наилучших показателей с этим языком можно достичь в перечисленных направлениях.
[Проекты на Django для начинающих: двухчасовой видеокурс tproger.ru](https://tproger.ru/video/proekty-na-django-dlja-nachinajushhih-dvuhchasovoj-videokurs/)
## 11\. План развития Java-программиста
А как можно стать Java разработчиком, если никогда не был программистом? Базис для всех языков плюс-минус одинаков: синтаксис, переменные, условия, циклы, ООП. Для решения специфических задач нужно освоить инструмент сборки и управления проектом Maven или Gradle.
Дальше всё зависит от выбранного направления в Java:
- веб-разработка;
- Android разработка;
- программирование для десктопов;
- Big Data.
Все материалы по этим направлениям, инструменты и путь развития вы найдёте в [дорожной карте Java-программиста](https://tproger.ru/articles/java-roadmap/).
## 12\. Бэкенд разработка — с чего начать?
Как стать бэкенд разработчиком? Нужно понимать, как устроены операционные системы, уметь работать с терминалом, знать стандарты POSIX и концепции построения сети, управлять вводом и выводом (I/O), процессами, а также памятью.
[Хочу научиться программировать на PHP. С чего начать? tproger.ru](https://tproger.ru/curriculum/php-beginner/)
### 12\.1 Node.js
Node.js — серверная JavaScript-платформа. Хотите разрабатывать бэкенд на JavaScript? [Попробуйте создать простой блог на Node.js](https://tproger.ru/translations/simple-blog-node-js/).
### 12\.2 PHP
PHP по-прежнему остаётся одним из самых востребованных языков в бэкенде. WordPress, самая популярная CMS в мире, написана на PHP.
### 12\.3 Python (Django/Flask)
Django — полнофункциональный фреймворк с батарейками в комплекте, Flask — минималистичный. Оба используются для создания веб-сервисов и API.
### 12\.4 Ruby on Rails
Ruby on Rails — фреймворк с философией Convention over Configuration. Благодаря ему разработка идёт быстро: много вещей работают «из коробки».
### 12\.5 Java (Spring)
Spring — самый популярный Java-фреймворк для корпоративной разработки. Он используется в крупных банках, финтех-компаниях и enterprise-системах.
### 12\.6 Go
Go (Golang) от Google — язык для высоконагруженных систем. Используется в Kubernetes, Docker и многих других инфраструктурных проектах.
### 12\.7 Rust
Rust всё активнее проникает в бэкенд-разработку. Actix-web — один из самых быстрых веб-фреймворков в мире по бенчмаркам.
### 12\.8 .NET (C\#)
ASP.NET Core — мощный фреймворк для серверной разработки от Microsoft. Широко используется в корпоративных приложениях на Windows-инфраструктуре.
Подробнее о карьере в серверной разработке: [Что должен знать бэкенд-разработчик в 2024 году](https://tproger.ru/articles/chto-dolzhen-znat-backend-razrabotchik).
## 13\. Как стать фронтенд разработчиком
Итак, frontend программирование — с чего начать? Вам нужно освоить HTML, CSS и JavaScript — три кита, на которых стоит фронтенд-разработка. Подробный [план обучения для начинающих фронтенд-разработчиков](https://tproger.ru/curriculum/intro-to-frontend-development).
### 13\.1 Обучение HTML
Разметка — это каркас сайта. Чтобы работать с фронтендом, следует хорошо понимать анатомию HTML-разметки, знать основные атрибуты и теги, обеспечивать доступность и освоить SEO хотя бы на базовом уровне.
Для лучшего понимания рекомендуем ознакомиться с [видеокурсом «HTML5 для начинающих»](https://tproger.ru/video/html5-for-beginners/?autoplay=1).
### 13\.2 Обучение CSS
Далее идут каскадные таблицы стилей. В разрезе CSS вам нужно освоить:
- компоновку;
- центрирование и выравнивание;
- видимость элементов.
Это базис. Следующим этапом можно переходить к медиа-запросам, которые позволят учитывать технические параметры разных устройств. В создании адаптивного отзывчивого дизайна помогут CSS Grid и Flexbox.
### 13\.3 Обучение JavaScript
Ну и как стать эффективным фронтенд разработчиком без знания JavaScript? Именно он отвечает за функциональность сайта и возможность с ним взаимодействовать: заполнение и отправка форм, нажатие кнопок, прослушивание событий и многое другое.
Не спешите осваивать фреймворки — сперва чистый JavaScript. Это язык со слабой типизацией, а значит операция вроде 2 + "2" вместо ошибки выдаст результат 22. Так что есть с чем разбираться и без фреймворков.
Больше полезных материалов и инструментов для фронтенд-разработчика вы найдёте в [дорожной карте по фронтенду](https://tproger.ru/articles/frontend-roadmap-2021/).
## 14\. Full Stack разработка
Эдакий гибрид frontend- и backend-разработки. Данное направление набирает популярность. Сейчас сложно найти чистых фронтендеров или бэкендеров: для взаимодействия этим специалистам нужно знать, за что отвечают их коллеги по вебу.
Фуллстек-разработчик не будет одинаково хорош в разработке серверной и клиентской части. Но как стать чистым Full Stack разработчиком, и чем вообще занимаются эти специалисты?
Хороший пример — CRM-разработчик. В его обязанности входят:
- Работа с базами данных клиента: создание событий, автоматизация процессов и интеграция приложений посредством API.
- Настройка аналитики в формате репортов/дашбордов.
- Создание простенького, но понятного интерфейса для работы с готовым продуктом.
Здесь также применимы инструменты вроде Bootstrap или Angular, но без фанатизма — важно создание рабочего функционального продукта.
[13 вопросов работодателю на собеседовании: спрашивайте, не стесняйтесь tproger.ru](https://tproger.ru/articles/questions-to-the-employer/)
## 15\. Какой язык программирования выбрать в 2026 году
Всё ещё не определились с языком? Для начала взгляните на [рейтинг TIOBE](https://www.tiobe.com/tiobe-index/):
А теперь давайте пробежимся по самым популярным языкам программирования, затронем их сильные стороны и уточним сферы применения.
### 15\.1 Python
Как уже говорилось ранее, стать Python программистом с нуля самостоятельно несложно, ведь у языка низкий порог вхождения и понятный синтаксис. Пайтон рекомендуется к изучению в вузах в качестве базового языка.
Основные сферы применения Python:
- Data Science
- Веб-разработка
### 15\.2 JavaScript
О сферах применения JS говорить не стоит: язык давно стал лидером в веб-разработке, сперва захватив фронтенд, а теперь и отжимая бэкенд за счёт Node.js. Если хотите разрабатывать веб-приложения, учите JavaScript.
### 15\.3 Java
Java — это кроссплатформенный язык программирования, мощный обработчик и внушительная библиотека. У Java много готовых решений и исчерпывающая документация.
Основные сферы применения Java:
- Веб-разработка
- Android разработка
- Десктопная разработка
- Big Data
### 15\.4 C++
Быстрый, универсальный и полезный в качестве фундамента язык. Да, пусть Python в разы проще, но за сложностью C++ скрываются и преимущества. Освоив «плюсы», будет легче понять Java, C\# и JavaScript, в основу которых легли принципы C++.
Главные сферы применения C++:
- Геймдев
- Интернет вещей (IoT)
- Операционные системы
- Ускорение существующих приложений
### 15\.5 С\#
C\# часто сравнивают с Java, и у них действительно много общего. Код на C\# удобочитаемый, а синтаксический сахар обеспечивает высокую скорость разработки.
Основные сферы применения C\#:
- Геймдев
- AR/VR
- Десктопная разработка
По [этому видеокурсу](https://tproger.ru/video/csharp-for-beginners/?autoload=1) вы узнаете, как стать C\# разработчиком.
### 15\.6 PHP
Это бессмертная классика серверной части веб-приложений. PHP бюджетен, прост в освоении и успел обрасти внушительным комьюнити. Пусть современные сайты и пишутся то на Java, то на Node.js, существует огромная база написанных на PHP веб-приложений, которые нужно поддерживать.
### 15\.6 Kotlin
Здесь только Андроид. Но, как говорилось ранее, чтобы стать Android разработчиком с нуля, стоит начать с изучения Java, а только после переходить на Kotlin.
### 15\.7 Swift
Если хотите писать десктопные и мобильные приложения для Apple устройств, осваивайте Swift. Это компактный и производительный язык программирования, который постоянно совершенствуется компанией Apple.
### 15\.8 На что обратить внимание при выборе
На отрасль, в которой желаете развиваться. Но чтобы понять, как стать программистом и с какими трудностями придётся столкнуться, рекомендуем начать с C или C++, после которых любой другой язык освоить куда проще.
Если же вы точно определились, с чем именно хотите работать, смело выбирайте язык, который для этого подходит. Опирайтесь на рейтинги популярности, просматривайте вакансии по желаемому направлению в вашем городе, сравнивайте уровень востребованности специалистов.
## 16\. Где выучиться на программиста
Чтобы ответить на вопрос, где учиться на программиста, необходимо рассмотреть все доступные варианты.
### 16\.1 Самостоятельная учеба
Обилие книг, видеоуроков и сервисов вроде Scratch позволяет освоить базис, не выходя из дома. Но как выстроить план обучения, чтобы стать программистом с нуля самостоятельно? Обратитесь к стандартным программам обучения или роадмапам. Чаще всего основная программа выглядит примерно так:
1. Знакомство с программированием.
2. Разнообразие IT-направлений.
3. Основы выбранного языка: синтаксис, объекты и классы, функции, списки и словари, условия, циклы.
4. Hello World.
5. Модульное тестирование.
6. Безопасность.
### 16\.2 ВУЗ
Это более основательный подход, и, вопреки распространённому заблуждению, «корочка» IT-специалиста действительно ценится, особенно в крупных компаниях. Если вы серьёзно настроены на карьеру в IT и думаете, как отучиться на программиста, выбирайте вузы с сильными IT-факультетами.
### 16\.3 Практические курсы
К курсам можно относиться по-разному, но если у вас нет профильного образования и вы не хотите тратить несколько лет в вузе, курсы — хороший вариант. К тому же, современные курсы покрывают практически все нужды, обеспечивая обучение основам программирования и работу с реальными проектами.
### 16\.4 С помощью ментора
Мы уже разобрались, как можно стать айтишником с нуля дома, но не затронули менторство. Всё потому, что оно не всегда подразумевает обучение на дому: это может быть как онлайн-репетитор, так и индивидуальные занятия оффлайн.
Ментор не только объяснит материал, но также обратит ваше внимание на ошибки, которые вы допускаете на практике. Внимание наставника не растекается по группе людей, а сосредоточено именно на вашей работе, что даёт более прицельное обучение программированию.
## 17\. Классификация разработчиков
Когда люди говорят, что программисты много зарабатывают, они чаще всего подразумевают сеньоров. Давайте разберёмся, какие уровни IT-специалистов существуют и чем разнятся.
### 17\.1 Стажёр
Стажёр — это вчерашний студент, который набивает шишки на практике. Обычно это низкооплачиваемые сотрудники, которых компания нанимает специально, чтобы взрастить нужного специалиста.
Стажировка может быть как оплачиваемой, так и неоплачиваемой: всё зависит от договорённости с нанимателем. Продолжительность стажировки оговаривается индивидуально. Чаще к стажёру приставляют ментора из числа штатных специалистов.
### 17\.2 Junior разработчик
Как правило, чтобы стать Джуниор программистом, достаточно освоить синтаксис языка, простые задачи решать самостоятельно, а сложные — заручившись помощью более опытного коллеги. Младший разработчик получает небольшую, но стабильную зарплату.
### 17\.3 Middle разработчик
У такого программиста уже есть опыт в разработке, он самостоятельно выполняет сложные задачи, но по-прежнему нуждается в ком-то, кто направит. Чаще стек технологий Мидла ограничен необходимым базисом.
### 17\.4 Senior разработчик
Сеньор, или старший разработчик, уже обладает широким кругозором, знает несколько языков программирования и технологий, способен с нуля создать архитектуру проекта с учётом его будущего развития. Senior-разработчик часто выступает в роли ментора для младших коллег.
Переход между перечисленными уровнями требует не столько времени, сколько усердия со стороны самого разработчика.
[Подробнее об отличиях Junior, Middle и Senior разработчиков](https://tproger.ru/experts/junior-middle-senior-developers-differences/).
## 18\. Как стать Junior-разработчиком
Здесь опять всё упирается в выбранную отрасль: у каждой специальности свои требования. Давайте разберёмся, что нужно знать младшему программисту на примере веба и мобильной разработки.
[16 вопросов с собеседований, которые означают не то, что вы думаете tproger.ru](https://tproger.ru/articles/16-tricky-interview-questions/)
### 18\.1 Frontend Junior
Сразу оговоримся, что алгоритмы, Git, тестирование и прочий базис мы затрагивать не будем, так как это актуально для всех направлений.
Итак, что же нужно знать младшему Frontend разработчику в 2023 году?
- HTML5, понимать разметку, освоить базовые теги, атрибуты и вложенные элементы.
- CSS3 — позиционирование, компоновка и выравнивание элементов, их видимость, отзывчивый дизайн и подходы mobile-first.
- JavaScript — базовый синтаксис, DOM, методы обработки событий.
- Один из фреймворков: Vue.js, React или Angular.
- Работа с REST API.
- Основы систем сборки (Webpack, Vite).
- Базовые знания TypeScript.
- Git.
### 18\.2 Backend Junior
К младшему бэкенд программисту иные требования. Он должен знать:
- Принцип работы интернета и операционной системы.
- Язык серверного программирования: PHP, Java, JavaScript (Node.js), Python (Django) или другой.
- Базы данных — реляционные и NoSQL.
- API — REST, JSON.
- Контейнеризацию (Docker basics).
- Git.
Плюсом будет умение установить и настроить хотя бы один из популярных веб-серверов: Nginx, Apache, Caddy или MS IIS.
### 18\.3 Junior iOS
Чтобы влиться в iOS-разработку, нужно:
- Знать язык программирования Swift.
- Иметь практический опыт работы с IDE Xcode.
- Понимать сущность [Cocoa Touch](https://developer.apple.com/library/archive/documentation/General/Conceptual/CocoaEncyclopedia/Introduction/Introduction.html).
- Уметь работать со StoryBoard.
- Знать базы данных: CoreData или Realm.
- Владеть паттернами проектирования: MVP, MVVM, MVC.
### 18\.4 Junior Android
Как уже говорилось, начать следует с выбора языка, но за основу лучше взять именно Java, а при необходимости дополнительно изучить Kotlin. Далее:
- Практический опыт работы с Android Studio.
- Понимание Android Architecture: паттерны MVVM, MVI, MVP.
- Изучение жизненного цикла Activity.
- Умение создавать гибкие интерфейсы с использованием фрагментов.
- Работа с Retrofit для сетевых запросов.
- Базовые знания Kotlin Coroutines.
## 19\. Где работают программисты
Сложно ответить на вопрос, где в целом работают программисты, потому что сегодня профессия требуется чуть ли ни в любой сфере.
### 19\.1 Фриланс
Как стать айтишником на фрилансе? Для этого есть немало площадок: Upwork, [Weblancer](https://www.weblancer.net/), [Kwork](https://kwork.ru/), [FL](https://www.fl.ru/) и другие. Но будьте готовы нарабатывать портфолио и репутацию, а для этого первое время придётся браться за задачи по демпинговым ценам.
Большой плюс — знание английского и умение строить вопросы на получение исчерпывающих ответов: вы сами себе PM, тимлид и разработчик.
### 19\.2 Компании аутсорсеры
Также ласково называемые галерами. А всё потому, что от сотрудников часто требуется многозадачность за зарплату одного специалиста.
Но не всё так плохо. Во-первых, аутсорсинг — это готовые задачи, которые на фрилансе нужно выбивать, доказывая свою профпригодность. Здесь же менеджеры сами договариваются и берут нужный таск. Во-вторых, корпоративная жизнь предполагает бесплатный чай/кофе, абонементы в спортзал, тимбилдинги, корпоративы и прочие плюшки.
### 19\.3 Стартапы и небольшие компании
Неплохо для начинающих программистов и опасно для опытных, которые готовы ради этого бросить более крупную «рыбу». В стартапах всегда есть риски:
- итоговая зарплата окажется ниже обещанной;
- выплачиваться будет с задержкой;
- компания в любой момент может закрыться, не выдержав конкуренции.
Но это хороший опыт для стажёров, которые всё ещё думают, как стать программистом, младших разработчиков и тех, кто хочет уйти от фриланса.
### 19\.4 Банки и энтерпрайз
Здесь потребуется разработка, направленная на решение проблем бизнеса, а не конечных пользователей. Именно поэтому в банки и бизнес-отрасли часто набирают только Senior-программистов, так как нужно дописывать и поддерживать готовые проекты, нередко с Legacy-кодом. Зарплаты обычно выше средних на рынке.
### 19\.5 Продуктовые компании
Если аутсорсинг сосредоточен на разноплановости, ограниченных сроках и бюджете, то продуктовая компания — на эффективном управлении своими решениями. Во втором случае никто не будет требовать от вас проект на вчера и ведение сложных переписок с кучей недопониманий. К тому же, вы явно будете видеть свой вклад в продукт.
Как стать разработчиком продуктовой компании? Точно так же, как и аутсорсинговой, но будьте готовы, что требования могут быть выше, ведь компания ищет программиста непосредственно для себя, а не для левого дяди.
Где ещё можно работать программистом? Это фриланс, open source и собственные проекты.
## 20\. Как найти первую работу в IT
Всё чаще поднимается вопрос поиска и найма недооценённых специалистов — без диплома или соответствующего опыта работы. Исходя из этого, [что же всё-таки нужно знать начинающему программисту](https://tproger.ru/articles/junior-developer-should-know)?
Для начала вы должны показать, что нанять вас выгодно. В этом помогут теоретическая база, опыт в других сферах, знание английского и мотивация. Можно изобразить это так:
[]()
Источник — [dataart.team](https://dataart.team/ru/news/kak-naiti-pervuyu-rabotu-v-it-plan-deistvii-dlya-nachinayushikh/)
### 20\.1 Где брать проекты для портфолио
Если в поисках ответа на вопрос, где можно выучиться на программиста, вы выбрали курсы, практический опыт гарантирован: курсы для разработчиков не обходятся без написания проектов. То же касается и вузов, где присутствует обязательная практика.
Сложнее будет, если вы самоучка. Но и здесь можно что-то придумать:
- писать небольшие программы по туториалам;
- искать задания на фрилансе и выполнять их самостоятельно;
- принимать участие в разработке open source проектов.
### 20\.2 Как составить резюме, если нет опыта
1. Нормально назовите резюме. В названии должны быть желаемая должность и ФИО кандидата, как здесь: «Junior Java — Пупкин Иван Иванович».
2. Резюме может быть в формате Doc, PDF или сайта-визитки, если вы веб-разработчик.
3. Добавьте адекватное фото и контакты.
4. Укажите места, где учились и повышали квалификацию.
5. Не копирайте бездумно инфу из разделов, что нужно знать, чтобы стать крутым программистом: вы должны доказать эти знания на собеседовании.
6. Если нет опыта работы, указывайте, сколько времени практикуетесь в том или ином языке/технологии.
Последний пункт в резюме программиста может выглядеть примерно так:
- Java — 1 year;
- PHP — 0,5 years;
- JavaScript — 0,5 years.
### 20\.3 Где искать вакансии и работу
О фриланс-сервисах мы уже говорили, потому затронем платформы по поиску работы в офисе или в ремоут-режиме. Для России и стран СНГ лучшие сайты с вакансиями для программистов это:
- [HeadHunter](https://hh.ru/)
- [Хабр Карьера](https://career.habr.com/info/employer)
- [Вакансии Tproger](https://tproger.ru/jobs/)
- [VC.ru Job](https://vc.ru/job)
### 20\.4 Как общаться с рекрутерами
Как вы понимаете, стать хорошим программистом в обход общения с HR невозможно. На собеседовании не стесняйтесь озвучивать свои желания и вопросы. Если на всё кивать головой, как автомобильная собачка, рекрутер решит, что вы соглашаетесь со всем подряд.
Несмотря на это, нужно вести себя в меру сдержанно, демонстрировать серьёзность и говорить о своей мотивации.
## 21\. Что спрашивают у Джунов на собеседовании
Огромный пласт вопросов приходится на теорию, чуть меньше занимает практика. Перед собеседованием изучите информацию о компании — обязательно спросят, почему именно она.
Будут и логические задачи. При этом ответ не обязательно должен быть верным — важно озвучивать ход мыслей, показывать, как именно вы пришли к тому или иному решению.
Из задач встречаются алгоритмы поиска и сортировки, расчёты, работа со строками и списками, оптимизация готовых решений. Держите несколько [задач с собеседований для программистов](https://tproger.ru/articles/zadachi-s-sobesedovanij-dlja-programmistov/) под рукой — пригодится для практики.
Другие вопросы, которые могут прозвучать на собеседовании:
- Принципы ООП и их понимание.
- Команды Git — как сделать пуш, коммит и т. д.
- Основные SQL-запросы.
Всё остальное будет касаться выбранного языка.
## 22\. Что делать, если вам не хватает знаний до вакансии Джуниор-программиста
Трудоустроиться после первого же интервью почти нереально. Не расстраивайтесь из-за отказов, а используйте их с пользой. Как же стать востребованным айтишником быстрее? Попросите предоставить фидбек — чаще всего HR и разработчики, проводящие интервью, указывают на слабые места кандидата. Изучите [типичные задачи с собеседований для программистов](https://tproger.ru/articles/zadachi-s-sobesedovanij-dlja-programmistov/) — это сократит путь до оффера.
Держите [учебные материалы и руководства для начинающих айтишников](https://tproger.ru/tag/for-beginners/).
## Часто задаваемые вопросы
### Сколько времени нужно, чтобы стать программистом?
При ежедневных занятиях по 2–3 часа базовый уровень для позиции джуниора можно освоить за 6–12 месяцев. Сроки зависят от выбранного направления, интенсивности занятий и предыдущего опыта.
### Можно ли стать разработчиком без высшего образования?
Да. Большинство компаний оценивают практические навыки и портфолио, а не диплом. Онлайн-курсы, буткемпы и самообучение по документации — полноценные альтернативы.
### Какой язык программирования выбрать новичку?
Зависит от цели. Python — универсальный выбор для Data Science, автоматизации и бэкенда. JavaScript — для веб-разработки и фронтенда. Kotlin и Swift — для мобильной разработки.
### Нужна ли математика для программирования?
Для большинства направлений (веб, мобильная разработка) достаточно базовой математики: логика, дискретная математика, основы алгоритмов. Продвинутая математика нужна для Data Science, Computer Vision и геймдева.
## 23\. Заключение
Надеемся, этот гайд ответил на вопрос, как стать программистом, дал полезные советы и материалы, а также мотивировал на покорение новых вершин.
Остались вопросы? Задайте их в комментариях.
Читайте также по теме карьеры разработчика: [Что должен знать бэкенд-разработчик в 2024 году](https://tproger.ru/articles/chto-dolzhen-znat-backend-razrabotchik), [Как стать AI-инженером](https://tproger.ru/articles/kak-stat-ai-inzhenerom-v-2024-godu---powagovyj-gajd), [11 IT-трендов 2025](https://tproger.ru/articles/11-it-trendov-2025), [37 книг для программиста](https://tproger.ru/articles/knigi-po-programmirovaniyu).
В этой статье
1. [1\. Кто такой программист](https://tproger.ru/articles/kak-stat-programmistom#part1)
2. [2\. Почему вы хотите начать программировать](https://tproger.ru/articles/kak-stat-programmistom#part2)
3. [3\. Что нужно знать, чтобы стать программистом](https://tproger.ru/articles/kak-stat-programmistom#part3)
4. [4\. Какое направление в программировании выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part4)
5. [5\. Десктопная разработка](https://tproger.ru/articles/kak-stat-programmistom#part5)
6. [6\. Data Science](https://tproger.ru/articles/kak-stat-programmistom#part6)
7. [7\. Как стать разработчиком на Андроид](https://tproger.ru/articles/kak-stat-programmistom#part7)
8. [8\. План развития iOS разработчика](https://tproger.ru/articles/kak-stat-programmistom#part8)
9. [9\. Как стать разработчиком игр](https://tproger.ru/articles/kak-stat-programmistom#part9)
10. [10\. Как стать Python разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part10)
11. [11\. План развития Java-программиста](https://tproger.ru/articles/kak-stat-programmistom#part11)
12. [12\. Бэкенд разработка — с чего начать?](https://tproger.ru/articles/kak-stat-programmistom#part12)
13. [13\. Как стать фронтенд разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part13)
14. [14\. Full Stack разработка](https://tproger.ru/articles/kak-stat-programmistom#part14)
15. [15\. Какой язык программирования выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part15)
16. [16\. Где выучиться на программиста](https://tproger.ru/articles/kak-stat-programmistom#part16)
17. [17\. Классификация разработчиков](https://tproger.ru/articles/kak-stat-programmistom#part17)
18. [18\. Как стать Junior-разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part18)
19. [19\. Где работают программисты](https://tproger.ru/articles/kak-stat-programmistom#part19)
20. [20\. Как найти первую работу в IT](https://tproger.ru/articles/kak-stat-programmistom#part20)
21. [21\. Что спрашивают у Джунов на собеседовании](https://tproger.ru/articles/kak-stat-programmistom#part21)
22. [22\. Что делать, если вам не хватает знаний до вакансии Джуниор-программиста](https://tproger.ru/articles/kak-stat-programmistom#part22)
23. [Часто задаваемые вопросы](https://tproger.ru/articles/kak-stat-programmistom#faq)
24. [23\. Заключение](https://tproger.ru/articles/kak-stat-programmistom#part23)

Следите за новыми постами по любимым темам
- [Для начинающих](https://tproger.ru/tag/for-beginners)
- [Обучение программированию](https://tproger.ru/tag/learn-programming)
- [Работа](https://tproger.ru/tag/job)
- [Советы](https://tproger.ru/tag/advices)
- [Карьера](https://tproger.ru/tag/career)
- [Планы обучения](https://tproger.ru/tag/plany-obuchenija)
[Реклама](https://tproger.ru/ad)

[А ты безопасно хранишь свои данные?](https://tproger.ru/away?to=U2FsdGVkX19hr7F/eFn3m0P5yxbUgXrQRTyBed777WFAYrudIOm+W/mwNhrfotVLVzvf8phoQZOeSApWXKIkZRzI3aOIC+Jg3TA9xxP9vCuC0XXPQ7iC40YW58Bf6tqu)[Проверить](https://tproger.ru/away?to=U2FsdGVkX19hr7F/eFn3m0P5yxbUgXrQRTyBed777WFAYrudIOm+W/mwNhrfotVLVzvf8phoQZOeSApWXKIkZRzI3aOIC+Jg3TA9xxP9vCuC0XXPQ7iC40YW58Bf6tqu)
26 комментариев
Сначала интересные
Обычный текст
Список
Код с подсветкой
Изображение
Видео
VK видео
Блок не найден
Конвертировать в
Обычный текст
Список
Отправить
- 
Oleg Jedi
09 июля 2021
Интересно и познавательно для начинающего. С удовольствием прочитал статью. спасибо \!
1
0
Ответить
- 
Дима Перфильев
05 июля 2021
В тестировании зарплаты растут, но все равно есть ощущение, что пока недоплачивают
1
0
Ответить
- 
Камиль Титов
26 июля 2021
Спасибо, нашел для себя много полезного\!
1
0
Ответить
-  Ещё 17 ответов
Рекомендуем
- 
156
[Caveman: плагин для Claude Code, который экономит 75% токенов через «пещерный» стиль](https://tproger.ru/articles/caveman--plagin-dlya-claude-code--kotoryj-ekonomit-75--tokenov-che)
- 
[](https://tproger.ru/company/flant)
517
[Пайплайны и базы данных в Kubernetes: как сделать развёртывание умным](https://tproger.ru/articles/pajplajny-i-bazy-dannyh-v-kubernetes--kak-sdelat-razvyortyvanie-)
- 
1324
[Франкенштейн в медицине: как я скрестил ViT и ruGPT-3, чтобы научить ИИ читать рентген на русском](https://tproger.ru/articles/frankenwtejn-v-medicine--kak-ya-skrestil-vit-i-rugpt-3--chtoby-nau)
- 
1776
[Что такое MLOps простыми словами: модели, пайплайны и деплой без хаоса](https://tproger.ru/articles/chto-takoe-mlops-prostymi-slovami--modeli--pajplajny-i-deploj-bez)
- 
1411
[Что такое GitOps простыми словами: Git как источник истины для деплоя](https://tproger.ru/articles/chto-takoe-gitops-prostymi-slovami--git-kak-istochnik-istiny-dlya-d)
- 
1430
[Roadmap DevOps-инженера в 2026 году: что учить и в каком порядке](https://tproger.ru/articles/roadmap-devops-inzhenera-v-2026-godu--chto-uchit-i-v-kakom-poryadke)
- 
1634
[Что такое Helm и Helm Charts: пакетный менеджер для Kubernetes простыми словами](https://tproger.ru/articles/chto-takoe-helm-i-helm-charts--paketnyj-menedzher-dlya-kubernetes-p)
- 
1564
[Supply chain атаки 2026: Axios, PyPI и КНДР — что произошло и как защититься](https://tproger.ru/articles/supply-chain-ataki-2026--axios--pypi-i-prompt-injection---chto-pr)
- 
1380
[Научно-технический рэп, кулинарный блог и организация мероприятий: необычные творческие хобби айтишников](https://tproger.ru/articles/nauchno-tehnicheskij-rep--kulinarnyj-blog-i-organizaciya-meropriyati)
- 
[](https://tproger.ru/company/centicore-group)
2396
[Тренды разработки ПО в 2026 году: что меняется и что с этим делать](https://tproger.ru/articles/trendy-razrabotki-po-v-2026-godu--chto-menyaetsya-i-chto-s-etim-dela)
- 
1839
[SQL: полный путеводитель — от первых запросов до оконных функций](https://tproger.ru/articles/sql--polnyj-putevoditel---ot-pervyh-zaprosov-do-okonnyh-funkcij)
Загрузить ещё
 Tproger
— всё
о программировании
Контакты
- [\+7 926 977-82-60](<tel:+7 (926) 977-82-60>)
- [sales@tproger.ru](mailto:sales@tproger.ru)
О компании
- [О нас](https://tproger.ru/company/tproger/about)
- [Заказать рекламу](https://tproger.ru/ad/posts?utm_referrer=footer)
- [Редполитика](https://tproger.ru/policy)
- [Пользовательское соглашение](https://tproger.ru/terms.pdf)
- [Политика конфиденциальности](https://tproger.ru/privacy.pdf)
Личный кабинет
- Войти в мой профиль
- [Свежее](https://tproger.ru/new)
- [Новости](https://tproger.ru/news)
- [Викторины](https://tproger.ru/quiz)
- [Компании](https://tproger.ru/company)
- [Вакансии](https://tproger.ru/jobs)
- [Курсы](https://tproger.ru/courses)
- [События](https://tproger.ru/events)
- [Премия Tproger](https://tproger.ru/tproger-awards)
Подпишитесь, чтобы не пропустить самое интересное
Нажимая «Подписаться», вы принимаете условия [передачи данных](https://tproger.ru/consents.pdf) и [политику конфиденциальности](https://tproger.ru/privacy.pdf)
Рассказать о баге
Нашли опечатку? Выделите фрагмент и
отправьте нажатием **Ctrl+Enter**
 |
| Readable Markdown | > • Чтобы стать программистом, нужны как технические навыки (алгоритмы, ООП, базы данных), так и софт скиллы (английский, работа в команде) • Выбирайте направление по интересам: веб, мобильная разработка, Data Science, геймдев или системное программирование • Начните с одного языка и доведите его до уровня уверенного использования, прежде чем учить следующий • Портфолио и практические проекты важнее сертификатов при трудоустройстве • Самообучение, курсы и менторство — рабочие пути в IT, формальное образование не обязательно
Как стать программистом и с чего начать, если нет практического опыта, а представление о программировании весьма размытое? Подробно рассказываем, как стать востребованным программистом с нуля и на что обратить внимание.
1. [Кто такой программист](https://tproger.ru/articles/kak-stat-programmistom#part1)
2. [Почему вы хотите начать программировать](https://tproger.ru/articles/kak-stat-programmistom#part2)
3. [Что нужно знать, чтобы стать программистом](https://tproger.ru/articles/kak-stat-programmistom#part3)
4. [Какое направление в программировании выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part4)
5. [Десктопная разработка](https://tproger.ru/articles/kak-stat-programmistom#part5)
6. [Data Science](https://tproger.ru/articles/kak-stat-programmistom#part6)
7. [Как стать разработчиком на Андроид](https://tproger.ru/articles/kak-stat-programmistom#part7)
8. [План развития iOS разработчика](https://tproger.ru/articles/kak-stat-programmistom#part8)
9. [Как стать разработчиком игр](https://tproger.ru/articles/kak-stat-programmistom#part9)
10. [Как стать Python разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part10)
11. [План развития Java-программиста](https://tproger.ru/articles/kak-stat-programmistom#part11)
12. [Бэкенд разработка — с чего начать?](https://tproger.ru/articles/kak-stat-programmistom#part12)
13. [Как стать фронтенд разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part13)
14. [Full Stack разработка](https://tproger.ru/articles/kak-stat-programmistom#part14)
15. [Какой язык программирования выбрать в 2026 году](https://tproger.ru/articles/kak-stat-programmistom#part15)
16. [Где выучиться на программиста](https://tproger.ru/articles/kak-stat-programmistom#part16)
17. [Классификация разработчиков](https://tproger.ru/articles/kak-stat-programmistom#part17)
18. [Как стать Junior-разработчиком](https://tproger.ru/articles/kak-stat-programmistom#part18)
19. [Где работают программисты](https://tproger.ru/articles/kak-stat-programmistom#part19)
20. [Как найти первую работу в IT](https://tproger.ru/articles/kak-stat-programmistom#part20)
21. [Что спрашивают у Джунов на собеседовании](https://tproger.ru/articles/kak-stat-programmistom#part21)
22. [Что делать, если вам не хватает знаний до вакансии Джуниор-программиста](https://tproger.ru/articles/kak-stat-programmistom#part22)
23. [Заключение](https://tproger.ru/articles/kak-stat-programmistom#part23)
## 1\. Кто такой программист
IT — перспективная отрасль, которая сулит хорошим специалистам [немаленькие зарплаты](https://tproger.ru/articles/developer-salary/). Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Программист — это специалист по разработке компьютерных программ. Под разработкой понимается продумывание архитектуры программы, её реализация, оптимизация и тестирование. Далее мы разберёмся, как стать востребованным айтишником с нуля самостоятельно.
### 1\.1 Чем занимается программист
Это зависит от специфики выбранной отрасли, но в целом всё сводится к написанию и тестированию кода. Важно понимать свои обязанности и не скатываться в звание [раба на галерах](https://tproger.ru/articles/21-answers-to-weird-requests/).
### 1\.2 Можно ли стать айтишником с нуля
Разумеется. Для этого существуют [материалы, ориентированные на новичков](https://tproger.ru/tag/for-beginners/): туда входят статьи, подборки книг, обучающие приложения, задачки, видеоуроки и многое другое.
[]()
А вот как стать крутым программистом с нуля и с чего начать — другой вопрос. К примеру, Senior разработчика от джуна отличают годы практики и колоссальный опыт, так что только терпение и труд.
## 2\. Почему вы хотите начать программировать
IT — перспективная отрасль, которая сулит хорошим специалистам немаленькие зарплаты. Но если деньги — единственная причина, подумайте трижды. Вам предстоит работать в офисе, дома, забывать о выходных и возможности расслабиться: все мысли в тасках и багах. А всё, что обязательно нужно знать начинающему программисту, курсы не дадут: будьте готовы доучиваться.
Если же вы питаете неподдельный интерес к процессу, смело ступайте на стезю разработки.
## 3\. Что нужно знать, чтобы стать программистом
Чтобы стать успешным и востребованным программистом, нужно обзавестись рядом hard skills и soft skills. Первые отвечают за технические умения и знания, вторые — за качества, которые помогают эффективно работать в команде.
### 3\.1 Hard skills
У каждой профессии свой набор хард скиллов. У программиста это общие технические знания (математика, информатика, алгоритмизация) и набор навыков, свойственный конкретному стеку.
#### 3\.1.1 Основы информатики
В такой сложнотехнической профессии понадобятся даже самые азы, а именно:
- какие типы данных бывают и чем они отличаются друг от друга;
- понимание систем счисления — двоичной и шестнадцатеричной;
- [булева алгебра](https://ru.wikipedia.org/wiki/%D0%91%D1%83%D0%BB%D0%B5%D0%B2%D0%B0_%D0%B0%D0%BB%D0%B3%D0%B5%D0%B1%D1%80%D0%B0) и логические операторы.
- понятие [языка программирования](https://tproger.ru/tag/c-language/).
#### 3\.1.2 Математика
А как же стать настоящим программистом, если плохо с математикой, и [насколько важна математика в разработке](https://tproger.ru/experts/2/)? Требования разнятся в зависимости от сферы: для веба нужна лишь базовая математика, алгоритмы и теория вероятности. Для Data Science потребуется линейная алгебра, а для геймдева — геометрия.
#### 3\.1.3 Алгоритмы
Это то, что нужно обязательно знать, чтобы стать программистом. Алгоритмами называют последовательность действий, которая преобразовывает входные данные в некий результат. Наверняка вы слышали об алгоритме сортировки. По сути, алгоритм — это набор инструкций для решения задачи.
#### 3\.1.4 Структуры данных
Выбор структуры данных определяет алгоритмы, которые можно применять к данным. Среди базовых структур — массивы, стеки, деревья, графы, множества и отображения.
#### 3\.1.5 ООП
Объектно-ориентированное программирование — парадигма, основанная на концепции объектов, которые содержат данные и код. Нужна ли она вам, зависит от языка программирования и выбранного стека.
#### 3\.1.6 Системы контроля версий
Git — наиболее популярная система контроля версий. Это инструмент для отслеживания изменений в коде, который позволяет управлять разными версиями проекта. Умение работать с Git необходимо любому разработчику.
#### 3\.1.7 Паттерны проектирования
Паттерны — это готовые решения для типичных задач в разработке программного обеспечения. Знание паттернов ускоряет разработку и делает код понятнее для коллег.
### 3\.2 Soft skills
Soft skills — это навыки, которые позволяют эффективно работать в команде. К ним относятся:
- **Английский язык**. Документация, зарубежные форумы вроде Stack Overflow, переписка с иностранными коллегами — без английского никуда. Изучите хотя бы технический английский. [Советы для IT-специалистов](https://tproger.ru/articles/english-for-it/).
- **Работа в команде.** Разработка — это командная игра. Чаще всего над проектом трудятся несколько специалистов, которые работают в связке.
- **Тайм-менеджмент.** Разработчик работает в режиме многозадачности: несколько задач одновременно, стендапы, созвоны с заказчиком, ревью кода коллег. Умение расставлять приоритеты — ключевой навык.
- **Гибкость и [agile-мышление](https://tproger.ru/explain/agile-is-simple/).** Требования к продукту меняются, и к этому нужно быть готовым.
#### 3\.2.1 Хватит ли базовой математики
Для большинства направлений — да. Требования к математике зависят от специализации:
- Веб-разработка — базовая математика, логика, алгоритмы.
- Data Science — линейная алгебра, математический анализ, теория вероятностей.
- Геймдев — геометрия, физика, линейная алгебра.
- Системное программирование — дискретная математика, теория алгоритмов.
#### 3\.2.2 Нужен ли английский
Да. Большинство технической документации написано на английском. Вопросы на Stack Overflow, README проектов на GitHub, официальные туториалы — всё это на английском. Без базового понимания языка вы будете ограничены только русскоязычными ресурсами.
Прежде чем думать, как стать айтишником с нуля самостоятельно, стоит определиться с направлением. По данным [Stack Overflow Developer Survey](https://insights.stackoverflow.com/survey/2020#overview), самые популярные направления в разработке:
В опросе приняло участие 65 000 разработчиков из разных стран.
Но что насчёт России? Согласно данным «Университета 20.35» за 2020 год, в топ-10 востребованных удалённых ИТ-профессий России вошли:
1. Java-разработчик
2. Аналитик данных
3. Разработчик на языке C\#
4. PHP-разработчик
5. Специалист службы поддержки
6. Продуктовый аналитик
7. Разработчик 1С
8. Kotlin-разработчик
9. Системный администратор
10. Python-разработчик
А вот зарплаты айтишников по специализациям за второе полугодие 2020:
[]()
Проценты на диаграмме отражают разницу с предыдущим периодом, а прочерк означает, что данных для сравнения недостаточно.
## 5\. Десктопная разработка
Десктопными называют приложения, которые устанавливаются на компьютер и работают под управлением ОС. Как известно, чтобы стать айтишником с нуля, сперва в любом случае нужно практиковаться на консоли и простых приложениях.
Хотите заниматься этим на серьёзном уровне? Здесь всё просто: если планируете разрабатывать под Windows — учите язык C\#, под Linux — C++ или C, под macOS — Swift.
### 5\.1 C\#
Этот язык — основа Windows-разработки. Он используется в разработке настольных приложений (Windows Forms, WPF), игр (Unity) и серверных приложений (.NET).
### 5\.2 C++
C++ применяется в системном программировании, геймдеве и разработке приложений, где важна производительность. Этот язык — ближе всего к «железу» из высокоуровневых языков.
### 5\.3 Java
Java-десктоп не пользуется большой популярностью, но имеет место быть: инструментарий для разработки (IDE и другое ПО для разработчиков) часто пишется на Java. К примеру, IntelliJ IDEA.
### 5\.4 Python
Для создания GUI-приложений на Python существуют библиотеки Tkinter, PyQt и wxPython. Это не самый популярный стек для десктопа, но Python как язык общего назначения справляется и с этой задачей.
### 5\.5 Swift
Если ваша цель — macOS-приложения, Swift является основным языком. Он также используется для iOS-разработки.
### 5\.6 JavaScript
Electron — фреймворк для создания кроссплатформенных десктопных приложений на JavaScript. Именно на нём написаны VS Code, Slack, Discord.
### 5\.7 .NET
Платформа .NET от Microsoft используется для разработки Windows-приложений. [Дорожная карта C\# разработчика](https://tproger.ru/articles/razrabotka-na-c-s-nulja-v-2022-godu-dorozhnaja-karta/).
### 5\.8 Ruby
Ruby используется преимущественно в веб-разработке (Ruby on Rails), но также подходит для написания скриптов и утилит.
### 5\.9 Kotlin
Kotlin Multiplatform позволяет писать код, который запускается на Android, iOS и десктопе. Технология активно развивается компанией JetBrains.
## 6\. Data Science
Языки программирования Python и R — общепринятый стандарт для Data Science, так как они оба отлично подходят для работы со статистикой.
### 6\.1 Python
Как стать Python программистом с нуля самостоятельно? На самом деле, не так уж сложно: у языка Пайтон простой синтаксис, много библиотек, развёрнутая и понятная документация. Но есть и минусы, такие как отсутствие удобных средств ORM и не самая высокая скорость работы.
Для Data Scientist у Python есть немало библиотек и фреймворков:
### 6\.2 R
R в свою очередь характеризуется богатой ML-экосистемой, поддержкой векторных вычислений и синтаксисом, заточенным под нужды статиста. Из минусов — меньшее комьюнити и не самый простой синтаксис.
Но у языка R есть свои инструменты для Data Science:
- Esquisse и Ggplot2 — библиотеки для создания графиков.
- Dplyr — аналог Pandas для R.
- Shiny — пакет для интерактивных веб-приложений с визуализацией исследований.
И это не говоря о randomForest, Caret и других библиотеках с методами машинного обучения.
Читайте также: [Как стать AI-инженером в 2024 году — пошаговый гайд](https://tproger.ru/articles/kak-stat-ai-inzhenerom-v-2024-godu---powagovyj-gajd) и [11 IT-трендов 2025 года, которые изменят индустрию](https://tproger.ru/articles/11-it-trendov-2025).
## 7\. Как стать разработчиком на Андроид
В 2019 году компания Google [объявила Kotlin предпочтительным языком программирования для создания Android-приложений](https://tproger.ru/news/first-kotlin-android/). Это спровоцировало новую волну споров по выбору языка.
Ответ таков: чтобы стать Android-разработчиком, нужны оба языка, но при этом ознакомиться с их отличительными характеристиками не помешает.
### 7\.1 Java
- много библиотек и готовых решений;
- большое комьюнити;
- разные сферы применения, если вдруг надоест Android-разработка;
- документация Kotlin предполагает, что вы знаете Java.
### 7\.2 Kotlin
- лаконичный синтаксис;
- актуальная IDE, тесно связанная с языком разработки (Android Studio и Kotlin созданы JetBrains);
- предсказуемое развитие;
- перспективы.
## 8\. План развития iOS разработчика
А как же тогда стать разработчиком iOS? Здесь всё гораздо проще, так как основной язык всего один.
### 8\.1 Swift
Этот язык программирования разработан Apple и многое заимствовал из Objective-C, а также C++.
Преимущества Swift:
- компактный язык программирования;
- производительность приближена к C++;
- тестирование кода в реальном времени со Swift Playgrounds;
- постепенно распространяется на другие платформы.
Подробнее — [для чего подходит Swift](https://tproger.ru/articles/what-swift-is-good-for/).
## 9\. Как стать разработчиком игр
Разработка игр — это отдельная и очень увлекательная область. Она требует знания математики (линейная алгебра, физика), умения работать с игровыми движками (Unity, Unreal Engine) и понимания игровой механики.
### 9\.1 C++
Это язык номер один в геймдеве. Unreal Engine написан на C++, и большинство крупных игровых студий используют его в работе.
### 9\.2 C\#
Unity использует C\# как основной язык. Это делает C\# вторым по значимости языком в геймдеве. Unity подходит как для инди-игр, так и для крупных проектов.
### 9\.3 Blueprint (Unreal Engine)
Система визуального программирования Blueprint в Unreal Engine позволяет создавать игровую логику без написания кода. Это хорошая точка входа для начинающих геймдев-разработчиков.
### 9\.4 GDScript (Godot)
Godot — бесплатный open source игровой движок. GDScript — его собственный язык, похожий на Python. Отличный выбор для начинающих разработчиков игр.
### 9\.5 JavaScript
Phaser, Babylon.js, Three.js — фреймворки для разработки браузерных игр на JavaScript. Это хороший путь для тех, кто уже знает JS и хочет попробовать геймдев.
### 9\.6 Python
Pygame — библиотека для создания простых 2D-игр на Python. Подходит для прототипирования и небольших проектов, но не для AAA-разработки.
### 9\.7 Lua
Lua используется в качестве встроенного скриптового языка во многих игровых движках. Roblox Studio, к примеру, использует Lua как основной язык программирования.
### 9\.8 Rust
Rust набирает популярность в геймдеве благодаря высокой производительности и безопасности памяти. Bevy — игровой движок на Rust.
## 10\. Как стать Python разработчиком
Чтобы стать питонистом, нужно начинать с азов, таких как принципы ООП и синтаксис языка. А понимание того, как стать программистом Python, придёт с определением сферы деятельности. Основных направления для Пайтон-разработчиков два:
- Data Science
- Веб-разработка
Поскольку первое направление мы уже разобрали, сосредоточимся на веб-разработке. Что же что нужно знать Python веб-разработчику? Обратите внимание на фреймворки Django и Flask. Для эффективной работы с бэкендом достаточно одного из них, но в идеале стоит изучить оба.
Python можно использовать для создания десктопных приложений, геймдева и мобильной разработки, но наилучших показателей с этим языком можно достичь в перечисленных направлениях.
## 11\. План развития Java-программиста
А как можно стать Java разработчиком, если никогда не был программистом? Базис для всех языков плюс-минус одинаков: синтаксис, переменные, условия, циклы, ООП. Для решения специфических задач нужно освоить инструмент сборки и управления проектом Maven или Gradle.
Дальше всё зависит от выбранного направления в Java:
- веб-разработка;
- Android разработка;
- программирование для десктопов;
- Big Data.
Все материалы по этим направлениям, инструменты и путь развития вы найдёте в [дорожной карте Java-программиста](https://tproger.ru/articles/java-roadmap/).
## 12\. Бэкенд разработка — с чего начать?
Как стать бэкенд разработчиком? Нужно понимать, как устроены операционные системы, уметь работать с терминалом, знать стандарты POSIX и концепции построения сети, управлять вводом и выводом (I/O), процессами, а также памятью.
### 12\.1 Node.js
Node.js — серверная JavaScript-платформа. Хотите разрабатывать бэкенд на JavaScript? [Попробуйте создать простой блог на Node.js](https://tproger.ru/translations/simple-blog-node-js/).
### 12\.2 PHP
PHP по-прежнему остаётся одним из самых востребованных языков в бэкенде. WordPress, самая популярная CMS в мире, написана на PHP.
### 12\.3 Python (Django/Flask)
Django — полнофункциональный фреймворк с батарейками в комплекте, Flask — минималистичный. Оба используются для создания веб-сервисов и API.
### 12\.4 Ruby on Rails
Ruby on Rails — фреймворк с философией Convention over Configuration. Благодаря ему разработка идёт быстро: много вещей работают «из коробки».
### 12\.5 Java (Spring)
Spring — самый популярный Java-фреймворк для корпоративной разработки. Он используется в крупных банках, финтех-компаниях и enterprise-системах.
### 12\.6 Go
Go (Golang) от Google — язык для высоконагруженных систем. Используется в Kubernetes, Docker и многих других инфраструктурных проектах.
### 12\.7 Rust
Rust всё активнее проникает в бэкенд-разработку. Actix-web — один из самых быстрых веб-фреймворков в мире по бенчмаркам.
### 12\.8 .NET (C\#)
ASP.NET Core — мощный фреймворк для серверной разработки от Microsoft. Широко используется в корпоративных приложениях на Windows-инфраструктуре.
Подробнее о карьере в серверной разработке: [Что должен знать бэкенд-разработчик в 2024 году](https://tproger.ru/articles/chto-dolzhen-znat-backend-razrabotchik).
## 13\. Как стать фронтенд разработчиком
Итак, frontend программирование — с чего начать? Вам нужно освоить HTML, CSS и JavaScript — три кита, на которых стоит фронтенд-разработка. Подробный [план обучения для начинающих фронтенд-разработчиков](https://tproger.ru/curriculum/intro-to-frontend-development).
### 13\.1 Обучение HTML
Разметка — это каркас сайта. Чтобы работать с фронтендом, следует хорошо понимать анатомию HTML-разметки, знать основные атрибуты и теги, обеспечивать доступность и освоить SEO хотя бы на базовом уровне.
Для лучшего понимания рекомендуем ознакомиться с [видеокурсом «HTML5 для начинающих»](https://tproger.ru/video/html5-for-beginners/?autoplay=1).
### 13\.2 Обучение CSS
Далее идут каскадные таблицы стилей. В разрезе CSS вам нужно освоить:
- компоновку;
- центрирование и выравнивание;
- видимость элементов.
Это базис. Следующим этапом можно переходить к медиа-запросам, которые позволят учитывать технические параметры разных устройств. В создании адаптивного отзывчивого дизайна помогут CSS Grid и Flexbox.
### 13\.3 Обучение JavaScript
Ну и как стать эффективным фронтенд разработчиком без знания JavaScript? Именно он отвечает за функциональность сайта и возможность с ним взаимодействовать: заполнение и отправка форм, нажатие кнопок, прослушивание событий и многое другое.
Не спешите осваивать фреймворки — сперва чистый JavaScript. Это язык со слабой типизацией, а значит операция вроде 2 + "2" вместо ошибки выдаст результат 22. Так что есть с чем разбираться и без фреймворков.
Больше полезных материалов и инструментов для фронтенд-разработчика вы найдёте в [дорожной карте по фронтенду](https://tproger.ru/articles/frontend-roadmap-2021/).
## 14\. Full Stack разработка
Эдакий гибрид frontend- и backend-разработки. Данное направление набирает популярность. Сейчас сложно найти чистых фронтендеров или бэкендеров: для взаимодействия этим специалистам нужно знать, за что отвечают их коллеги по вебу.
Фуллстек-разработчик не будет одинаково хорош в разработке серверной и клиентской части. Но как стать чистым Full Stack разработчиком, и чем вообще занимаются эти специалисты?
Хороший пример — CRM-разработчик. В его обязанности входят:
- Работа с базами данных клиента: создание событий, автоматизация процессов и интеграция приложений посредством API.
- Настройка аналитики в формате репортов/дашбордов.
- Создание простенького, но понятного интерфейса для работы с готовым продуктом.
Здесь также применимы инструменты вроде Bootstrap или Angular, но без фанатизма — важно создание рабочего функционального продукта.
## 15\. Какой язык программирования выбрать в 2026 году
Всё ещё не определились с языком? Для начала взгляните на [рейтинг TIOBE](https://www.tiobe.com/tiobe-index/):
А теперь давайте пробежимся по самым популярным языкам программирования, затронем их сильные стороны и уточним сферы применения.
### 15\.1 Python
Как уже говорилось ранее, стать Python программистом с нуля самостоятельно несложно, ведь у языка низкий порог вхождения и понятный синтаксис. Пайтон рекомендуется к изучению в вузах в качестве базового языка.
Основные сферы применения Python:
- Data Science
- Веб-разработка
### 15\.2 JavaScript
О сферах применения JS говорить не стоит: язык давно стал лидером в веб-разработке, сперва захватив фронтенд, а теперь и отжимая бэкенд за счёт Node.js. Если хотите разрабатывать веб-приложения, учите JavaScript.
### 15\.3 Java
Java — это кроссплатформенный язык программирования, мощный обработчик и внушительная библиотека. У Java много готовых решений и исчерпывающая документация.
Основные сферы применения Java:
- Веб-разработка
- Android разработка
- Десктопная разработка
- Big Data
### 15\.4 C++
Быстрый, универсальный и полезный в качестве фундамента язык. Да, пусть Python в разы проще, но за сложностью C++ скрываются и преимущества. Освоив «плюсы», будет легче понять Java, C\# и JavaScript, в основу которых легли принципы C++.
Главные сферы применения C++:
- Геймдев
- Интернет вещей (IoT)
- Операционные системы
- Ускорение существующих приложений
### 15\.5 С\#
C\# часто сравнивают с Java, и у них действительно много общего. Код на C\# удобочитаемый, а синтаксический сахар обеспечивает высокую скорость разработки.
Основные сферы применения C\#:
- Геймдев
- AR/VR
- Десктопная разработка
По [этому видеокурсу](https://tproger.ru/video/csharp-for-beginners/?autoload=1) вы узнаете, как стать C\# разработчиком.
### 15\.6 PHP
Это бессмертная классика серверной части веб-приложений. PHP бюджетен, прост в освоении и успел обрасти внушительным комьюнити. Пусть современные сайты и пишутся то на Java, то на Node.js, существует огромная база написанных на PHP веб-приложений, которые нужно поддерживать.
### 15\.6 Kotlin
Здесь только Андроид. Но, как говорилось ранее, чтобы стать Android разработчиком с нуля, стоит начать с изучения Java, а только после переходить на Kotlin.
### 15\.7 Swift
Если хотите писать десктопные и мобильные приложения для Apple устройств, осваивайте Swift. Это компактный и производительный язык программирования, который постоянно совершенствуется компанией Apple.
### 15\.8 На что обратить внимание при выборе
На отрасль, в которой желаете развиваться. Но чтобы понять, как стать программистом и с какими трудностями придётся столкнуться, рекомендуем начать с C или C++, после которых любой другой язык освоить куда проще.
Если же вы точно определились, с чем именно хотите работать, смело выбирайте язык, который для этого подходит. Опирайтесь на рейтинги популярности, просматривайте вакансии по желаемому направлению в вашем городе, сравнивайте уровень востребованности специалистов.
## 16\. Где выучиться на программиста
Чтобы ответить на вопрос, где учиться на программиста, необходимо рассмотреть все доступные варианты.
### 16\.1 Самостоятельная учеба
Обилие книг, видеоуроков и сервисов вроде Scratch позволяет освоить базис, не выходя из дома. Но как выстроить план обучения, чтобы стать программистом с нуля самостоятельно? Обратитесь к стандартным программам обучения или роадмапам. Чаще всего основная программа выглядит примерно так:
1. Знакомство с программированием.
2. Разнообразие IT-направлений.
3. Основы выбранного языка: синтаксис, объекты и классы, функции, списки и словари, условия, циклы.
4. Hello World.
5. Модульное тестирование.
6. Безопасность.
### 16\.2 ВУЗ
Это более основательный подход, и, вопреки распространённому заблуждению, «корочка» IT-специалиста действительно ценится, особенно в крупных компаниях. Если вы серьёзно настроены на карьеру в IT и думаете, как отучиться на программиста, выбирайте вузы с сильными IT-факультетами.
### 16\.3 Практические курсы
К курсам можно относиться по-разному, но если у вас нет профильного образования и вы не хотите тратить несколько лет в вузе, курсы — хороший вариант. К тому же, современные курсы покрывают практически все нужды, обеспечивая обучение основам программирования и работу с реальными проектами.
### 16\.4 С помощью ментора
Мы уже разобрались, как можно стать айтишником с нуля дома, но не затронули менторство. Всё потому, что оно не всегда подразумевает обучение на дому: это может быть как онлайн-репетитор, так и индивидуальные занятия оффлайн.
Ментор не только объяснит материал, но также обратит ваше внимание на ошибки, которые вы допускаете на практике. Внимание наставника не растекается по группе людей, а сосредоточено именно на вашей работе, что даёт более прицельное обучение программированию.
## 17\. Классификация разработчиков
Когда люди говорят, что программисты много зарабатывают, они чаще всего подразумевают сеньоров. Давайте разберёмся, какие уровни IT-специалистов существуют и чем разнятся.
### 17\.1 Стажёр
Стажёр — это вчерашний студент, который набивает шишки на практике. Обычно это низкооплачиваемые сотрудники, которых компания нанимает специально, чтобы взрастить нужного специалиста.
Стажировка может быть как оплачиваемой, так и неоплачиваемой: всё зависит от договорённости с нанимателем. Продолжительность стажировки оговаривается индивидуально. Чаще к стажёру приставляют ментора из числа штатных специалистов.
### 17\.2 Junior разработчик
Как правило, чтобы стать Джуниор программистом, достаточно освоить синтаксис языка, простые задачи решать самостоятельно, а сложные — заручившись помощью более опытного коллеги. Младший разработчик получает небольшую, но стабильную зарплату.
### 17\.3 Middle разработчик
У такого программиста уже есть опыт в разработке, он самостоятельно выполняет сложные задачи, но по-прежнему нуждается в ком-то, кто направит. Чаще стек технологий Мидла ограничен необходимым базисом.
### 17\.4 Senior разработчик
Сеньор, или старший разработчик, уже обладает широким кругозором, знает несколько языков программирования и технологий, способен с нуля создать архитектуру проекта с учётом его будущего развития. Senior-разработчик часто выступает в роли ментора для младших коллег.
Переход между перечисленными уровнями требует не столько времени, сколько усердия со стороны самого разработчика.
[Подробнее об отличиях Junior, Middle и Senior разработчиков](https://tproger.ru/experts/junior-middle-senior-developers-differences/).
## 18\. Как стать Junior-разработчиком
Здесь опять всё упирается в выбранную отрасль: у каждой специальности свои требования. Давайте разберёмся, что нужно знать младшему программисту на примере веба и мобильной разработки.
### 18\.1 Frontend Junior
Сразу оговоримся, что алгоритмы, Git, тестирование и прочий базис мы затрагивать не будем, так как это актуально для всех направлений.
Итак, что же нужно знать младшему Frontend разработчику в 2023 году?
- HTML5, понимать разметку, освоить базовые теги, атрибуты и вложенные элементы.
- CSS3 — позиционирование, компоновка и выравнивание элементов, их видимость, отзывчивый дизайн и подходы mobile-first.
- JavaScript — базовый синтаксис, DOM, методы обработки событий.
- Один из фреймворков: Vue.js, React или Angular.
- Работа с REST API.
- Основы систем сборки (Webpack, Vite).
- Базовые знания TypeScript.
- Git.
### 18\.2 Backend Junior
К младшему бэкенд программисту иные требования. Он должен знать:
- Принцип работы интернета и операционной системы.
- Язык серверного программирования: PHP, Java, JavaScript (Node.js), Python (Django) или другой.
- Базы данных — реляционные и NoSQL.
- API — REST, JSON.
- Контейнеризацию (Docker basics).
- Git.
Плюсом будет умение установить и настроить хотя бы один из популярных веб-серверов: Nginx, Apache, Caddy или MS IIS.
### 18\.3 Junior iOS
Чтобы влиться в iOS-разработку, нужно:
- Знать язык программирования Swift.
- Иметь практический опыт работы с IDE Xcode.
- Понимать сущность [Cocoa Touch](https://developer.apple.com/library/archive/documentation/General/Conceptual/CocoaEncyclopedia/Introduction/Introduction.html).
- Уметь работать со StoryBoard.
- Знать базы данных: CoreData или Realm.
- Владеть паттернами проектирования: MVP, MVVM, MVC.
### 18\.4 Junior Android
Как уже говорилось, начать следует с выбора языка, но за основу лучше взять именно Java, а при необходимости дополнительно изучить Kotlin. Далее:
- Практический опыт работы с Android Studio.
- Понимание Android Architecture: паттерны MVVM, MVI, MVP.
- Изучение жизненного цикла Activity.
- Умение создавать гибкие интерфейсы с использованием фрагментов.
- Работа с Retrofit для сетевых запросов.
- Базовые знания Kotlin Coroutines.
## 19\. Где работают программисты
Сложно ответить на вопрос, где в целом работают программисты, потому что сегодня профессия требуется чуть ли ни в любой сфере.
### 19\.1 Фриланс
Как стать айтишником на фрилансе? Для этого есть немало площадок: Upwork, [Weblancer](https://www.weblancer.net/), [Kwork](https://kwork.ru/), [FL](https://www.fl.ru/) и другие. Но будьте готовы нарабатывать портфолио и репутацию, а для этого первое время придётся браться за задачи по демпинговым ценам.
Большой плюс — знание английского и умение строить вопросы на получение исчерпывающих ответов: вы сами себе PM, тимлид и разработчик.
### 19\.2 Компании аутсорсеры
Также ласково называемые галерами. А всё потому, что от сотрудников часто требуется многозадачность за зарплату одного специалиста.
Но не всё так плохо. Во-первых, аутсорсинг — это готовые задачи, которые на фрилансе нужно выбивать, доказывая свою профпригодность. Здесь же менеджеры сами договариваются и берут нужный таск. Во-вторых, корпоративная жизнь предполагает бесплатный чай/кофе, абонементы в спортзал, тимбилдинги, корпоративы и прочие плюшки.
### 19\.3 Стартапы и небольшие компании
Неплохо для начинающих программистов и опасно для опытных, которые готовы ради этого бросить более крупную «рыбу». В стартапах всегда есть риски:
- итоговая зарплата окажется ниже обещанной;
- выплачиваться будет с задержкой;
- компания в любой момент может закрыться, не выдержав конкуренции.
Но это хороший опыт для стажёров, которые всё ещё думают, как стать программистом, младших разработчиков и тех, кто хочет уйти от фриланса.
### 19\.4 Банки и энтерпрайз
Здесь потребуется разработка, направленная на решение проблем бизнеса, а не конечных пользователей. Именно поэтому в банки и бизнес-отрасли часто набирают только Senior-программистов, так как нужно дописывать и поддерживать готовые проекты, нередко с Legacy-кодом. Зарплаты обычно выше средних на рынке.
### 19\.5 Продуктовые компании
Если аутсорсинг сосредоточен на разноплановости, ограниченных сроках и бюджете, то продуктовая компания — на эффективном управлении своими решениями. Во втором случае никто не будет требовать от вас проект на вчера и ведение сложных переписок с кучей недопониманий. К тому же, вы явно будете видеть свой вклад в продукт.
Как стать разработчиком продуктовой компании? Точно так же, как и аутсорсинговой, но будьте готовы, что требования могут быть выше, ведь компания ищет программиста непосредственно для себя, а не для левого дяди.
Где ещё можно работать программистом? Это фриланс, open source и собственные проекты.
## 20\. Как найти первую работу в IT
Всё чаще поднимается вопрос поиска и найма недооценённых специалистов — без диплома или соответствующего опыта работы. Исходя из этого, [что же всё-таки нужно знать начинающему программисту](https://tproger.ru/articles/junior-developer-should-know)?
Для начала вы должны показать, что нанять вас выгодно. В этом помогут теоретическая база, опыт в других сферах, знание английского и мотивация. Можно изобразить это так:
[]()
Источник — [dataart.team](https://dataart.team/ru/news/kak-naiti-pervuyu-rabotu-v-it-plan-deistvii-dlya-nachinayushikh/)
### 20\.1 Где брать проекты для портфолио
Если в поисках ответа на вопрос, где можно выучиться на программиста, вы выбрали курсы, практический опыт гарантирован: курсы для разработчиков не обходятся без написания проектов. То же касается и вузов, где присутствует обязательная практика.
Сложнее будет, если вы самоучка. Но и здесь можно что-то придумать:
- писать небольшие программы по туториалам;
- искать задания на фрилансе и выполнять их самостоятельно;
- принимать участие в разработке open source проектов.
### 20\.2 Как составить резюме, если нет опыта
1. Нормально назовите резюме. В названии должны быть желаемая должность и ФИО кандидата, как здесь: «Junior Java — Пупкин Иван Иванович».
2. Резюме может быть в формате Doc, PDF или сайта-визитки, если вы веб-разработчик.
3. Добавьте адекватное фото и контакты.
4. Укажите места, где учились и повышали квалификацию.
5. Не копирайте бездумно инфу из разделов, что нужно знать, чтобы стать крутым программистом: вы должны доказать эти знания на собеседовании.
6. Если нет опыта работы, указывайте, сколько времени практикуетесь в том или ином языке/технологии.
Последний пункт в резюме программиста может выглядеть примерно так:
- Java — 1 year;
- PHP — 0,5 years;
- JavaScript — 0,5 years.
### 20\.3 Где искать вакансии и работу
О фриланс-сервисах мы уже говорили, потому затронем платформы по поиску работы в офисе или в ремоут-режиме. Для России и стран СНГ лучшие сайты с вакансиями для программистов это:
### 20\.4 Как общаться с рекрутерами
Как вы понимаете, стать хорошим программистом в обход общения с HR невозможно. На собеседовании не стесняйтесь озвучивать свои желания и вопросы. Если на всё кивать головой, как автомобильная собачка, рекрутер решит, что вы соглашаетесь со всем подряд.
Несмотря на это, нужно вести себя в меру сдержанно, демонстрировать серьёзность и говорить о своей мотивации.
## 21\. Что спрашивают у Джунов на собеседовании
Огромный пласт вопросов приходится на теорию, чуть меньше занимает практика. Перед собеседованием изучите информацию о компании — обязательно спросят, почему именно она.
Будут и логические задачи. При этом ответ не обязательно должен быть верным — важно озвучивать ход мыслей, показывать, как именно вы пришли к тому или иному решению.
Из задач встречаются алгоритмы поиска и сортировки, расчёты, работа со строками и списками, оптимизация готовых решений. Держите несколько [задач с собеседований для программистов](https://tproger.ru/articles/zadachi-s-sobesedovanij-dlja-programmistov/) под рукой — пригодится для практики.
Другие вопросы, которые могут прозвучать на собеседовании:
- Принципы ООП и их понимание.
- Команды Git — как сделать пуш, коммит и т. д.
- Основные SQL-запросы.
Всё остальное будет касаться выбранного языка.
## 22\. Что делать, если вам не хватает знаний до вакансии Джуниор-программиста
Трудоустроиться после первого же интервью почти нереально. Не расстраивайтесь из-за отказов, а используйте их с пользой. Как же стать востребованным айтишником быстрее? Попросите предоставить фидбек — чаще всего HR и разработчики, проводящие интервью, указывают на слабые места кандидата. Изучите [типичные задачи с собеседований для программистов](https://tproger.ru/articles/zadachi-s-sobesedovanij-dlja-programmistov/) — это сократит путь до оффера.
Держите [учебные материалы и руководства для начинающих айтишников](https://tproger.ru/tag/for-beginners/).
## Часто задаваемые вопросы
### Сколько времени нужно, чтобы стать программистом?
При ежедневных занятиях по 2–3 часа базовый уровень для позиции джуниора можно освоить за 6–12 месяцев. Сроки зависят от выбранного направления, интенсивности занятий и предыдущего опыта.
### Можно ли стать разработчиком без высшего образования?
Да. Большинство компаний оценивают практические навыки и портфолио, а не диплом. Онлайн-курсы, буткемпы и самообучение по документации — полноценные альтернативы.
### Какой язык программирования выбрать новичку?
Зависит от цели. Python — универсальный выбор для Data Science, автоматизации и бэкенда. JavaScript — для веб-разработки и фронтенда. Kotlin и Swift — для мобильной разработки.
### Нужна ли математика для программирования?
Для большинства направлений (веб, мобильная разработка) достаточно базовой математики: логика, дискретная математика, основы алгоритмов. Продвинутая математика нужна для Data Science, Computer Vision и геймдева.
## 23\. Заключение
Надеемся, этот гайд ответил на вопрос, как стать программистом, дал полезные советы и материалы, а также мотивировал на покорение новых вершин.
Остались вопросы? Задайте их в комментариях.
Читайте также по теме карьеры разработчика: [Что должен знать бэкенд-разработчик в 2024 году](https://tproger.ru/articles/chto-dolzhen-znat-backend-razrabotchik), [Как стать AI-инженером](https://tproger.ru/articles/kak-stat-ai-inzhenerom-v-2024-godu---powagovyj-gajd), [11 IT-трендов 2025](https://tproger.ru/articles/11-it-trendov-2025), [37 книг для программиста](https://tproger.ru/articles/knigi-po-programmirovaniyu). |
| Shard | 122 (laksa) |
| Root Hash | 11777558040105001122 |
| Unparsed URL | ru,tproger!/articles/kak-stat-programmistom s443 |