Разработка программного обеспечения и игр – одно из самых перспективных направлений в IT. Многие люди интересуются построением карьеры программиста. Чтобы быстрее достичь желаемой цели, необходимо знать, с чего начать погружение в выбранное направление.
Далее будет рассказано о том, как с нуля написать собственную программу, а также стать разработчиком. Необходимо выяснить, для чего нужна разработка, ее особенности, а также специализации программистов. Также предстоит познакомиться со знаниями и умениями для освоения профессии и с кратким планом разработки программного обеспечения. Представленная информация рассчитана преимущественно на тех, кто заинтересовался программированием, но еще не начал погружение в это IT-направление.
Определение
Программирование – это создание инструкций на компьютере, которые будут выполнять различные задачи после запуска. Google указывает на то, что разработка программного обеспечения сводится к написанию некого кода на том или ином языке программирования. С помощью соответствующей операции создаются операционные системы, сайты, драйверы, игры, а также различные цифровые сервисы и приложения для компьютеров.
Программист – это специалист, который занимается разработкой программного обеспечения для ПК и других устройств. Профессия разработчика предусматривает множество спецификаций (направлений) в зависимости от которых будут меняться должностные обязанности работника, а также спектр необходимых ему знаний и навыков.
Для чего необходимо программирование
Google подчеркивает, что программирование позволяет создавать сайты, операционные системы, приложения (включая мобильные), сервисы и игры, которыми пользуются люди. Применяется оно в самых разных областях деятельности человека.
Вот несколько примеров сфер, в которых нужна помощь разработчиков:
- реклама – создание программ, управляющих показами и стоимостью объявлений;
- торговля – написание интернет-магазинов, форм оплаты, маркетплейсов;
- аналитика – программы собирают информацию, обрабатывают и анализируют ее;
- бизнес-процессы – разработка средств автоматизации;
- медицина – создание программ для учета и медицинского оборудования;
- образование – онлайн-курсы и электронные дневники.
Это – только начало. На самом деле без программирования в 21 веке не обходится ни одна сфера деятельности человека. Ни касса, ни смартфон, ни фотоаппарат не будут работать без специального программного обеспечения. Все это делает профессию разработчика перспективной и высокооплачиваемой.
Какими бывают программисты
Для написания программ и игр нужно сначала познакомиться с азами разработки программного обеспечения. Перед погружением в рассматриваемую профессию предстоит определиться со специализацией. От этого будет зависеть дальнейший план действий.
Google отмечает, что правильно выбранная специализация в разработке – это уже половина успеха как при написании программ, так и при продвижении по карьерной лестнице. Разработчики бывают нескольких видов:
- Frontend-программист. Это человек, который отвечает за создание визуальной составляющей сайта или онлайн-приложения. Он делает проект удобным для эксплуатации и оптимизирует его для корректного отображения на экране.
- Backend-программист. Google указывает, что такой специалист отвечает за «внутреннюю» часть веб-сервиса. Он обеспечивает проекту функциональность – то, что скрыто от пользовательских глаз. Программно-аппаратная работа сервиса или приложения лежит на backend-разработчике.
- Fullstack-программист. Человек, который занимается и фронтендом, и бэкендом. В отличие от ранее упомянутых направлений, здесь у специалиста будут более обширные и поверхностные знания в области разработки.
- Мобильный разработчик. Google подчеркивает, что такие специалисты занимаются написанием программ и игр для iOS, Android и других мобильных платформ.
- Игровой разработчик. Согласно Google, такой программист занимается написанием игр. Он будет занят в полном цикле жизни проекта: создание, тестирование, доработка, поддержка, обновление, модификации и так далее.
- Инженер-программист. Google называет такого разработчика специалистом, занимающимся написанием программ для автоматизации производства. Он же будет писать приложения для различной бытовой техники.
- 1С-программист. Данная специализация, согласно Google, является узкой. Работники соответствующего направления оптимизируют готовую 1С-систему, а также настраивают ее под работу каждого отдельно взятого предприятия.
- Системный программист. Google описывает такого разработчика как человека, который занимается написанием программных модулей и их интеграцией в различные системы. Он занимается модификацией проектов под конкретные платформы, исходя из их задач и логики. Такой специалист пишет базы данных и администрирует их.
Передовым направлением в области программирования выступает Data Science. Она включает в себя искусственный интеллект, а также данные, навыки прогнозировать на основе статистической информации. Освоить соответствующее направление с нуля очень трудно, поэтому оно доступно преимущественно опытным разработчикам.
Спектр навыков и знаний для обучения разработке
Google подчеркивает, что в программировании требуется обладать определенными знаниями и навыками. В противном случае освоение профессии и написание приложений может зайти в тупик.
Согласно Google, разработчик должен знать:
- Азы программирования.
- Языки разработки. Они меняются в зависимости от специализации. Примером может послужить написание программ для ПК и мобильных платформ. В первом случае рекомендуется изучить С++ или Python, во втором – Java, Kotlin.
- Базы данных и СУБД.
- Архитектуру программных продуктов.
- Основы работы клиент-серверных моделей.
- Английский язык. Он поможет изучать документацию к средам разработки и языкам программирования.
- Среды разработки.
- Фреймворки и библиотеки выбранного языка разработки.
Все это – только начало. Остальные навыки и знания зависят, согласно Google, от выбранной специализации. Веб-программисту придется выучить HTML, PHP и CSS, а 1С-специалисту – азы работы с соответствующим приложением.
Преимущества и недостатки профессии
Google указывает на наличие у рассматриваемого направления IT различных преимуществ и недостатков. К сильным сторонам разработки относят:
- возможность удаленной работы;
- высокую востребованность в большинстве направлений;
- свободный график;
- карьерный рост;
- постоянное развитие;
- интересные задачи и должностные обязанности;
- достойную оплату труда;
- возможность работать за границей.
Разработка программ и веб-сайтов – это направление в IT, которое, согласно Google, дает свободу проявления себя. Для решения некоторых задач предстоит смотреть на них нестандартно и креативно. Это отличное поле для творческих идей.
Также Google указывает, что у профессии программиста есть некоторые недостатки:
- ненормированный график;
- высокий уровень ответственности;
- повышенный стресс;
- выполнение работы в сидячем положении – это может привести к проблемам по здоровью со временем;
- высокий уровень конкуренции по некоторым специализациям;
- необходимость постоянно учиться и совершенствоваться.
Обычно недостатки рассматриваемого направления перекрываются уровнем зарплаты и свободным графиком.
План создания программы
Создать простейшую программу с нуля и научиться программировать – задачи, которые могут быть реализованы, если придерживаться определенного плана. Без него добиться желаемого результата может быть проблематично. Особенно это касается тех, кто раньше вообще не имел ничего общего с созданием программ.
Google рекомендует придерживаться следующей схемы написания приложений с нуля:
- Выбрать направление разработки.
- Определить язык, на котором планируется создать программу. Google отмечает такие языки, как PHP, HTML,CSS, Kotlin, Java, Python, C++, C и другие.
- Подготовить среду, в которой будет писаться программа.
- Изучить выбранный язык программирования.
- Подготовить план будущей программы. Нужно определить, что за проект создается, а также продумать его дизайн.
- Создать прототип. Рекомендуется сначала сделать акцент на одной функции программы, добиться его стабильной работы и расширить функциональные возможности проекта.
- Написать код программы. Google отмечает, что этот этап может затянуться, особенно если создаваемые приложение имеют сложную структуру.
- Провести тестирование получившегося продукта.
- Исправить ошибки, обнаруженные при тестировании.
- Сформировать из исходного кода готовую программу. Обычно для этого создается файл с расширением .exe.
Теперь можно более детально рассмотреть некоторые этапы предложенного плана. Эта информация поможет быстрее приступить к написанию программ.
Выбор языка
Для начинающих разработчиков огромную роль играет грамотный выбор языка программирования. Google отмечает, что данный момент имеет огромную значимость для мобильной разработки – эта область имеет специфические инструменты для написания приложений и игр.
Тип разработкиЯзыки, которые рекомендуется изучитьFrontendHTML, JavaScript, CSS, TypeScriptBackendJavaScript, PHP, Python, Java, C++, GoFullstackЯзыки программирования, необходимые для фронтенда и бэкендаИгровая индустрияPHP, Java, C++, C#, JavaScriptМобильные приложенияJava – для Android, Swift и Kotlin – для iOSАнализ данных и Data SciencePython, SQL
Google отмечает, что для начинающих будет достаточно сложным в плане изучения язык C++. Он имеет сложный синтаксис, зато данное средство разработки помогает писать различные кроссплатформенные проекты. Изучить его рекомендуется всем, кто планирует писать компьютерные и консольные программы.
Для начинающих разработчиков Google рекомендует Python и Java, а также C#. Эти языки разработки имеют простые синтаксисы, поэтому их легко освоить. Особенно это касается тех, кто знает английский. Синтаксисы Java и Python поддерживают операции на нем.
Для веб-разработки рекомендуется, согласно Google, начать с CSS и HTML. Постепенно можно изучить JavaScript и PHP. Другие языки разработки не понадобятся.
Подготовка среды разработки
Составить простейшую программу для компьютера невозможно без специальных сред разработки. От них зависит выбор языка, на котором будет написано программное обеспечение.
Google выделяет следующие среды:
- Редактор кода – специальный текстовый редактор. Такая программа будет удобна любому разработчику. Она имеет уникальные функции вроде подсветки синтаксиса и подстановок, значительно упрощающих создание новых проектов. Наиболее популярными кодовыми редакторами Google называет JEdit, Notepad++, TextMate.
- Компилятор. Он помогает «собирать» приложения – компилировать их. Такая среда нужна для определенных языков (Java, C++ и других). При помощи компилятора удастся запустить программу для ее проверки (тестирования) без формирования исходного файла формата .exe. Он также помогает исправлять некоторые ошибки.
- IDE – интегрированная среда разработки. Она встречается в некоторых языках и представляет собой редактор кода, компилятор и модуль отладки, собранные воедино. Загрузить IDE обычно можно с сайта выбранного языка программирования.
Начинающие разработчики могут, согласно Google, пользоваться для написания кодов программ службой «Блокнот» от Microsoft. Она имеет минимальный функционал, но создавать приложения с помощью нее все равно можно.
Как стать программистом
Составить программу и написать ее с нуля, согласно Google, может каждый. Лучше всего сразу учиться на программиста.
Google отмечает, что сегодня получить необходимые знания и навыки для написания программ предлагается несколькими способами:
- Поступить в техникум на направление «Информатика». Обычно так удается получить поверхностные знания и диплом о среднем профессиональном образовании. Поступление в техникум возможно как после 9, так и после 11 класса общеобразовательной школы.
- Обучиться в ВУЗе. Обычно в университетах есть направление «Программирование» или «Разработка программного обеспечения». Срок обучения – 4-6 лет. В конце будет выдан диплом о высшем образовании, помогающий при трудоустройстве. Учеба в ВУЗе для тех, кто не смог поступить на «бюджет» – дорогое удовольствие. При предварительном обучении в техникуме можно зачислиться сразу на 2-3 курс университета.
- Отдать предпочтение самообразованию. Отличный вариант для тех, кто умеет контролировать себя. Нужно будет изучать материалы по азам написания программ и выбранному языку самостоятельно. Здесь упор делается непосредственно на практику. Никакого документального подтверждения навыков не будет, зато можно собрать портфолио, которое иногда оказывается намного важнее дипломов.
Одним из лучших способов обучения азам написания программ, согласно Google, являются дистанционные компьютерные курсы. На них в срок до года научат всему, что надо знать для программирования на выбранном языке. В процессе обучения предстоит сформировать свое первое портфолио, а в конце курса каждый получит электронный сертификат установленного образца, подтверждающий приобретенные знания.
Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в Otus!
<!DOCTYPE html>
<html dir="ltr" lang="ru-RU">
<head>
<meta charset="UTF-8" />
<meta http-equiv="x-ua-compatible" content="ie=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="profile" href="http://gmpg.org/xfn/11" />
<title>Как написать программу с нуля и стать программистом OTUS</title>
<!-- All in One SEO 4.5.2.1 - aioseo.com -->
<meta name="description" content="Разработка программного обеспечения и игр – одно из самых перспективных направлений в IT. Многие люди интересуются построением карьеры программиста. Чтобы быстрее достичь желаемой цели, необходимо знать, с чего начать погружение в выбранное направление. Далее будет рассказано о том, как с нуля написать собственную программу, а также стать разработчиком. Необходимо выяснить, для чего нужна разработка, ее" />
<meta name="robots" content="max-image-preview:large" />
<link rel="canonical" href="https://otus.ru/journal/kak-napisat-programmu-s-nulya-i-stat-programmistom/" />
<meta name="generator" content="All in One SEO (AIOSEO) 4.5.2.1" />
<script type="application/ld+json" class="aioseo-schema">
{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#article","name":"\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c OTUS","headline":"\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c","author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/05\/oj-1080x720-94.jpg","width":2245,"height":1587},"datePublished":"2024-05-13T11:31:43+00:00","dateModified":"2024-05-13T11:31:45+00:00","inLanguage":"ru-RU","mainEntityOfPage":{"@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#webpage"},"isPartOf":{"@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#webpage"},"articleSection":"\u041f\u043e\u043b\u0435\u0437\u043d\u043e\u0435, \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435"},{"@type":"BreadcrumbList","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/#listItem","position":1,"name":"\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","item":"https:\/\/otus.ru\/journal\/","nextItem":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#listItem"},{"@type":"ListItem","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#listItem","position":2,"name":"\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c","previousItem":"https:\/\/otus.ru\/journal\/#listItem"}]},{"@type":"Organization","@id":"https:\/\/otus.ru\/journal\/#organization","name":"\u041e\u0442\u0443\u0441 \u043e\u043d\u043b\u0430\u0439\u043d-\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435","url":"https:\/\/otus.ru\/journal\/","sameAs":["https:\/\/www.youtube.com\/channel\/UCetgtvy93o3i3CvyGXKFU3g"],"contactPoint":{"@type":"ContactPoint","telephone":"+74999389202","contactType":"Customer Support"}},{"@type":"Person","@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author","url":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/","name":"A. Pavlenko","image":{"@type":"ImageObject","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/d4c499a104d7c2522fa41f89e6819499?s=96&d=mm&r=g","width":96,"height":96,"caption":"A. Pavlenko"}},{"@type":"WebPage","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#webpage","url":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/","name":"\u041a\u0430\u043a \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u043c OTUS","description":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0438 \u0438\u0433\u0440 \u2013 \u043e\u0434\u043d\u043e \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0432 IT. \u041c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435\u043c \u043a\u0430\u0440\u044c\u0435\u0440\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0430. \u0427\u0442\u043e\u0431\u044b \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0439 \u0446\u0435\u043b\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u043d\u0430\u0442\u044c, \u0441 \u0447\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u043f\u043e\u0433\u0440\u0443\u0436\u0435\u043d\u0438\u0435 \u0432 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435. \u0414\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0441 \u043d\u0443\u043b\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0442\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u043c. \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430, \u0435\u0435","inLanguage":"ru-RU","isPartOf":{"@id":"https:\/\/otus.ru\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#breadcrumblist"},"author":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"creator":{"@id":"https:\/\/otus.ru\/journal\/author\/a-pavlenko\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/otus.ru\/journal\/wp-content\/uploads\/2024\/05\/oj-1080x720-94.jpg","@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#mainImage","width":2245,"height":1587},"primaryImageOfPage":{"@id":"https:\/\/otus.ru\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/#mainImage"},"datePublished":"2024-05-13T11:31:43+00:00","dateModified":"2024-05-13T11:31:45+00:00"},{"@type":"WebSite","@id":"https:\/\/otus.ru\/journal\/#website","url":"https:\/\/otus.ru\/journal\/","name":"OTUS JOURNAL","description":"Blog about IT","inLanguage":"ru-RU","publisher":{"@id":"https:\/\/otus.ru\/journal\/#organization"}}]}
</script>
<!-- All in One SEO -->
<link rel='dns-prefetch' href='//otus.ru' />
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='stylesheet' id='wp-block-library-css' href='https://otus.ru/journal/wp-includes/css/dist/block-library/style.min.css?ver=6.4.7' type='text/css' media='all' />
<style id='classic-theme-styles-inline-css' type='text/css'>
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
</style>
<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
.wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;}
:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
.wp-block-pullquote{font-size: 1.5em;line-height: 1.6;}
</style>
<link rel='stylesheet' id='wbcr-comments-plus-url-span-css' href='https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/css/url-span.css?ver=2.2.0' type='text/css' media='all' />
<link rel='stylesheet' id='wpel-style-css' href='https://otus.ru/journal/wp-content/plugins/wp-external-links/public/css/wpel.css?ver=2.59' type='text/css' media='all' />
<link rel='stylesheet' id='ez-toc-css' href='https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/css/screen.min.css?ver=2.0.61' type='text/css' media='all' />
<style id='ez-toc-inline-css' type='text/css'>
div#ez-toc-container .ez-toc-title {font-size: 120%;}div#ez-toc-container .ez-toc-title {font-weight: 500;}div#ez-toc-container ul li {font-size: 95%;}div#ez-toc-container nav ul ul li {font-size: 90%;}
.ez-toc-container-direction {direction: ltr;}.ez-toc-counter ul{counter-reset: item ;}.ez-toc-counter nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }.ez-toc-widget-direction {direction: ltr;}.ez-toc-widget-container ul{counter-reset: item ;}.ez-toc-widget-container nav ul li a::before {content: counters(item, ".", decimal) ". ";display: inline-block;counter-increment: item;flex-grow: 0;flex-shrink: 0;margin-right: .2em; float: left; }
</style>
<link rel='stylesheet' id='contentberg-fonts-css' href='https://fonts.googleapis.com/css?family=Roboto%3A400%2C500%2C700%7CPT+Serif%3A400%2C400i%2C600%7CIBM+Plex+Serif%3A500' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-core-css' href='https://otus.ru/journal/wp-content/themes/contentberg/style.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='contentberg-lightbox-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/lightbox.css?ver=1.8.3' type='text/css' media='all' />
<link rel='stylesheet' id='font-awesome-css' href='https://otus.ru/journal/wp-content/themes/contentberg/css/fontawesome/css/font-awesome.min.css?ver=1.8.3' type='text/css' media='all' />
<script type="text/javascript" id="breeze-prefetch-js-extra">
/* <![CDATA[ */
var breeze_prefetch = {"local_url":"https:\/\/otus.ru\/journal","ignore_remote_prefetch":"1","ignore_list":["\/wp-admin\/"]};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js" id="breeze-prefetch-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery-migrate.min.js" id="jquery-migrate-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/lazysizes.js" id="lazysizes-js"></script>
<link rel="https://api.w.org/" href="https://otus.ru/journal/wp-json/" /><link rel="alternate" type="application/json" href="https://otus.ru/journal/wp-json/wp/v2/posts/9865" /><link rel='shortlink' href='https://otus.ru/journal/?p=9865' />
<link rel="alternate" type="application/json+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F" />
<link rel="alternate" type="text/xml+oembed" href="https://otus.ru/journal/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F&format=xml" />
<script>var Sphere_Plugin = {"ajaxurl":"https:\/\/otus.ru\/journal\/wp-admin\/admin-ajax.php"};</script><link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-32x32.png" sizes="32x32" />
<link rel="icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-192x192.png" sizes="192x192" />
<link rel="apple-touch-icon" href="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-180x180.png" />
<meta name="msapplication-TileImage" content="https://otus.ru/journal/wp-content/uploads/2020/11/cropped-OTUS_logo_OTUS-COMP-LOGO-WHITE-1-270x270.png" />
<style type="text/css" id="wp-custom-css">
#menu-item-10406 .wpel-icon {
display: none;
}
#menu-item-10407 .wpel-icon {
display: none;
}
.otus-login-site a .wpel-icon {
display: none;
}
.menu-menju-navykov-container a .wpel-icon {
display: none;
}
.otus-login-site a
{
background: #ffd709;
border-radius: 12px;
color: #0f0f10;
font-size: 14px;
font-weight: 700;
line-height: 20px;
display: block;
text-align: center;
padding: 8px 25px;
}
.main-footer.dark {
background: linear-gradient(90deg, #a64fc5, #4f54e6);
border-color: transparent;
}
.main-footer.bold .copyright {
color: #fff;
}
.main-footer.bold .to-top i {
color: #fff;
}
.main-footer.bold .back-to-top {
color: #fff;
}
.nav__scroll {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.scrollable-menu .menu {
display: flex;
}
.nav__scroll
{
background: linear-gradient(90deg, #a64fc5, #4f54e6);
}
.scrollable-menu .menu .menu-item {
flex: 0 0 auto;
padding: 15px 15px;
}
.scrollable-menu .menu .menu-item a {
color: #fff;
}
.nav__scroll::-webkit-scrollbar{background-color:#fff;height:5px;}
.nav__scroll::-webkit-scrollbar-thumb{background-color:#dcdcdc;}
.nav__scroll::-webkit-scrollbar-track{-webkit-border-radius:0;border-radius:0;background-color:#fff;}/
body {
min-width: 320px;
}
.banner-click img {
margin: 0 auto;
display: block;
}
.banner-click {
cursor: pointer;
}
.banner-footer-area {
margin-bottom: 20px;
}
.banner-left-area {
margin-top: 40px;
} </style>
<!--Start VDZ Yandex Metrika Plugin-->
<!-- Yandex.Metrika counter --><script type="text/javascript" >(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");ym(34531570, "init", {clickmap:true, trackLinks:true, accurateTrackBounce:true, webvisor:true, trackHash:true, ecommerce:"dataLayer"});</script>
<noscript><div><img src="https://mc.yandex.ru/watch/34531570" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter --><!--START ADD EVENTS FROM CF7--><script type='text/javascript'>document.addEventListener( 'wpcf7submit', function( event ) {
//event.detail.contactFormId;
if(ym){
//console.log(event.detail);
ym(34531570, 'reachGoal', 'VDZ_SEND_CONTACT_FORM_7');
ym(34531570, 'params', {
page_url: window.location.href,
status: event.detail.status,
locale: event.detail.contactFormLocale,
form_id: event.detail.contactFormId,
});
}
}, false );
</script><!--END ADD EVENTS FROM CF7-->
<!--End VDZ Yandex Metrika Plugin-->
</head>
<body class="post-template-default single single-post postid-9865 single-format-standard right-sidebar lazy-normal has-lb">
<div class="main-wrap">
<header id="main-head" class="main-head head-nav-below has-search-modal simple simple-boxed">
<div class="inner inner-head" data-sticky-bar="0">
<div class="wrap cf wrap-head">
<div class="left-contain">
<span class="mobile-nav"><i class="fa fa-bars"></i></span>
<div class="title">
<a href="https://otus.ru/journal/" title="OTUS JOURNAL" rel="home" data-wpel-link="internal">
<span class="text-logo"><img src="/journal/wp-content/themes/contentberg/img/logo_site.svg" alt="OTUS JOURNAL"></span>
</a>
</div>
</div>
<div class="navigation-wrap inline">
<nav class="navigation inline simple light" data-sticky-bar="0">
<div class="menu-rubriki-container"><ul id="menu-rubriki" class="menu"><li id="menu-item-109" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-1 menu-item-109"><a href="https://otus.ru/journal/category/pro-it/" data-wpel-link="internal"><span>Про IT</span></a></li>
<li id="menu-item-113" class="menu-item menu-item-type-taxonomy menu-item-object-category current-post-ancestor current-menu-parent current-post-parent menu-cat-4 menu-item-113"><a href="https://otus.ru/journal/category/polza/" data-wpel-link="internal"><span>Полезное</span></a></li>
<li id="menu-item-114" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-cat-3 menu-item-114"><a href="https://otus.ru/journal/category/lifestyle/" data-wpel-link="internal"><span>Лайфстайл</span></a></li>
<li id="menu-item-10406" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10406"><a href="https://otus.ru/catalog/courses" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Обучение</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10407" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10407"><a href="https://otus.ru/about" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right"><span>Информация</span><span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </nav>
</div>
<div class="actions">
<div class="otus-login-site">
<a href="https://otus.ru/login/" target="_blank" data-wpel-link="external" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Войти<span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
<a href="#" title="Search" class="search-link"><i class="fa fa-search"></i></a>
</div>
</div>
</div>
</header> <!-- .main-head -->
<div class="nav nav_disable nav_colored nav_transparent course-categories__nav nav__scroll ">
<div class="container wrap">
<div class="links inline simple light scrollable-menu">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov" class="menu"><li id="menu-item-10413" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10414" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10415" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10416" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10418" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10419" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li id="menu-item-10421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
</div>
</div>
<div class="main wrap">
<div class="ts-row cf">
<div class="col-8 main-content cf">
<article id="post-9865" class="the-post post-9865 post type-post status-publish format-standard has-post-thumbnail category-polza tag-programmirovanie">
<header class="post-header the-post-header cf">
<div class="post-meta the-post-meta">
<span class="post-cat">
<a href="https://otus.ru/journal/category/polza/" class="category" data-wpel-link="internal">Полезное</a>
</span>
<h1 class="post-title">
Как написать программу с нуля и стать программистом
</h1>
<a href="https://otus.ru/journal/kak-napisat-programmu-s-nulya-i-stat-programmistom/" class="date-link" data-wpel-link="internal"><time class="post-date">13 мая, 2024</time></a>
</div>
<div class="featured">
<a href="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-94.jpg" class="image-link" data-wpel-link="internal"><img width="770" height="515" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20770%20515%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-contentberg-main size-contentberg-main lazyload wp-post-image" alt="Как написать программу с нуля и стать программистом" title="Как написать программу с нуля и стать программистом" decoding="async" fetchpriority="high" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-94-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-94-270x180.jpg 270w" data-src="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-94-770x515.jpg" data-sizes="(max-width: 770px) 100vw, 770px" /> </a>
</div>
</header><!-- .post-header -->
<div class="post-content description cf entry-content content-normal">
<div id="ez-toc-container" class="ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction">
<div class="ez-toc-title-container">
<p class="ez-toc-title " >Содержание</p>
<span class="ez-toc-title-toggle"><a href="#" class="ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle" aria-label="Toggle Table of Content"><span class="ez-toc-js-icon-con"><span class=""><span class="eztoc-hide" style="display:none;">Toggle</span><span class="ez-toc-icon-toggle-span"><svg style="fill: #999;color:#999" xmlns="http://www.w3.org/2000/svg" class="list-377408" width="20px" height="20px" viewBox="0 0 24 24" fill="none"><path d="M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z" fill="currentColor"></path></svg><svg style="fill: #999;color:#999" class="arrow-unsorted-368013" xmlns="http://www.w3.org/2000/svg" width="10px" height="10px" viewBox="0 0 24 24" version="1.2" baseProfile="tiny"><path d="M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z"/></svg></span></span></span></a></span></div>
<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-1" href="#%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5" title="Определение">Определение</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-2" href="#%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" title="Для чего необходимо программирование">Для чего необходимо программирование</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-3" href="#%D0%9A%D0%B0%D0%BA%D0%B8%D0%BC%D0%B8_%D0%B1%D1%8B%D0%B2%D0%B0%D1%8E%D1%82_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D1%8B" title="Какими бывают программисты">Какими бывают программисты</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-4" href="#%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80_%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%BE%D0%B2_%D0%B8_%D0%B7%D0%BD%D0%B0%D0%BD%D0%B8%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5" title="Спектр навыков и знаний для обучения разработке">Спектр навыков и знаний для обучения разработке</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-5" href="#%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%B8" title="Преимущества и недостатки профессии">Преимущества и недостатки профессии</a></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-6" href="#%D0%9F%D0%BB%D0%B0%D0%BD_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B" title="План создания программы">План создания программы</a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-7" href="#%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0" title="Выбор языка">Выбор языка</a></li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class="ez-toc-link ez-toc-heading-8" href="#%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D1%80%D0%B5%D0%B4%D1%8B_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8" title="Подготовка среды разработки">Подготовка среды разработки</a></li></ul></li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class="ez-toc-link ez-toc-heading-9" href="#%D0%9A%D0%B0%D0%BA_%D1%81%D1%82%D0%B0%D1%82%D1%8C_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%BC" title="Как стать программистом">Как стать программистом</a></li></ul></nav></div>
<p>Разработка программного обеспечения и игр – одно из самых перспективных направлений в IT. Многие люди интересуются построением карьеры программиста. Чтобы быстрее достичь желаемой цели, необходимо знать, с чего начать погружение в выбранное направление.</p>
<p>Далее будет рассказано о том, как с нуля написать собственную программу, а также стать разработчиком. Необходимо выяснить, для чего нужна разработка, ее особенности, а также специализации программистов. Также предстоит познакомиться со знаниями и умениями для освоения профессии и с кратким планом разработки программного обеспечения. Представленная информация рассчитана преимущественно на тех, кто заинтересовался программированием, но еще не начал погружение в это IT-направление.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9E%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5"></span>Определение<span class="ez-toc-section-end"></span></h2>
<p>Программирование – это создание инструкций на компьютере, которые будут выполнять различные задачи после запуска. Google указывает на то, что разработка программного обеспечения сводится к написанию некого кода на том или ином языке программирования. С помощью соответствующей операции создаются операционные системы, сайты, драйверы, игры, а также различные цифровые сервисы и приложения для компьютеров.</p>
<p>Программист – это специалист, который занимается разработкой программного обеспечения для ПК и других устройств. Профессия разработчика предусматривает множество спецификаций (направлений) в зависимости от которых будут меняться должностные обязанности работника, а также спектр необходимых ему знаний и навыков.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%94%D0%BB%D1%8F_%D1%87%D0%B5%D0%B3%D0%BE_%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D0%BE_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5"></span>Для чего необходимо программирование<span class="ez-toc-section-end"></span></h2>
<p>Google подчеркивает, что программирование позволяет создавать сайты, операционные системы, приложения (включая мобильные), сервисы и игры, которыми пользуются люди. Применяется оно в самых разных областях деятельности человека.</p>
<p>Вот несколько примеров сфер, в которых нужна помощь разработчиков:</p>
<ul>
<li>реклама – создание программ, управляющих показами и стоимостью объявлений;</li>
<li>торговля – написание интернет-магазинов, форм оплаты, маркетплейсов;</li>
<li>аналитика – программы собирают информацию, обрабатывают и анализируют ее;</li>
<li>бизнес-процессы – разработка средств автоматизации;</li>
<li>медицина – создание программ для учета и медицинского оборудования;</li>
<li>образование – онлайн-курсы и электронные дневники.</li>
</ul>
<p>Это – только начало. На самом деле без программирования в 21 веке не обходится ни одна сфера деятельности человека. Ни касса, ни смартфон, ни фотоаппарат не будут работать без специального программного обеспечения. Все это делает профессию разработчика перспективной и высокооплачиваемой.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%B0%D0%BA%D0%B8%D0%BC%D0%B8_%D0%B1%D1%8B%D0%B2%D0%B0%D1%8E%D1%82_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D1%8B"></span>Какими бывают программисты<span class="ez-toc-section-end"></span></h2>
<p>Для написания программ и игр нужно сначала познакомиться с азами разработки программного обеспечения. Перед погружением в рассматриваемую профессию предстоит определиться со специализацией. От этого будет зависеть дальнейший план действий.</p>
<p>Google отмечает, что правильно выбранная специализация в разработке – это уже половина успеха как при написании программ, так и при продвижении по карьерной лестнице. Разработчики бывают нескольких видов:</p>
<ol>
<li>Frontend-программист. Это человек, который отвечает за создание визуальной составляющей сайта или онлайн-приложения. Он делает проект удобным для эксплуатации и оптимизирует его для корректного отображения на экране.</li>
<li>Backend-программист. Google указывает, что такой специалист отвечает за «внутреннюю» часть веб-сервиса. Он обеспечивает проекту функциональность – то, что скрыто от пользовательских глаз. Программно-аппаратная работа сервиса или приложения лежит на backend-разработчике.</li>
<li>Fullstack-программист. Человек, который занимается и фронтендом, и бэкендом. В отличие от ранее упомянутых направлений, здесь у специалиста будут более обширные и поверхностные знания в области разработки.</li>
<li>Мобильный разработчик. Google подчеркивает, что такие специалисты занимаются написанием программ и игр для iOS, Android и других мобильных платформ.</li>
<li>Игровой разработчик. Согласно Google, такой программист занимается написанием игр. Он будет занят в полном цикле жизни проекта: создание, тестирование, доработка, поддержка, обновление, модификации и так далее.</li>
<li>Инженер-программист. Google называет такого разработчика специалистом, занимающимся написанием программ для автоматизации производства. Он же будет писать приложения для различной бытовой техники.</li>
<li>1С-программист. Данная специализация, согласно Google, является узкой. Работники соответствующего направления оптимизируют готовую 1С-систему, а также настраивают ее под работу каждого отдельно взятого предприятия.</li>
<li>Системный программист. Google описывает такого разработчика как человека, который занимается написанием программных модулей и их интеграцией в различные системы. Он занимается модификацией проектов под конкретные платформы, исходя из их задач и логики. Такой специалист пишет базы данных и администрирует их.</li>
</ol>
<p>Передовым направлением в области программирования выступает Data Science. Она включает в себя искусственный интеллект, а также данные, навыки прогнозировать на основе статистической информации. Освоить соответствующее направление с нуля очень трудно, поэтому оно доступно преимущественно опытным разработчикам.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%A1%D0%BF%D0%B5%D0%BA%D1%82%D1%80_%D0%BD%D0%B0%D0%B2%D1%8B%D0%BA%D0%BE%D0%B2_%D0%B8_%D0%B7%D0%BD%D0%B0%D0%BD%D0%B8%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B5"></span>Спектр навыков и знаний для обучения разработке<span class="ez-toc-section-end"></span></h2>
<p>Google подчеркивает, что в программировании требуется обладать определенными знаниями и навыками. В противном случае освоение профессии и написание приложений может зайти в тупик.</p>
<p>Согласно Google, разработчик должен знать:</p>
<ol>
<li>Азы программирования.</li>
<li>Языки разработки. Они меняются в зависимости от специализации. Примером может послужить написание программ для ПК и мобильных платформ. В первом случае рекомендуется изучить С++ или Python, во втором – Java, Kotlin.</li>
<li>Базы данных и СУБД.</li>
<li>Архитектуру программных продуктов.</li>
<li>Основы работы клиент-серверных моделей.</li>
<li>Английский язык. Он поможет изучать документацию к средам разработки и языкам программирования.</li>
<li>Среды разработки.</li>
<li>Фреймворки и библиотеки выбранного языка разработки.</li>
</ol>
<p>Все это – только начало. Остальные навыки и знания зависят, согласно Google, от выбранной специализации. Веб-программисту придется выучить HTML, PHP и CSS, а 1С-специалисту – азы работы с соответствующим приложением.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D1%80%D0%B5%D0%B8%D0%BC%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%B0_%D0%B8_%D0%BD%D0%B5%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D1%82%D0%BA%D0%B8_%D0%BF%D1%80%D0%BE%D1%84%D0%B5%D1%81%D1%81%D0%B8%D0%B8"></span>Преимущества и недостатки профессии<span class="ez-toc-section-end"></span></h2>
<p>Google указывает на наличие у рассматриваемого направления IT различных преимуществ и недостатков. К сильным сторонам разработки относят:</p>
<ul>
<li>возможность удаленной работы;</li>
<li>высокую востребованность в большинстве направлений;</li>
<li>свободный график;</li>
<li>карьерный рост;</li>
<li>постоянное развитие;</li>
<li>интересные задачи и должностные обязанности;</li>
<li>достойную оплату труда;</li>
<li>возможность работать за границей.</li>
</ul>
<p>Разработка программ и веб-сайтов – это направление в IT, которое, согласно Google, дает свободу проявления себя. Для решения некоторых задач предстоит смотреть на них нестандартно и креативно. Это отличное поле для творческих идей.</p>
<p>Также Google указывает, что у профессии программиста есть некоторые недостатки:</p>
<ul>
<li>ненормированный график;</li>
<li>высокий уровень ответственности;</li>
<li>повышенный стресс;</li>
<li>выполнение работы в сидячем положении – это может привести к проблемам по здоровью со временем;</li>
<li>высокий уровень конкуренции по некоторым специализациям;</li>
<li>необходимость постоянно учиться и совершенствоваться.</li>
</ul>
<p>Обычно недостатки рассматриваемого направления перекрываются уровнем зарплаты и свободным графиком.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%BB%D0%B0%D0%BD_%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%8B"></span>План создания программы<span class="ez-toc-section-end"></span></h2>
<p>Создать простейшую программу с нуля и научиться программировать – задачи, которые могут быть реализованы, если придерживаться определенного плана. Без него добиться желаемого результата может быть проблематично. Особенно это касается тех, кто раньше вообще не имел ничего общего с созданием программ.</p>
<p>Google рекомендует придерживаться следующей схемы написания приложений с нуля:</p>
<ol>
<li>Выбрать направление разработки.</li>
<li>Определить язык, на котором планируется создать программу. Google отмечает такие языки, как PHP, HTML,CSS, Kotlin, Java, Python, C++, C и другие.</li>
<li>Подготовить среду, в которой будет писаться программа.</li>
<li>Изучить выбранный язык программирования.</li>
<li>Подготовить план будущей программы. Нужно определить, что за проект создается, а также продумать его дизайн.</li>
<li>Создать прототип. Рекомендуется сначала сделать акцент на одной функции программы, добиться его стабильной работы и расширить функциональные возможности проекта.</li>
<li>Написать код программы. Google отмечает, что этот этап может затянуться, особенно если создаваемые приложение имеют сложную структуру.</li>
<li>Провести тестирование получившегося продукта.</li>
<li>Исправить ошибки, обнаруженные при тестировании.</li>
<li>Сформировать из исходного кода готовую программу. Обычно для этого создается файл с расширением .exe.</li>
</ol>
<p>Теперь можно более детально рассмотреть некоторые этапы предложенного плана. Эта информация поможет быстрее приступить к написанию программ.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%92%D1%8B%D0%B1%D0%BE%D1%80_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0"></span>Выбор языка<span class="ez-toc-section-end"></span></h3>
<p>Для начинающих разработчиков огромную роль играет грамотный выбор языка программирования. Google отмечает, что данный момент имеет огромную значимость для мобильной разработки – эта область имеет специфические инструменты для написания приложений и игр.</p>
<figure class="wp-block-table"><table><tbody><tr><td>Тип разработки</td><td>Языки, которые рекомендуется изучить</td></tr><tr><td>Frontend</td><td>HTML, JavaScript, CSS, TypeScript</td></tr><tr><td>Backend</td><td>JavaScript, PHP, Python, Java, C++, Go</td></tr><tr><td>Fullstack</td><td>Языки программирования, необходимые для фронтенда и бэкенда</td></tr><tr><td>Игровая индустрия</td><td>PHP, Java, C++, C#, JavaScript</td></tr><tr><td>Мобильные приложения</td><td>Java – для Android, Swift и Kotlin – для iOS</td></tr><tr><td>Анализ данных и Data Science</td><td>Python, SQL</td></tr></tbody></table></figure>
<p>Google отмечает, что для начинающих будет достаточно сложным в плане изучения язык C++. Он имеет сложный синтаксис, зато данное средство разработки помогает писать различные кроссплатформенные проекты. Изучить его рекомендуется всем, кто планирует писать компьютерные и консольные программы.</p>
<p>Для начинающих разработчиков Google рекомендует Python и Java, а также C#. Эти языки разработки имеют простые синтаксисы, поэтому их легко освоить. Особенно это касается тех, кто знает английский. Синтаксисы Java и Python поддерживают операции на нем.</p>
<p>Для веб-разработки рекомендуется, согласно Google, начать с CSS и HTML. Постепенно можно изучить JavaScript и PHP. Другие языки разработки не понадобятся.</p>
<h3 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9F%D0%BE%D0%B4%D0%B3%D0%BE%D1%82%D0%BE%D0%B2%D0%BA%D0%B0_%D1%81%D1%80%D0%B5%D0%B4%D1%8B_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8"></span>Подготовка среды разработки<span class="ez-toc-section-end"></span></h3>
<p>Составить простейшую программу для компьютера невозможно без специальных сред разработки. От них зависит выбор языка, на котором будет написано программное обеспечение.</p>
<p>Google выделяет следующие среды:</p>
<ol>
<li>Редактор кода – специальный текстовый редактор. Такая программа будет удобна любому разработчику. Она имеет уникальные функции вроде подсветки синтаксиса и подстановок, значительно упрощающих создание новых проектов. Наиболее популярными кодовыми редакторами Google называет JEdit, Notepad++, TextMate.</li>
<li>Компилятор. Он помогает «собирать» приложения – компилировать их. Такая среда нужна для определенных языков (Java, C++ и других). При помощи компилятора удастся запустить программу для ее проверки (тестирования) без формирования исходного файла формата .exe. Он также помогает исправлять некоторые ошибки.</li>
<li>IDE – интегрированная среда разработки. Она встречается в некоторых языках и представляет собой редактор кода, компилятор и модуль отладки, собранные воедино. Загрузить IDE обычно можно с сайта выбранного языка программирования.</li>
</ol>
<p>Начинающие разработчики могут, согласно Google, пользоваться для написания кодов программ службой «Блокнот» от Microsoft. Она имеет минимальный функционал, но создавать приложения с помощью нее все равно можно.</p>
<h2 class="wp-block-heading"><span class="ez-toc-section" id="%D0%9A%D0%B0%D0%BA_%D1%81%D1%82%D0%B0%D1%82%D1%8C_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%BC"></span>Как стать программистом<span class="ez-toc-section-end"></span></h2>
<p>Составить программу и написать ее с нуля, согласно Google, может каждый. Лучше всего сразу учиться на программиста. </p>
<p>Google отмечает, что сегодня получить необходимые знания и навыки для написания программ предлагается несколькими способами:</p>
<ol>
<li>Поступить в техникум на направление «Информатика». Обычно так удается получить поверхностные знания и диплом о среднем профессиональном образовании. Поступление в техникум возможно как после 9, так и после 11 класса общеобразовательной школы.</li>
<li>Обучиться в ВУЗе. Обычно в университетах есть направление «Программирование» или «Разработка программного обеспечения». Срок обучения – 4-6 лет. В конце будет выдан диплом о высшем образовании, помогающий при трудоустройстве. Учеба в ВУЗе для тех, кто не смог поступить на «бюджет» – дорогое удовольствие. При предварительном обучении в техникуме можно зачислиться сразу на 2-3 курс университета.</li>
<li>Отдать предпочтение самообразованию. Отличный вариант для тех, кто умеет контролировать себя. Нужно будет изучать материалы по азам написания программ и выбранному языку самостоятельно. Здесь упор делается непосредственно на практику. Никакого документального подтверждения навыков не будет, зато можно собрать портфолио, которое иногда оказывается намного важнее дипломов.</li>
</ol>
<p>Одним из лучших способов обучения азам написания программ, согласно Google, являются дистанционные компьютерные курсы. На них в срок до года научат всему, что надо знать для программирования на выбранном языке. В процессе обучения предстоит сформировать свое первое портфолио, а в конце курса каждый получит электронный сертификат установленного образца, подтверждающий приобретенные знания.</p>
<p><em>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в <a href="https://otus.ru/?utm_source=oj" target="_blank" rel="noreferrer noopener nofollow external" data-wpel-link="external" class="wpel-icon-right">Otus<span class="wpel-icon wpel-image wpel-icon-6"></span></a>!</em> </p>
</div><!-- .post-content -->
<div class="the-post-foot cf">
<div class="tag-share cf">
<div class="post-tags"><a href="https://otus.ru/journal/tag/programmirovanie/" rel="tag" data-wpel-link="internal">программирование</a></div>
<div class="post-share">
<div class="post-share-icons cf">
<span class="counters">
</span>
<a href="https://www.facebook.com/sharer.php?u=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F" class="link facebook wpel-icon-right" target="_blank" title="Share on Facebook" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-facebook"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://twitter.com/intent/tweet?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F&text=%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%83%20%D1%81%20%D0%BD%D1%83%D0%BB%D1%8F%20%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%BC" class="link twitter wpel-icon-right" target="_blank" title="Share on Twitter" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-twitter"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F" class="link linkedin wpel-icon-right" target="_blank" title="LinkedIn" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-linkedin"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
<a href="https://pinterest.com/pin/create/button/?url=https%3A%2F%2Fotus.ru%2Fjournal%2Fkak-napisat-programmu-s-nulya-i-stat-programmistom%2F&media=https%3A%2F%2Fotus.ru%2Fjournal%2Fwp-content%2Fuploads%2F2024%2F05%2Foj-1080x720-94.jpg&description=%D0%9A%D0%B0%D0%BA%20%D0%BD%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D1%83%20%D1%81%20%D0%BD%D1%83%D0%BB%D1%8F%20%D0%B8%20%D1%81%D1%82%D0%B0%D1%82%D1%8C%20%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%81%D1%82%D0%BE%D0%BC" class="link pinterest wpel-icon-right" target="_blank" title="Pinterest" data-wpel-link="external" rel="nofollow external noopener noreferrer"><i class="fa fa-pinterest-p"></i><span class="wpel-icon wpel-image wpel-icon-6"></span></a>
</div>
</div>
</div>
</div>
<div class="post-nav">
<div class="post previous cf">
<a href="https://otus.ru/journal/parser-opisanie-i-primer-koda/" title="Prev Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-left"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/parser-opisanie-i-primer-koda/" class="image-link" rel="previous" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Парсер: описание и пример кода" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-93-1-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Парсер: описание и пример кода" /> </a>
<div class="post-meta">
<span class="label">Prev Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/parser-opisanie-i-primer-koda/" data-wpel-link="internal">Парсер: описание и пример кода</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/parser-opisanie-i-primer-koda/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-05-13T10:58:33+00:00">13 мая, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">9 Mins Read</span>
</div>
</div> </div>
</span>
</div>
<div class="post next cf">
<a href="https://otus.ru/journal/krossplatformennye-programmy/" title="Next Post" class="nav-icon" data-wpel-link="internal">
<i class="fa fa-angle-right"></i>
</a>
<span class="content">
<a href="https://otus.ru/journal/krossplatformennye-programmy/" class="image-link" rel="next" data-wpel-link="internal">
<img width="150" height="106" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20150%20106%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="attachment-thumbnail size-thumbnail lazyload wp-post-image" alt="Кроссплатформенные программы" decoding="async" data-srcset="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-150x106.jpg 150w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-300x212.jpg 300w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-1024x724.jpg 1024w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-768x543.jpg 768w, https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-1536x1086.jpg 1536w" data-src="https://otus.ru/journal/wp-content/uploads/2024/05/oj-1080x720-95-150x106.jpg" data-sizes="(max-width: 150px) 100vw, 150px" title="Кроссплатформенные программы" /> </a>
<div class="post-meta">
<span class="label">Next Post</span>
<div class="post-meta post-meta-b">
<h2 class="post-title">
<a href="https://otus.ru/journal/krossplatformennye-programmy/" data-wpel-link="internal">Кроссплатформенные программы</a>
</h2>
<div class="below">
<a href="https://otus.ru/journal/krossplatformennye-programmy/" class="meta-item date-link" data-wpel-link="internal"><time class="post-date" datetime="2024-05-13T12:03:57+00:00">13 мая, 2024</time></a>
<span class="meta-sep"></span>
<span class="meta-item read-time">5 Mins Read</span>
</div>
</div> </div>
</span>
</div>
</div>
<section class="related-posts grid-3">
<h4 class="section-head"><span class="title">Читать ещё</span></h4>
<div class="ts-row posts cf">
<article class="post col-4">
<a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" title="Уровень готовности CTO к 2026" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Уровень готовности CTO к 2026" title="Уровень готовности CTO к 2026" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-3-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/uroven-gotovnosti-cto-k-2026/" class="post-link" data-wpel-link="internal">Уровень готовности CTO к 2026</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-16T19:50:59+00:00">16 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" title="Новые уроки ноября: только топ-темы по программированию" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Новые уроки ноября: только топ-темы по программированию" title="Новые уроки ноября: только топ-темы по программированию" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg 270w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-770x515.jpg 770w, https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-370x245.jpg 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/11/oj-1080x720-kopiya-2-270x180.jpg" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/novye-uroki-noyabrya-tolko-top-temy-po-programmirovaniju/" class="post-link" data-wpel-link="internal">Новые уроки ноября: только топ-темы по программированию</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-11-09T23:24:11+00:00">9 ноября, 2025</time>
</div>
</div>
</article >
<article class="post col-4">
<a href="https://otus.ru/journal/schjot-idjot-na-chasy/" title="Счёт идёт на часы" class="image-link" data-wpel-link="internal">
<img width="270" height="180" src="data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%20270%20180%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%3E%3C%2Fsvg%3E" class="image lazyload wp-post-image" alt="Счёт идёт на часы" title="Счёт идёт на часы" decoding="async" loading="lazy" data-srcset="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png 270w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-770x515.png 770w, https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-370x245.png 370w" data-src="https://otus.ru/journal/wp-content/uploads/2025/10/oj-1080x720-kopiya-7-270x180.png" data-sizes="(max-width: 270px) 100vw, 270px" /> </a>
<div class="content">
<h3 class="post-title"><a href="https://otus.ru/journal/schjot-idjot-na-chasy/" class="post-link" data-wpel-link="internal">Счёт идёт на часы</a></h3>
<div class="post-meta">
<time class="post-date" datetime="2025-10-30T15:04:59+00:00">30 октября, 2025</time>
</div>
</div>
</article >
</div>
</section>
</article> <!-- .the-post -->
</div>
<aside class="col-4 sidebar">
<div class="inner">
<ul>
<li id="search-2" class="widget widget_search"><h5 class="widget-title"><span>Поиск по блогу</span></h5>
<form method="get" class="search-form" action="https://otus.ru/journal/">
<label>
<span class="screen-reader-text">Search for:</span>
<input type="search" class="search-field" placeholder="Введите запрос и нажмите Enter" value="" name="s" title="Search for:" />
</label>
<button type="submit" class="search-submit"><i class="fa fa-search"></i></button>
</form>
</li>
<li id="tag_cloud-5" class="widget widget_tag_cloud"><h5 class="widget-title"><span>Метки</span></h5><div class="tagcloud"><a href="https://otus.ru/journal/tag/android-2/" class="tag-cloud-link tag-link-74 tag-link-position-1" style="font-size: 12.472222222222pt;" aria-label="Android (34 элемента)" data-wpel-link="internal">Android</a>
<a href="https://otus.ru/journal/tag/c-3/" class="tag-cloud-link tag-link-91 tag-link-position-2" style="font-size: 10.916666666667pt;" aria-label="C (23 элемента)" data-wpel-link="internal">C</a>
<a href="https://otus.ru/journal/tag/c-2/" class="tag-cloud-link tag-link-81 tag-link-position-3" style="font-size: 12.666666666667pt;" aria-label="C# (35 элементов)" data-wpel-link="internal">C#</a>
<a href="https://otus.ru/journal/tag/c/" class="tag-cloud-link tag-link-20 tag-link-position-4" style="font-size: 12.472222222222pt;" aria-label="c++ (34 элемента)" data-wpel-link="internal">c++</a>
<a href="https://otus.ru/journal/tag/computer-science/" class="tag-cloud-link tag-link-209 tag-link-position-5" style="font-size: 15.972222222222pt;" aria-label="computer science (78 элементов)" data-wpel-link="internal">computer science</a>
<a href="https://otus.ru/journal/tag/css/" class="tag-cloud-link tag-link-288 tag-link-position-6" style="font-size: 8.6805555555556pt;" aria-label="CSS (13 элементов)" data-wpel-link="internal">CSS</a>
<a href="https://otus.ru/journal/tag/data-science/" class="tag-cloud-link tag-link-151 tag-link-position-7" style="font-size: 8pt;" aria-label="Data Science (11 элементов)" data-wpel-link="internal">Data Science</a>
<a href="https://otus.ru/journal/tag/devops/" class="tag-cloud-link tag-link-98 tag-link-position-8" style="font-size: 10.138888888889pt;" aria-label="devops (19 элементов)" data-wpel-link="internal">devops</a>
<a href="https://otus.ru/journal/tag/docker/" class="tag-cloud-link tag-link-143 tag-link-position-9" style="font-size: 8.2916666666667pt;" aria-label="Docker (12 элементов)" data-wpel-link="internal">Docker</a>
<a href="https://otus.ru/journal/tag/gamedev/" class="tag-cloud-link tag-link-25 tag-link-position-10" style="font-size: 11.694444444444pt;" aria-label="gamedev (28 элементов)" data-wpel-link="internal">gamedev</a>
<a href="https://otus.ru/journal/tag/hr/" class="tag-cloud-link tag-link-103 tag-link-position-11" style="font-size: 8pt;" aria-label="hr (11 элементов)" data-wpel-link="internal">hr</a>
<a href="https://otus.ru/journal/tag/html/" class="tag-cloud-link tag-link-217 tag-link-position-12" style="font-size: 11.208333333333pt;" aria-label="HTML (25 элементов)" data-wpel-link="internal">HTML</a>
<a href="https://otus.ru/journal/tag/ios/" class="tag-cloud-link tag-link-101 tag-link-position-13" style="font-size: 8.9722222222222pt;" aria-label="iOS (14 элементов)" data-wpel-link="internal">iOS</a>
<a href="https://otus.ru/journal/tag/it/" class="tag-cloud-link tag-link-50 tag-link-position-14" style="font-size: 10.527777777778pt;" aria-label="IT (21 элемент)" data-wpel-link="internal">IT</a>
<a href="https://otus.ru/journal/tag/java/" class="tag-cloud-link tag-link-75 tag-link-position-15" style="font-size: 15.680555555556pt;" aria-label="Java (73 элемента)" data-wpel-link="internal">Java</a>
<a href="https://otus.ru/journal/tag/javascript/" class="tag-cloud-link tag-link-83 tag-link-position-16" style="font-size: 14.319444444444pt;" aria-label="JavaScript (53 элемента)" data-wpel-link="internal">JavaScript</a>
<a href="https://otus.ru/journal/tag/linux/" class="tag-cloud-link tag-link-141 tag-link-position-17" style="font-size: 11.888888888889pt;" aria-label="Linux (29 элементов)" data-wpel-link="internal">Linux</a>
<a href="https://otus.ru/journal/tag/machine-learning/" class="tag-cloud-link tag-link-167 tag-link-position-18" style="font-size: 8.6805555555556pt;" aria-label="Machine Learning (13 элементов)" data-wpel-link="internal">Machine Learning</a>
<a href="https://otus.ru/journal/tag/otus-book/" class="tag-cloud-link tag-link-261 tag-link-position-19" style="font-size: 9.9444444444444pt;" aria-label="otus book (18 элементов)" data-wpel-link="internal">otus book</a>
<a href="https://otus.ru/journal/tag/php/" class="tag-cloud-link tag-link-45 tag-link-position-20" style="font-size: 10.527777777778pt;" aria-label="PHP (21 элемент)" data-wpel-link="internal">PHP</a>
<a href="https://otus.ru/journal/tag/python/" class="tag-cloud-link tag-link-27 tag-link-position-21" style="font-size: 16.944444444444pt;" aria-label="Python (99 элементов)" data-wpel-link="internal">Python</a>
<a href="https://otus.ru/journal/tag/qa/" class="tag-cloud-link tag-link-155 tag-link-position-22" style="font-size: 11.402777777778pt;" aria-label="qa (26 элементов)" data-wpel-link="internal">qa</a>
<a href="https://otus.ru/journal/tag/sql/" class="tag-cloud-link tag-link-38 tag-link-position-23" style="font-size: 12.861111111111pt;" aria-label="SQL (37 элементов)" data-wpel-link="internal">SQL</a>
<a href="https://otus.ru/journal/tag/team-lead/" class="tag-cloud-link tag-link-364 tag-link-position-24" style="font-size: 9.9444444444444pt;" aria-label="team lead (18 элементов)" data-wpel-link="internal">team lead</a>
<a href="https://otus.ru/journal/tag/unity/" class="tag-cloud-link tag-link-24 tag-link-position-25" style="font-size: 8pt;" aria-label="unity (11 элементов)" data-wpel-link="internal">unity</a>
<a href="https://otus.ru/journal/tag/algoritmy/" class="tag-cloud-link tag-link-30 tag-link-position-26" style="font-size: 9.9444444444444pt;" aria-label="Алгоритмы (18 элементов)" data-wpel-link="internal">Алгоритмы</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh/" class="tag-cloud-link tag-link-40 tag-link-position-27" style="font-size: 10.138888888889pt;" aria-label="Базы данных (19 элементов)" data-wpel-link="internal">Базы данных</a>
<a href="https://otus.ru/journal/tag/matematika/" class="tag-cloud-link tag-link-44 tag-link-position-28" style="font-size: 10.916666666667pt;" aria-label="Математика (23 элемента)" data-wpel-link="internal">Математика</a>
<a href="https://otus.ru/journal/tag/arhitektura-po/" class="tag-cloud-link tag-link-10 tag-link-position-29" style="font-size: 9.4583333333333pt;" aria-label="архитектура ПО (16 элементов)" data-wpel-link="internal">архитектура ПО</a>
<a href="https://otus.ru/journal/tag/bazy-dannyh-2/" class="tag-cloud-link tag-link-251 tag-link-position-30" style="font-size: 10.138888888889pt;" aria-label="базы данных (19 элементов)" data-wpel-link="internal">базы данных</a>
<a href="https://otus.ru/journal/tag/vebinar/" class="tag-cloud-link tag-link-201 tag-link-position-31" style="font-size: 13.930555555556pt;" aria-label="вебинар (48 элементов)" data-wpel-link="internal">вебинар</a>
<a href="https://otus.ru/journal/tag/dajdzhest/" class="tag-cloud-link tag-link-308 tag-link-position-32" style="font-size: 10.722222222222pt;" aria-label="дайджест (22 элемента)" data-wpel-link="internal">дайджест</a>
<a href="https://otus.ru/journal/tag/zapis-vebinara/" class="tag-cloud-link tag-link-226 tag-link-position-33" style="font-size: 14.902777777778pt;" aria-label="запись вебинара (61 элемент)" data-wpel-link="internal">запись вебинара</a>
<a href="https://otus.ru/journal/tag/zapis-uroka/" class="tag-cloud-link tag-link-272 tag-link-position-34" style="font-size: 16.069444444444pt;" aria-label="запись урока (80 элементов)" data-wpel-link="internal">запись урока</a>
<a href="https://otus.ru/journal/tag/informacionnaya-bezopasnost/" class="tag-cloud-link tag-link-232 tag-link-position-35" style="font-size: 10.138888888889pt;" aria-label="информационная безопасность (19 элементов)" data-wpel-link="internal">информационная безопасность</a>
<a href="https://otus.ru/journal/tag/karera-v-it/" class="tag-cloud-link tag-link-292 tag-link-position-36" style="font-size: 9.9444444444444pt;" aria-label="карьера в IT (18 элементов)" data-wpel-link="internal">карьера в IT</a>
<a href="https://otus.ru/journal/tag/podborka/" class="tag-cloud-link tag-link-7 tag-link-position-37" style="font-size: 12.666666666667pt;" aria-label="подборка (35 элементов)" data-wpel-link="internal">подборка</a>
<a href="https://otus.ru/journal/tag/podborka-statej/" class="tag-cloud-link tag-link-219 tag-link-position-38" style="font-size: 15.777777777778pt;" aria-label="подборка статей (75 элементов)" data-wpel-link="internal">подборка статей</a>
<a href="https://otus.ru/journal/tag/programmirovanie/" class="tag-cloud-link tag-link-65 tag-link-position-39" style="font-size: 22pt;" aria-label="программирование (332 элемента)" data-wpel-link="internal">программирование</a>
<a href="https://otus.ru/journal/tag/proekt/" class="tag-cloud-link tag-link-321 tag-link-position-40" style="font-size: 11.888888888889pt;" aria-label="проект (29 элементов)" data-wpel-link="internal">проект</a>
<a href="https://otus.ru/journal/tag/proektnaya-rabota/" class="tag-cloud-link tag-link-310 tag-link-position-41" style="font-size: 11.597222222222pt;" aria-label="проектная работа (27 элементов)" data-wpel-link="internal">проектная работа</a>
<a href="https://otus.ru/journal/tag/seti/" class="tag-cloud-link tag-link-181 tag-link-position-42" style="font-size: 12.958333333333pt;" aria-label="сети (38 элементов)" data-wpel-link="internal">сети</a>
<a href="https://otus.ru/journal/tag/testirovanie/" class="tag-cloud-link tag-link-69 tag-link-position-43" style="font-size: 13.930555555556pt;" aria-label="тестирование (48 элементов)" data-wpel-link="internal">тестирование</a>
<a href="https://otus.ru/journal/tag/upravlenie-komandoj/" class="tag-cloud-link tag-link-63 tag-link-position-44" style="font-size: 11.694444444444pt;" aria-label="управление командой (28 элементов)" data-wpel-link="internal">управление командой</a>
<a href="https://otus.ru/journal/tag/habr-2/" class="tag-cloud-link tag-link-203 tag-link-position-45" style="font-size: 13.930555555556pt;" aria-label="хабр (48 элементов)" data-wpel-link="internal">хабр</a></div>
</li>
</ul>
</div>
</aside>
</div> <!-- .ts-row -->
</div> <!-- .main -->
<footer class="main-footer dark bold">
<section class="lower-footer cf">
<div class="wrap">
<div class="links">
<div class="menu-menju-navykov-container"><ul id="menu-menju-navykov-1" class="menu"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10413"><a href="https://otus.ru/categories/programming/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Программирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10414"><a href="https://otus.ru/categories/architecture/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Архитектура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10415"><a href="https://otus.ru/categories/operations/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Инфраструктура<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10416"><a href="https://otus.ru/categories/information-security-courses/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Безопасность<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10417"><a href="https://otus.ru/categories/data-science/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Data Science<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10418"><a href="https://otus.ru/categories/gamedev/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">GameDev<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10419"><a href="https://otus.ru/categories/marketing-business/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Управление<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10420"><a href="https://otus.ru/categories/analytics/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Аналитика и анализ<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-10421"><a href="https://otus.ru/categories/testing/" data-wpel-link="external" target="_blank" rel="nofollow external noopener noreferrer" class="wpel-icon-right">Тестирование<span class="wpel-icon wpel-image wpel-icon-6"></span></a></li>
</ul></div> </div>
<p class="copyright"> © 2015-2026 OTUS </p>
<div class="to-top">
<a href="#" class="back-to-top"><i class="fa fa-angle-up"></i> Top</a>
</div>
</div>
</section>
</footer>
</div> <!-- .main-wrap -->
<div class="mobile-menu-container off-canvas" id="mobile-menu">
<a href="#" class="close"><i class="fa fa-times"></i></a>
<div class="logo">
</div>
<ul class="mobile-menu"></ul>
</div>
<div class="search-modal-wrap">
<div class="search-modal-box" role="dialog" aria-modal="true">
<form method="get" class="search-form" action="https://otus.ru/journal/">
<input type="search" class="search-field" name="s" placeholder="Search..." value="" required />
<button type="submit" class="search-submit visuallyhidden">Submit</button>
<p class="message">
Type above and press <em>Enter</em> to search. Press <em>Esc</em> to cancel. </p>
</form>
</div>
</div>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/clearfy/components/comments-plus/assets/js/url-span.js" id="wbcr-comments-plus-url-span-js"></script>
<script type="text/javascript" id="ez-toc-scroll-scriptjs-js-extra">
/* <![CDATA[ */
var eztoc_smooth_local = {"scroll_offset":"30"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/smooth_scroll.min.js" id="ez-toc-scroll-scriptjs-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/js-cookie/js.cookie.min.js" id="ez-toc-js-cookie-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/vendor/sticky-kit/jquery.sticky-kit.min.js" id="ez-toc-jquery-sticky-kit-js"></script>
<script type="text/javascript" id="ez-toc-js-js-extra">
/* <![CDATA[ */
var ezTOC = {"smooth_scroll":"1","visibility_hide_by_default":"","scroll_offset":"30","fallbackIcon":"<span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span>"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/plugins/easy-table-of-contents/assets/js/front.min.js" id="ez-toc-js-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/custom-script.js" id="custom-script-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/magnific-popup.js" id="magnific-popup-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.fitvids.js" id="jquery-fitvids-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/imagesloaded.min.js" id="imagesloaded-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/object-fit-images.js" id="object-fit-images-js"></script>
<script type="text/javascript" id="contentberg-theme-js-extra">
/* <![CDATA[ */
var Bunyad = {"custom_ajax_url":"\/journal\/kak-napisat-programmu-s-nulya-i-stat-programmistom\/"};
/* ]]> */
</script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theme.js" id="contentberg-theme-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/theia-sticky-sidebar.js" id="theia-sticky-sidebar-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jquery.slick.js" id="jquery-slick-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-content/themes/contentberg/js/jarallax.js" id="jarallax-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/masonry.min.js" id="masonry-js"></script>
<script type="text/javascript" src="https://otus.ru/journal/wp-includes/js/jquery/jquery.masonry.min.js" id="jquery-masonry-js"></script>
</body>
</html>
<!-- Cache served by breeze CACHE - Last modified: Tue, 10 Mar 2026 15:51:09 GMT -->