Как видят свою профессию программисты
Специально для этого урока мы провели опрос среди самых активных пользователей Хекслета и узнали, что для них значит быть программистом. Для большинства опрошенных быть программистом — значит:
- Создавать что-то новое
- Изменять жизнь людей по всему миру
- Заниматься любимым делом, за которое еще и платят
Здесь нет ничего про технические навыки, математику, английский или написание программного обеспечения. Это исключительно вещи, связанные с ощущением причастности к чему-то большому; это показатель нашей профессии и того, какие люди в неё приходят. Они очень привязаны к своей работе, к тому, что они делают. Им очень хочется сделать это хорошо, поэтому в программировании ценится компетентность. Здесь делают только то, что нужно, не пытаясь срезать углы и не думая лишь о деньгах. Многие вещи, которые часто встречаются в других отраслях, здесь, как правило, отсутствуют. Конечно, бывают разные ситуации, разные коллективы, но в целом это именно та профессия, в которой очень мало случайных людей, и это очень позитивно влияет на неё.
Умственные и духовные преимущества
У программирования есть и более приземленные, но не менее ценные преимущества.
Вокруг очень много по-настоящему умных людей
Мы об этом уже упоминали, но вы действительно общаетесь с людьми, которые не только хорошо знают и разбираются в программировании. Существует стереотип, согласно которому программисты только и разговаривают о своей работе и ничего, кроме программирования, в жизни не понимают. Но на самом деле программисты — это очень разносторонние люди. Многие из них занимаются разными экстремальными, редкими и интересными видами спорта. Эти люди интересуются практически всеми областями жизни. Это не только точные науки, но и любые другие дисциплины: музыка, история, экономика и прочие. Существует проект под названием Coursera, на котором институты со всего мира выкладывают академические курсы, и есть множество программистов, которые проходят эти курсы по совершенно различным предметам. Это действительно здорово: вы всегда можете с ними поговорить об этом, а они с огромным удовольствием расскажут. Каждый человек в этом плане уникален и обладает большим набором знаний, достаточно широких по разному спектру вопросов. Поэтому за обедом вам никогда не придется скучать, и всегда будет что обсудить.
Работа приносит удовольствие
Программирование приносит удовольствие — это тот случай, когда по-другому и быть не может. Любовь к монотонной работе с предсказуемым результатом не так важна и мало на него влияет. В программировании же она имеет огромное значение, потому что если оно вам не по душе, шансы, что у вас что-то получится хорошо, или получится в принципе — минимальны. Такая приверженность делу создает некую текучку: если программисту не нравится где-то на одном месте — он оттуда всегда уйдет. Бывает, молодые неопытные ребята иногда всё-таки терпят, но если мы говорим о профессиональных разработчиках, они никогда не будут сидеть в том месте, где им не нравится. Такое поведение влияет на всю сферу: компании делают всё, чтобы понравиться программистам и чтобы они хотели остаться в них работать. Это касается не только многообразия интересных задач, которые перед ними ставятся, но и каких-то иных, более приземленных вещей, создающих комфортные условия: уютных офисов, столовых, теннисных столов, ДМС и многих других — иногда в прямом "кулинарном" смысле этого слова — плюшек, которыми пытаются заманить программистов.
Земные радости
Существуют еще обычные, можно сказать, земные радости.
Возможность работать из любого места
Первая из них — это возможность работать из любого места. Под любым местом мы понимаем не только ваш город, но и вообще любую точку на планете. Некоторые компании отказываются от офисов или строят распределенный бизнес, в котором программисты работают удаленно, снижая свои экономические и иные риски. Если же у компании есть свой офис, то зачастую программистам позволяется работать так, как им удобно, в том числе и удаленно. Обязательная работа из офиса — это скорее редкое исключение.
Для многих программистов возможность работать из любого места — важнейшее условие, ведь даже если они решат переехать в другой город или страну, они могут остаться на работе, которая им нравится. Некоторые просто хотят работать из Таиланда — и они успешно это делают.
Возможность работать по удобному графику
Программисты редко общаются с клиентами напрямую и выполняют те задачи, которые требуют непосредственно участия в бизнес-процессах. Поэтому нет никакого смысла заставлять людей соблюдать дресс-код и приходить к 9 часам на работу. А значит возможность работы по удобному (гибкому) графику — стандартный пункт в вакансиях на должность программиста. Иногда нужно быть в офисе для синхронизации с другими людьми, разговора с менеджером или участия в так называемых дейли-митингах, на которых все участники команды рассказывают о своем прогрессе и о том, на какой стадии своей задачи они находятся. Это также можно делать удаленно, но в формате встреч происходит эффективнее.
Большую часть времени программист работает в одиночку и в тишине. Многие программисты любят делать свою работу в тот момент, когда на работе никого нет, поэтому часто приходят либо очень рано, либо начинают свой день после полудня и остаются допоздна.
Зарплата сильно выше средней
Зарплата программистов значительно выше средней, и на то есть несколько причин. Разработка представляет собой интеллектуальный вид деятельности, который требует определенных знаний, навыков и умений. Однако рынок программистов перегрет, специалистов не хватает — эта тенденция будет сохраняться еще очень долго. Мир с каждым годом становится все более технологичным: интернет проникает во все сферы жизни, мобильные телефоны и компьютеры становятся всё мощнее, а программистов не выпускается значительно больше. Более того, большинство учебных заведений не могут обеспечить необходимого уровня образования, причем это касается абсолютно всех стран. Поэтому существует множество ресурсов, дающих дополнительное образование. Повсеместно распространена следующая практика: если вы рекомендуете хорошего программиста, то вам дают чуть ли не его месячную зарплату в качестве вознаграждения. Просто представьте, в какой еще профессии существует что-то подобное.
Легко начать работать на себя
Последний пункт в нашем списке, но не последний вообще. Работать на себя можно разными способами. Один из них — самый простой — это фриланс, когда вы работаете напрямую с какими-то заказчиками, а не будучи в штате компании. Фриланс имеет свои плюсы, и многие его очень любят: можно работать из любой точки планеты по удобному вам графику, разве что кроме созвонов с заказчиком, поэтому фриланс — это свобода. Представьте себе картинку: с одной стороны — люди, стоящие в пробке в Москве, а с другой — фрилансер, который лежит в гамаке где-то на Бали и делает свою работу. Это может выглядеть немного притянутым за уши, но большая доля правды в таком сравнении действительно есть. Однако при всей свободе фрилансер — человек, работающий вне системы. Если вы работаете на компанию и вы заболели или решили взять отпуск, компания оплачивает ваш больничный или перечисляет отпускные. Если же вы фрилансер, то любой простой — это деньги из вашего кармана. Поэтому принимать решение о переходе на фриланс нужно взвешенно.
Карьера
И последнее, о чем мы поговорим в этом уроке — это карьера, как программисты растут и куда они уходят.
Уход в глубину (Экспертный путь)
Основной карьерный путь в программировании — оставаться программистом. Он называется "уход в глубину" или "экспертный путь" — когда человек остается разработчиком, но уходит в какую-то более узкую нишу, становится всё лучшим специалистом в рамках одного направления и продолжает работать. Чем круче он становится, тем охотнее за ним охотятся компании, тем больше он может зарабатывать, тем больше его свобода и влияние на заказчиков. Этот путь выбирают большинство разработчиков. Действительно классно, что наша профессия позволяет не думать о карьерном пути, а сосредоточиться на том, что действительно важно, и просто делать свою работу хорошо и получать от этого огромное удовольствие.
Вертикальный рост (Управленец / Технический руководитель)
Но это не единственный путь. Есть еще вертикальный рост, когда программист решает стать управленцем. Если он строит карьеру в техническом направлении, он становится тимлидом, затем техническим директором, и, в конце концов, VP Of Engineering (или вице-президентом по технологиям). Человек в какой-то момент начинает управлять уже разработчиками, технологиями, у него появляется какие-то административные задачи — это уже другой уровень, другая ответственность, другие деньги и для кого-то другой интерес. Есть параллельная вертикальная линия — это менеджерский путь. Много программистов действительно становятся CEO — генеральными директорами — и менеджерами среднего и высшего звена. Это тоже хороший путь, и яркий пример тому — большие компании: Microsoft, Google. Интересно, что программисты обладают теми навыками, которые важны как раз на этих позициях: системным мышлением и анализом. И если при этом у программиста есть хорошие лидерские качества, то он может легко закрепиться на одной из этих должностей, принося огромную пользу своей компании.
Собственная компания (стартап / консалтинг)
Третий путь — собственная компания. И здесь есть тоже два направления: свой собственный стартап, помогающий решить какую-то проблему определенной категории людей или предоставляющий уникальный сервис, либо консалтинг — выполнение задач на заказ, то есть работа на других людей и компании. Развившись, такие компании начинают зарабатывать, растут, нанимают программистов, а их основатели становятся настоящими бизнесменами.
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 18:03:46 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="mcJvP3-joGMRF_Q40B05SumDNiQHiAdOD5FVJOi9AoV2E6QIjd0NA6dU0KDcEsk9KYobjg-_-eyycc9wurrl6w";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Программирование как профессия | Жизнь программиста</title>
<meta name="description" content="Программирование как профессия / Жизнь программиста: Выясняем, что такое программирование и чем привлекательна эта профессия">
<link rel="canonical" href="https://ru.hexlet.io/courses/prog-life/lessons/about/theory_unit">
<meta name="robots" content="noarchive">
<meta property="og:title" content="Программирование как профессия">
<meta property="og:title" content="Жизнь программиста">
<meta property="og:description" content="Программирование как профессия / Жизнь программиста: Выясняем, что такое программирование и чем привлекательна эта профессия">
<meta property="og:url" content="https://ru.hexlet.io/courses/prog-life/lessons/about/theory_unit">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="NJD3fAvUZj4cSbqv_60zTYkSSquLJud8VA4GuAn_3fvbQTxL-arLXqoKnjfzosM6SRtnAYMRGd7p7pzsW_g6lQ" />
<script src="/vite/assets/inertia-BIn5nEMk.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-cb8xch9l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<div id="app" data-page="{"component":"web/courses/lessons/theory_unit","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T18:03:46.668Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"iKUBwufIylGo1YHcY3rbYhBWd4mIbr8jt9tDn_EOypFndMr1FbZnMR6WpURvdSsV0F9aI4BZQYEKO9nLowkt_w","topics":[{"id":27214,"title":"```код```","plain_title":"","creator":{"public_name":"Яна Эльснер","id":226043,"is_tutor":false},"comments":[{"creator":{"public_name":"Александр О.","id":61806,"is_tutor":false},"id":58328,"body":"Добрый день, Яна! Можете свободно тренироваться форматированию текстов в этом топике ;) Предыдущий ваш топик я удалил.","topic_id":27214}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":28369,"title":"Привет! Спасибо за то, что вы делаете! \nЕсли ставить целью обучения возможность работать (и зарабатывать) удаленно или фрилансить, то на что бы вы советовали обратить особенное внимание? В какие из множества направлений углубляться?","plain_title":"Привет! Спасибо за то, что вы делаете! Если ставить целью обучения возможность работать (и зарабатывать) удаленно или фрилансить, то на что бы вы советовали обратить особенное внимание? В какие из множества направлений углубляться? ","creator":{"public_name":"Eugene Park","id":230152,"is_tutor":false},"comments":[{"creator":{"public_name":"Александр О.","id":61806,"is_tutor":false},"id":61195,"body":":)","topic_id":28369},{"creator":{"public_name":"Александр О.","id":61806,"is_tutor":false},"id":61116,"body":"Приветствую! Мы рекомендуем выбрать интересующую [профессию](https://ru.hexlet.io/professions) и двигаться по ней. Это будет хорошим заделом для того, чтобы влиться в профессию программиста и начать зарабатывать деньги. Сейчас в готовом состоянии три профессии по js и php; профессия python активно дорабатывается и планируем доделать её к концу лета или осени.\n\nP.S. Совсем скоро (предположительно, на следующей неделе) запускаем новый комплексный план обучения, в который будут входить все плюшки для начинающего осваивать профессию студента (менторинг, наставничество, проекты, стажировка/трудоустройство - полный фарш ;).","topic_id":28369},{"creator":{"public_name":"Eugene Park","id":230152,"is_tutor":false},"id":61164,"body":"**Александр О.**, Я понял. Это как если бы я у вас спрашивал: _Что мне прочитать вначале - Достоевского или Толстого?_ А вы мне в ответ: _Выучи вначале алфавит и прочитай букварь._ Чтож, начнём с букварей, а там посмотрим. Спасибо!","topic_id":28369}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":28726,"title":"не воспроизводится","plain_title":"не воспроизводится ","creator":{"public_name":"Юрий Храмов","id":229668,"is_tutor":false},"comments":[{"creator":{"public_name":"Юрий Храмов","id":229668,"is_tutor":false},"id":61976,"body":"**Nikita Mikhaylov**, да, спасибо, разобрался, в наименьшей резолюции вроде не заедает)))","topic_id":28726},{"creator":{"public_name":"Nikita Mikhaylov","id":186965,"is_tutor":true},"id":61966,"body":"Здравствуйте\n\nПоявляется ли у вас какое-то сообщение об ошибке? Попробуйте также открыть данный урок в любом другом браузере и посмотреть работоспособность видео там ","topic_id":28726}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":15727,"title":"Спасибо, классное видео","plain_title":"Спасибо, классное видео ","creator":{"public_name":"Александр Долженко","id":177336,"is_tutor":false},"comments":[{"creator":{"public_name":"Александра Долженко","id":110551,"is_tutor":false},"id":33818,"body":"Ух ты, вот это встреча) Привет, тёзка!","topic_id":15727}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":31880,"title":"Ёмко и информативно. Здорово!","plain_title":"Ёмко и информативно. Здорово! ","creator":{"public_name":"Дарья Герасимова","id":242471,"is_tutor":false},"comments":[{"creator":{"public_name":"Александра Сагидуллина","id":250235,"is_tutor":false},"id":72547,"body":"Спасибо за информацию! Теперь мне есть, над чем подумать.","topic_id":31880},{"creator":{"public_name":"Андрей Миськов","id":103643,"is_tutor":false},"id":69256,"body":"Спасибо! Надеемся, что следующие уроки вам тоже понравятся :)","topic_id":31880}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":29036,"title":"Столовая, теннисные столы, ДМС.\nЧто такое ДМС?","plain_title":"Столовая, теннисные столы, ДМС. Что такое ДМС? ","creator":{"public_name":"Руслан Кофтанюк","id":170324,"is_tutor":false},"comments":[{"creator":{"public_name":"Evgeniy","id":232553,"is_tutor":false},"id":63237,"body":"**Nikita Naumenko**, *добровольное","topic_id":29036},{"creator":{"public_name":"Сергей К.","id":5174,"is_tutor":false},"id":62779,"body":"Руслан, приветствую! Подскажите, где вы нашли данную аббревиатуру?","topic_id":29036},{"creator":{"public_name":"Nikita Naumenko","id":199226,"is_tutor":false},"id":62800,"body":"Дополнительное Медицинское Страхование","topic_id":29036}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":18282,"title":"Всем привет . Как и с чего начать обучение, просвещение в обучение программированию для чайника ?))\n","plain_title":"Всем привет . Как и с чего начать обучение, просвещение в обучение программированию для чайника ?)) ","creator":{"public_name":"Мажит Гафури","id":187931,"is_tutor":false},"comments":[{"creator":{"public_name":"R. D.","id":3,"is_tutor":false},"id":38571,"body":"Начните с https://code-basics.ru/\n\nПотом попробуйте наши профессии https://ru.hexlet.io/professions","topic_id":18282}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":18350,"title":"Здравствуйте! Интересует язык Java, так как интересует разработка мобильных приложений).Тут почитал что язык сложный,может начать с какого нибудь попроще? К примеру Ruby или еще какой,чтобы было проще войти в Java? Подскажите пожалуйста что делать и с чего начать.Фронтенд мне как бы не интересен.","plain_title":"Здравствуйте! Интересует язык Java, так как интересует разработка мобильных приложений).Тут почитал что язык сложный,может начать с какого нибудь попроще? К примеру Ruby или еще какой,чтобы было проще войти в Java? Подскажите пожалуйста что делать и с чего начать.Фронтенд мне как бы не интересен. ","creator":{"public_name":"Николай Миронов","id":185479,"is_tutor":false},"comments":[{"creator":{"public_name":"Vyacheslav Lapin","id":178374,"is_tutor":false},"id":38803,"body":"Всё, конечно, относительно, но я бы сказал, что язык Java - именно как язык - не сложный, а довольно простой (правда, довольно архаичный - всё-таки ему уже 22 года). Он и разрабатывался-то в основном для того, что бы упросить С++. На Java несложно написать простую программу, которая будет делать простые вещи (особенно на JShell'е - просто вводишь команду и она выполняется, а потом можешь последовательность команд записать в файл-скрипт и выполнять). Другое дело, что под Java'ой часто понимают ещё и использование больших и сложных платформ - таких, как JakartaEE (бывш. JavaEE), Spring, BigData, в меньшей степени Android - и тут уже будут сложности, но связаны они скорее со спецификой этих платформ.\nЧто касается того, с чего лучше начинать, если Java всё-таки покажется сложной, то самыми простыми языками для начального освоения сегодня считаются Python и JavaScript. Я вот, например, начинал вообще с Basic'а, потом был Pascal, потом JavaScript и лишь затем - Java; первые два уже практически не используются, так что я бы посоветовал JS, но если вам совсем не интересен фронт - попробуйте начать с Python'а.","topic_id":18350},{"creator":{"public_name":"Nikolai Gagarinov","id":104929,"is_tutor":true},"id":39899,"body":"Привет, тут недавно появились проекты на Джаве, так что можешь уже начинать осваивать профессию. Не забудь сперва пройти уроки на code-basics.ru и здесь вроде Основ программирования.\nэто основы, преподаются базисы. Запомнишь алгоритмы, а уже потом будет легче на джаве.","topic_id":18350}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":2795,"title":"При возможности можете живой урок записать, тяжело сидеть если на простой текст сидишь и смотришь. В целом хорошее начало, спасибо!","plain_title":"При возможности можете живой урок записать, тяжело сидеть если на простой текст сидишь и смотришь. В целом хорошее начало, спасибо! ","creator":{"public_name":"Артур Бадретдинов","id":56720,"is_tutor":false},"comments":[{"creator":{"public_name":"Владислав Борисенко","id":112005,"is_tutor":false},"id":7173,"body":"+1, _было бы более восприимчиво видеть лектора_.\n \nP.S. Посмотрел ваш первый вебинар, вштырило и сразу пошел регаться и учиться =)","topic_id":2795},{"creator":{"public_name":"Yuriy Kurenkov","id":48671,"is_tutor":false},"id":38414,"body":"А я вот контраргумент выскажу. Сидел в с ограниченным трафиком и был очень рад, что нет ненужной картинки.","topic_id":2795}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}},{"id":19975,"title":"Вопрос про разработку веб- и мобильных приложений, раз уж тут речь зашла. А не планируются курсы по новым языкам, типа dart или kotlin, чтобы не бодаться с java и всё-таки написать себе уже мобильное приложение? Идей тьма, и даже монструозное техзадание имеется, но вот писать видимо придётся самой. Ищу как зайти в тему попроще и логичней. Dart очень понравился, но учебники существуют только по старой версии dart, а с новой ничего не понятно. Или может в индивидуальном порядке за другие деньги можно? Если да, то бросьте ЛС","plain_title":"Вопрос про разработку веб- и мобильных приложений, раз уж тут речь зашла. А не планируются курсы по новым языкам, типа dart или kotlin, чтобы не бодаться с java и всё-таки написать себе уже мобильное приложение? Идей тьма, и даже монструозное техзадание имеется, но вот писать видимо придётся самой. Ищу как зайти в тему попроще и логичней. Dart очень понравился, но учебники существуют только по старой версии dart, а с новой ничего не понятно. Или может в индивидуальном порядке за другие деньги можно? Если да, то бросьте ЛС ","creator":{"public_name":"Ирина Гулынина","id":192285,"is_tutor":false},"comments":[{"creator":{"public_name":"Eduard Batsev","id":191831,"is_tutor":false},"id":42853,"body":"Добрый день, по курсу \"жизнь программиста\", какие-то проблемы с воспроизведением, все время подвисает.(и это не мой интернет :))","topic_id":19975},{"creator":{"public_name":"R. D.","id":3,"is_tutor":false},"id":42372,"body":"Пока не планируется, но в будущем ничего не исключено :)","topic_id":19975}],"communitable":{"parent_entity_name":null,"parent_entity_url":null,"entity_name":"Программирование как профессия","entity_url":null,"active":true}}],"lesson":{"exercise":null,"units":[{"id":1158,"name":"theory","url":"/courses/prog-life/lessons/about/theory_unit"},{"id":7447,"name":"quiz","url":"/courses/prog-life/lessons/about/quiz_unit"}],"links":[],"ordered_units":[{"id":1158,"name":"theory","url":"/courses/prog-life/lessons/about/theory_unit"},{"id":7447,"name":"quiz","url":"/courses/prog-life/lessons/about/quiz_unit"}],"id":602,"slug":"about","state":"approved","name":"Программирование как профессия","course_order":20,"goal":"Выясняем, что такое программирование и чем привлекательна эта профессия","self_study":null,"theory_video_provider":"vimeo","theory_video_uid":"154169610","theory":"## Как видят свою профессию программисты\n\n\n\nСпециально для этого урока мы провели опрос среди самых активных пользователей Хекслета и узнали, что для них значит быть программистом. Для большинства опрошенных быть программистом — значит:\n\n* Создавать что-то новое\n* Изменять жизнь людей по всему миру\n* Заниматься любимым делом, за которое еще и платят\n\nЗдесь нет ничего про технические навыки, математику, английский или написание программного обеспечения. Это исключительно вещи, связанные с ощущением причастности к чему-то большому; это показатель нашей профессии и того, какие люди в неё приходят. Они очень привязаны к своей работе, к тому, что они делают. Им очень хочется сделать это хорошо, поэтому в программировании ценится компетентность. Здесь делают только то, что нужно, не пытаясь срезать углы и не думая лишь о деньгах. Многие вещи, которые часто встречаются в других отраслях, здесь, как правило, отсутствуют. Конечно, бывают разные ситуации, разные коллективы, но в целом это именно та профессия, в которой очень мало случайных людей, и это очень позитивно влияет на неё.\n\n## Умственные и духовные преимущества\n\nУ программирования есть и более приземленные, но не менее ценные преимущества.\n\n### Вокруг очень много по-настоящему умных людей\n\nМы об этом уже упоминали, но вы действительно общаетесь с людьми, которые не только хорошо знают и разбираются в программировании. Существует стереотип, согласно которому программисты только и разговаривают о своей работе и ничего, кроме программирования, в жизни не понимают. Но на самом деле программисты — это очень разносторонние люди. Многие из них занимаются разными экстремальными, редкими и интересными видами спорта. Эти люди интересуются практически всеми областями жизни. Это не только точные науки, но и любые другие дисциплины: музыка, история, экономика и прочие. Существует проект под названием Coursera, на котором институты со всего мира выкладывают академические курсы, и есть множество программистов, которые проходят эти курсы по совершенно различным предметам. Это действительно здорово: вы всегда можете с ними поговорить об этом, а они с огромным удовольствием расскажут. Каждый человек в этом плане уникален и обладает большим набором знаний, достаточно широких по разному спектру вопросов. Поэтому за обедом вам никогда не придется скучать, и всегда будет что обсудить.\n\n### Работа приносит удовольствие\n\nПрограммирование приносит удовольствие — это тот случай, когда по-другому и быть не может. Любовь к монотонной работе с предсказуемым результатом не так важна и мало на него влияет. В программировании же она имеет огромное значение, потому что если оно вам не по душе, шансы, что у вас что-то получится хорошо, или получится в принципе — минимальны. Такая приверженность делу создает некую текучку: если программисту не нравится где-то на одном месте — он оттуда всегда уйдет. Бывает, молодые неопытные ребята иногда всё-таки терпят, но если мы говорим о профессиональных разработчиках, они никогда не будут сидеть в том месте, где им не нравится. Такое поведение влияет на всю сферу: компании делают всё, чтобы понравиться программистам и чтобы они хотели остаться в них работать. Это касается не только многообразия интересных задач, которые перед ними ставятся, но и каких-то иных, более приземленных вещей, создающих комфортные условия: уютных офисов, столовых, теннисных столов, ДМС и многих других — иногда в прямом \"кулинарном\" смысле этого слова — плюшек, которыми пытаются заманить программистов.\n\n## Земные радости\n\nСуществуют еще обычные, можно сказать, земные радости.\n\n### Возможность работать из любого места\n\nПервая из них — это возможность работать из любого места. Под любым местом мы понимаем не только ваш город, но и вообще любую точку на планете. Некоторые компании отказываются от офисов или строят распределенный бизнес, в котором программисты работают удаленно, снижая свои экономические и иные риски. Если же у компании есть свой офис, то зачастую программистам позволяется работать так, как им удобно, в том числе и удаленно. Обязательная работа из офиса — это скорее редкое исключение.\n\nДля многих программистов возможность работать из любого места — важнейшее условие, ведь даже если они решат переехать в другой город или страну, они могут остаться на работе, которая им нравится. Некоторые просто хотят работать из Таиланда — и они успешно это делают.\n\n### Возможность работать по удобному графику\n\nПрограммисты редко общаются с клиентами напрямую и выполняют те задачи, которые требуют непосредственно участия в бизнес-процессах. Поэтому нет никакого смысла заставлять людей соблюдать дресс-код и приходить к 9 часам на работу. А значит возможность работы по удобному (гибкому) графику — стандартный пункт в вакансиях на должность программиста. Иногда нужно быть в офисе для синхронизации с другими людьми, разговора с менеджером или участия в так называемых дейли-митингах, на которых все участники команды рассказывают о своем прогрессе и о том, на какой стадии своей задачи они находятся. Это также можно делать удаленно, но в формате встреч происходит эффективнее.\n\nБольшую часть времени программист работает в одиночку и в тишине. Многие программисты любят делать свою работу в тот момент, когда на работе никого нет, поэтому часто приходят либо очень рано, либо начинают свой день после полудня и остаются допоздна.\n\n### Зарплата сильно выше средней\n\nЗарплата программистов значительно выше средней, и на то есть несколько причин. Разработка представляет собой интеллектуальный вид деятельности, который требует определенных знаний, навыков и умений. Однако рынок программистов перегрет, специалистов не хватает — эта тенденция будет сохраняться еще очень долго. Мир с каждым годом становится все более технологичным: интернет проникает во все сферы жизни, мобильные телефоны и компьютеры становятся всё мощнее, а программистов не выпускается значительно больше. Более того, большинство учебных заведений не могут обеспечить необходимого уровня образования, причем это касается абсолютно всех стран. Поэтому существует множество ресурсов, дающих дополнительное образование. Повсеместно распространена следующая практика: если вы рекомендуете хорошего программиста, то вам дают чуть ли не его месячную зарплату в качестве вознаграждения. Просто представьте, в какой еще профессии существует что-то подобное.\n\n### Легко начать работать на себя\n\nПоследний пункт в нашем списке, но не последний вообще. Работать на себя можно разными способами. Один из них — самый простой — это фриланс, когда вы работаете напрямую с какими-то заказчиками, а не будучи в штате компании. Фриланс имеет свои плюсы, и многие его очень любят: можно работать из любой точки планеты по удобному вам графику, разве что кроме созвонов с заказчиком, поэтому фриланс — это свобода. Представьте себе картинку: с одной стороны — люди, стоящие в пробке в Москве, а с другой — фрилансер, который лежит в гамаке где-то на Бали и делает свою работу. Это может выглядеть немного притянутым за уши, но большая доля правды в таком сравнении действительно есть. Однако при всей свободе фрилансер — человек, работающий вне системы. Если вы работаете на компанию и вы заболели или решили взять отпуск, компания оплачивает ваш больничный или перечисляет отпускные. Если же вы фрилансер, то любой простой — это деньги из вашего кармана. Поэтому принимать решение о переходе на фриланс нужно взвешенно.\n\n## Карьера\n\nИ последнее, о чем мы поговорим в этом уроке — это карьера, как программисты растут и куда они уходят.\n\n### Уход в глубину (Экспертный путь)\n\nОсновной карьерный путь в программировании — оставаться программистом. Он называется \"уход в глубину\" или \"экспертный путь\" — когда человек остается разработчиком, но уходит в какую-то более узкую нишу, становится всё лучшим специалистом в рамках одного направления и продолжает работать. Чем круче он становится, тем охотнее за ним охотятся компании, тем больше он может зарабатывать, тем больше его свобода и влияние на заказчиков. Этот путь выбирают большинство разработчиков. Действительно классно, что наша профессия позволяет не думать о карьерном пути, а сосредоточиться на том, что действительно важно, и просто делать свою работу хорошо и получать от этого огромное удовольствие.\n\n### Вертикальный рост (Управленец / Технический руководитель)\n\nНо это не единственный путь. Есть еще вертикальный рост, когда программист решает стать управленцем. Если он строит карьеру в техническом направлении, он становится тимлидом, затем техническим директором, и, в конце концов, VP Of Engineering (или вице-президентом по технологиям). Человек в какой-то момент начинает управлять уже разработчиками, технологиями, у него появляется какие-то административные задачи — это уже другой уровень, другая ответственность, другие деньги и для кого-то другой интерес. Есть параллельная вертикальная линия — это менеджерский путь. Много программистов действительно становятся CEO — генеральными директорами — и менеджерами среднего и высшего звена. Это тоже хороший путь, и яркий пример тому — большие компании: Microsoft, Google. Интересно, что программисты обладают теми навыками, которые важны как раз на этих позициях: системным мышлением и анализом. И если при этом у программиста есть хорошие лидерские качества, то он может легко закрепиться на одной из этих должностей, принося огромную пользу своей компании.\n\n### Собственная компания (стартап / консалтинг)\n\nТретий путь — собственная компания. И здесь есть тоже два направления: свой собственный стартап, помогающий решить какую-то проблему определенной категории людей или предоставляющий уникальный сервис, либо консалтинг — выполнение задач на заказ, то есть работа на других людей и компании. Развившись, такие компании начинают зарабатывать, растут, нанимают программистов, а их основатели становятся настоящими бизнесменами.\n"},"lessonMember":null,"courseMember":null,"course":{"start_lesson":{"exercise":null,"units":[{"id":1160,"name":"theory","url":"/courses/prog-life/lessons/requirements/theory_unit"}],"links":[],"ordered_units":[{"id":1160,"name":"theory","url":"/courses/prog-life/lessons/requirements/theory_unit"}],"id":604,"slug":"requirements","state":"approved","name":"Введение","course_order":10,"goal":"Выясняем, что значит «быть программистом» и как им стать","self_study":null,"theory_video_provider":"vimeo","theory_video_uid":"154169609","theory":"Добро пожаловать на Хекслет! Этим уроком мы открываем наш курс, посвященный профессии программиста. На протяжении нескольких уроков мы будем разговаривать о том, кто такие программисты, как ими становятся и что нужно для того, чтобы стать одним из них. Мы подготовили большое количество информации, и вас ждут пять объёмных уроков. Мы не будем писать код, устанавливать софт и делать практические задачи — вместо этого мы разберёмся во всех нюансах профессии.\n\n## На кого рассчитан этот курс\n\n* Школьники\n* Студенты\n* Те, кто хочет поменять профессию\n\nЭтот курс рассчитан на всех, кто хочет стать программистом. Студенты технической специальности почерпнут для себя что-то новое, поскольку далеко не всё, что преподается в институте, имеет отношение к промышленному программированию. Те же, кто не имеет к нему отношения, но хотят им заниматься, получат максимально подробный обзор этой профессии. Программирование открыто для всех, поэтому всё больше и больше людей становятся программистами.\n\n## Страхи\n\n\n\nПоговорим о страхах людей, которые хотят стать программистами. Мы получаем много писем от наших пользователей, в которых они рассказывают, почему они боятся, что у них не получится освоить эту профессию.\n\n### Я — взрослый\n\nИ на первом месте находится страх, который называется \"я — взрослый\". Такому \"взрослому\" может быть и 25, и 50 лет — это абсолютно субъективная оценка. На самом деле, возраст играет малую роль, а большинство программистов уже достаточно взрослые люди. В целом профессия с каждым днем становится старше, и это нормально. Некоторые думают, что чем старше вы становитесь, тем медленнее вы соображаете, но это совершенно не всегда так: если у вас гибкий, сообразительный мозг, и вы понимаете, что вы умеете решать различные задачи и принимать определённые решения, то программирование точно для вас, ведь такие навыки по жизни не теряются. Поэтому не нужно переживать по поводу своего возраста.\n\nДжуниор (младший разработчик) в 20 или даже в 30 лет — это нормально. Существует множество примеров, когда на работу приходили люди, которым под 40 и более лет — они спокойно устраивались и работали в коллективе с молодыми ребятами. Безусловно, у некоторых может возникнуть психологический барьер, когда твой начальник сильно тебя младше, но программирование — такая профессия, где в первую очередь ценится компетентность и то, что вы из себя представляете как профессионал. Поэтому, если вы успешно растете как программист, у вас не будет никаких проблем. Наоборот, накопленный вами опыт может помочь быстрее продвигаться по карьерной лестнице.\n\n### Я плохо знаю математику\n\nДругой частый страх, о котором говорят — \"я плохо знаю математику\".\n\nБыло бы нечестно скрывать, что математика играет важную роль в программировании. В нём много направлений, которые требуют глубоких знаний различных дисциплин. Для разработки сложных игр такой дисциплиной является физика. Существуют направления, где нужна серьёзная математика, но в целом базовое программирование, особенно веб-программирование, где люди создают и настраивают сайты и веб-приложения, требует лишь минимальных знаний.\n\nКогда говорят, что для программирования нужна математика, подразумевают в первую очередь не знание её как таковой — то есть конкретных дисциплин и математического аппарата — а знание математики как способа развития мышления и личности. Математика действительно хорошо помогает структурировать мозги и размышлять немного на другом уровне, раскачивать своё абстрактное мышление и делать многое другое. Поэтому знание математики никогда не повредит. Часто бывает так, что её начинают учить вместе с программированием, и это правильный подход.\n\nПри этом незнание математики не должно становиться причиной не заниматься программированием, но если вы начали им заниматься, то хотя бы на каком-то базовом уровне её можно тоже подтягивать. Вы сами почувствуете тот момент, когда она вам понадобится: при осуществлении каких-либо вычислений или работе с алгоритмами. Множество ресурсов, таких как Coursera, дают доступ к большим университетским и простым базовым курсам, которых достаточно, чтобы подтянуть свои знания по математике.\n\n### Я слишком туп / глуп\n\nНа третьем месте — страх, который называется \"я слишком туп или глуп\".\nЭтот страх часто проявляется у людей, мечтающих стать программистами, у которых есть знакомые, успешно работающие в этой профессии. На фоне таких знакомых им иногда кажется, что они ничего не понимают. Просто потому, что те используют специфические термины и в каких-то вещах разбираются лучше. Чаще всего этот страх не обоснован, и, как показывает практика, есть такой интересный эффект: начинающие и опытные разработчики обладают схожей характеристикой — они себя недооценивают. Это касается и зарплаты, и знаний, и способностей. Зачастую совершенно иная ситуация со средними разработчиками, которые себя переоценивают. Поэтому, если вы себя недооцениваете, возможно, вы уже достаточно профессиональны.\n\n## Всё-таки нужно\n\n\n\nТеперь поговорим о тех вещах, которые всё-таки нужны каждому начинающему программисту.\n\n### Английский язык (хотя бы со словарём)\n\nКогда заходит речь о том, какой нужно выучить язык для освоения программирования, то большинство разработчиков скажет, что это, конечно же, английский. Здесь всё примерно так же, как и с математикой. Отсутствие английского — это не повод для того, чтобы не заниматься программированием. Если вы изучаете программирование, уровень английского у вас растёт сам по себе, хотя бы на базовом уровне. Точно так же в конце девяностых и начале двухтысячных молодые ребята, игравшие в компьютерные игры, невольно выучивали английский. Его важность нельзя недооценивать, потому что даже если вы найдёте документацию на русском языке, она будет лишь переводом с языка оригинала — английского — и, зачастую, не самым качественным. Оригинальный контент на других языках появляется крайне редко, всё в первую очередь появляется на английском.\n\nДаже если вы нашли документацию на русском, при работе со своими программами вы будете получать ошибки на английском языке, и с этим нужно будет разбираться. Более того, когда вы начинаете изучать, как решать эти проблемы и исправлять ошибки, вы будете попадать на популярные англоязычные сервисы, где, собственно, все общаются на английском. Опять же, повторимся, это не означает, что незнание английского не позволит вам начать программировать, но нужно понимать, что без английского в принципе не получится делать это профессионально, и его нужно подтягивать с вашими первыми попытками писать программный код.\n\nПервый и самый простой шаг, который необходимо сделать любому начинающему разработчику, это переключить все интерфейсы на всех устройствах и во всех программах (в том числе сайтах) на английский язык. Так вы быстрее освоите профессиональную терминологию.\n\n### Желание\n\nНу и конечно же вам понадобится очень много желания, потому что научиться программированию — не так просто, как кажется на первый взгляд. Полки книжных магазинов завалены книгами с громкими названиями наподобие: \"Выучи С++ за 21 день\". Кто-то может из этого сделать вывод, что за это время можно научиться программированию. Это не совсем так, а если уж говорить честно — совсем не так. Программирование требует от вас достаточно много времени и упорства, потому что вы будете часто сталкиваться с ситуациями, когда будет непонятно, что делать и куда двигаться, и иногда вы будете испытывать даже полную безысходность. Поэтому программирование, кроме прочего, требует наличия либо ментора, либо команды, либо онлайн-сервисов, призванных вам помочь — одному бывает сложновато. В целом всё это решаемо, и как раз успешное преодоление всех преград и будет показателем того, что у вас всё в дальнейшем получится, потому что в первую очередь, когда нанимают разработчиков, хотят видеть в людях способность разбираться с проблемами самостоятельно.\n\n### Время\n\nЕсли говорить о времени, которое понадобится вам, чтобы овладеть этой профессией — здесь всё очень индивидуально. Как мы уже говорили в самом начале урока, есть разные категории людей. Студенты и школьники, у которых много времени, могут себе позволить потратить его на обучение программированию, но обычно в этом возрасте люди еще не так хорошо понимают, что конкретно им нужно. А вот люди постарше не имеют в своём распоряжении такого количества свободного времени, зато хорошо понимают, зачем им всё это надо, и что нужно учить.\n\n## Порог снижения эффективности обучения\n\nСуществует такой феномен — снижение эффективности обучения. Что он означает?\n\nВначале вам нужно заниматься самостоятельно, потому что вас вряд ли кто-то возьмёт на работу, когда вы еще ничего не знаете, и для вас это будет достаточно эффективно, особенно если вы будете использовать современные средства, которые всячески помогают обучению. Но в какой-то момент скорость освоения предмета у вас начнет резко падать. Нужно не пропустить этот момент и устроиться на работу — тогда обучение снова станет весьма эффективным, плюс вы начнете расти уже профессионально.\n\nЕсть категория людей, которые получают второе и третье образование, продолжают бесконечно учиться — такая ситуация опасна и вредна, и главное — не попасться в эту ловушку.\n\n## Сколько нужно учиться, чтобы начать работать\n\nНельзя рассчитывать на то, что обучение займёт меньше трёх месяцев, просто потому что это физически невозможно. Даже если вы будете очень быстро учиться, всё впитывать, читать правильные книги, делать всё верно и по минимуму ошибаться, всё равно мозгу нужно какое-то время для адаптации и усвоения большого количества разных аспектов, поэтому 3 месяца — это самый минимальный крайний срок, после которого вам может повезти, и вы устроитесь совсем-совсем джуниором делать какую-то очень простую работу. В целом не стоит на это рассчитывать.\n\nПоэтому приблизительно для изучения основ программирования потребуется **от 3 месяцев до 1 года**. Больше года обучения без практики — это уже перебор. Давайте считать, что в среднем при неполной занятости, но при постоянном упорном обучении, вы сможете устроиться на должность программиста где-то через полгода после старта.\n"},"id":107,"slug":"prog-life","challenges_count":0,"name":"Жизнь программиста","allow_indexing":true,"state":"approved","course_state":"finished","pricing_type":"free","description":"На этом курсе вы познакомитесь с жизнью программиста. Вы узнаете, что значит быть программистом и как им стать. В итоге вы научитесь правильно настраиваться на достижение своих целей. Курс пригодится, если вы решили стать программистом и хотите узнать о навыках, которые нужны для этого. Знания из этого курса помогут узнать о нюансах профессии, о видах компаний и разработки.","kind":"basic","updated_at":"2026-01-20T11:42:45.518Z","language":"other","duration_cache":5220,"skills":["Ориентироваться в программном обеспечении (серверное, прикладное, системное)","Представлять себе преимущества и недостатки продуктовой и заказной разработки","Применять фундаментальные знания для решения задач"],"keywords":["языки программирования","пути карьерного роста","терминология"],"lessons_count":5,"cover":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NjYxMSwicHVyIjoiYmxvYl9pZCJ9fQ==--b77c7dceef8ae8eb0ba8266aea8ccb1208f4ae65/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJwbmciLCJyZXNpemVfdG9fZmlsbCI6WzYwMCw0MDBdfSwicHVyIjoidmFyaWF0aW9uIn19--6067466c2912ca31a17eddee04b8cf2a38c6ad17/image.png"},"recommendedLandings":[],"lessonMemberUnit":null,"accessToLearnUnitExists":true,"accessToCourseExists":true},"url":"/courses/prog-life/lessons/about/theory_unit","version":"143505ecd123087a8fdfa4acb7147980e9d23d76","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><div style="position:absolute;top:0rem" class=""></div><div style="max-width:var(--container-size-xl);height:100%;min-height:0rem" class=""><style data-mantine-styles="inline">.__m__-_R_5ub_{--grid-gutter:0rem;}</style><div style="height:100%;min-height:0rem" class="m_410352e9 mantine-Grid-root __m__-_R_5ub_"><div class="m_dee7bd2f mantine-Grid-inner" style="height:100%"><style data-mantine-styles="inline">.__m__-_R_rdub_{--col-flex-grow:auto;--col-flex-basis:91.66666666666667%;--col-max-width:91.66666666666667%;}@media(min-width: 48em){.__m__-_R_rdub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}</style><div style="min-width:0rem;height:100%;min-height:0rem;display:flex" class="m_96bdd299 mantine-Grid-col __m__-_R_rdub_"><style data-mantine-styles="inline">.__m__-_R_6qrdub_{margin-top:0rem;padding-inline:var(--mantine-spacing-xs);width:100%;}@media(min-width: 48em){.__m__-_R_6qrdub_{margin-top:var(--mantine-spacing-xl);width:80%;}}@media(min-width: 62em){.__m__-_R_6qrdub_{padding-inline:var(--mantine-spacing-xl);}}</style><div style="margin-inline:auto;max-width:var(--mantine-breakpoint-xl)" class="__m__-_R_6qrdub_"><div style="color:var(--mantine-color-dimmed)" class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:calc(0.125rem * var(--mantine-scale));color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-lock "><path d="M5 13a2 2 0 0 1 2 -2h10a2 2 0 0 1 2 2v6a2 2 0 0 1 -2 2h-10a2 2 0 0 1 -2 -2v-6"></path><path d="M11 16a1 1 0 1 0 2 0a1 1 0 0 0 -2 0"></path><path d="M8 11v-4a4 4 0 1 1 8 0v4"></path></svg></div><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Жизнь программиста</p></div><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size);margin-bottom:var(--mantine-spacing-xl)" class="m_8a5d1357 mantine-Title-root" data-order="1">Теория: Программирование как профессия</h1><script type="application/ld+json">{"@context":"https://schema.org","@type":"LearningResource","name":"Программирование как профессия","inLanguage":"ru","isPartOf":{"@type":"LearningResource","name":"Жизнь программиста"},"isAccessibleForFree":"False","hasPart":{"@type":"WebPageElement","isAccessibleForFree":"False","cssSelector":".paywalled"}}</script><div class=""><div style="--alert-color:var(--mantine-color-indigo-light-color);margin-bottom:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-lg)" class="m_66836ed3 mantine-Alert-root" id="mantine-_R_remqrdub_" role="alert" aria-describedby="mantine-_R_remqrdub_-body" aria-labelledby="mantine-_R_remqrdub_-title"><div class="m_a5d60502 mantine-Alert-wrapper"><div class="m_667f2a6a mantine-Alert-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-rocket "><path d="M4 13a8 8 0 0 1 7 7a6 6 0 0 0 3 -5a9 9 0 0 0 6 -8a3 3 0 0 0 -3 -3a9 9 0 0 0 -8 6a6 6 0 0 0 -5 3"></path><path d="M7 14a6 6 0 0 0 -3 6a6 6 0 0 0 6 -3"></path><path d="M14 9a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path></svg></div><div class="m_667c2793 mantine-Alert-body"><div class="m_6a03f287 mantine-Alert-title"><span id="mantine-_R_remqrdub_-title" class="m_698f4f23 mantine-Alert-label">Полный доступ к материалам</span></div><div id="mantine-_R_remqrdub_-body" class="m_7fa78076 mantine-Alert-message"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Зарегистрируйтесь и получите доступ к этому и десяткам других курсов</p><a style="--button-height:var(--button-height-xs);--button-padding-x:var(--button-padding-x-xs);--button-fz:var(--mantine-font-size-xs);--button-bg:linear-gradient(45deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-filled) 100%);--button-hover:linear-gradient(45deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-filled) 100%);--button-color:var(--mantine-color-white);--button-bd:none" class="mantine-focus-auto mantine-active m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root" data-variant="gradient" data-size="xs" href="/u/new"><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label">Зарегистрироваться</span></span></a></div></div></div></div></div><div style="margin-bottom:var(--mantine-spacing-xl)" class=""><div class="ratio ratio-16x9"><iframe width="100%" height="auto" src="//player.vimeo.com/video/154169610" loading="lazy" allowFullScreen="" title="video"></iframe></div></div><div class="paywalled m_d08caa0 mantine-Typography-root"><h2 id="heading-2-1">Как видят свою профессию программисты</h2>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6NjYyMiwicHVyIjoiYmxvYl9pZCJ9fQ==--ff53639dec62f2c7ed95bab28e708f24062dc220/be_a_programmer.jpg" alt="Что значит быть программистом" loading="lazy"/></p>
<p>Специально для этого урока мы провели опрос среди самых активных пользователей Хекслета и узнали, что для них значит быть программистом. Для большинства опрошенных быть программистом — значит:</p>
<ul>
<li>Создавать что-то новое</li>
<li>Изменять жизнь людей по всему миру</li>
<li>Заниматься любимым делом, за которое еще и платят</li>
</ul>
<p>Здесь нет ничего про технические навыки, математику, английский или написание программного обеспечения. Это исключительно вещи, связанные с ощущением причастности к чему-то большому; это показатель нашей профессии и того, какие люди в неё приходят. Они очень привязаны к своей работе, к тому, что они делают. Им очень хочется сделать это хорошо, поэтому в программировании ценится компетентность. Здесь делают только то, что нужно, не пытаясь срезать углы и не думая лишь о деньгах. Многие вещи, которые часто встречаются в других отраслях, здесь, как правило, отсутствуют. Конечно, бывают разные ситуации, разные коллективы, но в целом это именно та профессия, в которой очень мало случайных людей, и это очень позитивно влияет на неё.</p>
<h2 id="heading-2-2">Умственные и духовные преимущества</h2>
<p>У программирования есть и более приземленные, но не менее ценные преимущества.</p>
<h3 id="heading-3-3">Вокруг очень много по-настоящему умных людей</h3>
<p>Мы об этом уже упоминали, но вы действительно общаетесь с людьми, которые не только хорошо знают и разбираются в программировании. Существует стереотип, согласно которому программисты только и разговаривают о своей работе и ничего, кроме программирования, в жизни не понимают. Но на самом деле программисты — это очень разносторонние люди. Многие из них занимаются разными экстремальными, редкими и интересными видами спорта. Эти люди интересуются практически всеми областями жизни. Это не только точные науки, но и любые другие дисциплины: музыка, история, экономика и прочие. Существует проект под названием Coursera, на котором институты со всего мира выкладывают академические курсы, и есть множество программистов, которые проходят эти курсы по совершенно различным предметам. Это действительно здорово: вы всегда можете с ними поговорить об этом, а они с огромным удовольствием расскажут. Каждый человек в этом плане уникален и обладает большим набором знаний, достаточно широких по разному спектру вопросов. Поэтому за обедом вам никогда не придется скучать, и всегда будет что обсудить.</p>
<h3 id="heading-3-4">Работа приносит удовольствие</h3>
<p>Программирование приносит удовольствие — это тот случай, когда по-другому и быть не может. Любовь к монотонной работе с предсказуемым результатом не так важна и мало на него влияет. В программировании же она имеет огромное значение, потому что если оно вам не по душе, шансы, что у вас что-то получится хорошо, или получится в принципе — минимальны. Такая приверженность делу создает некую текучку: если программисту не нравится где-то на одном месте — он оттуда всегда уйдет. Бывает, молодые неопытные ребята иногда всё-таки терпят, но если мы говорим о профессиональных разработчиках, они никогда не будут сидеть в том месте, где им не нравится. Такое поведение влияет на всю сферу: компании делают всё, чтобы понравиться программистам и чтобы они хотели остаться в них работать. Это касается не только многообразия интересных задач, которые перед ними ставятся, но и каких-то иных, более приземленных вещей, создающих комфортные условия: уютных офисов, столовых, теннисных столов, ДМС и многих других — иногда в прямом "кулинарном" смысле этого слова — плюшек, которыми пытаются заманить программистов.</p>
<h2 id="heading-2-5">Земные радости</h2>
<p>Существуют еще обычные, можно сказать, земные радости.</p>
<h3 id="heading-3-6">Возможность работать из любого места</h3>
<p>Первая из них — это возможность работать из любого места. Под любым местом мы понимаем не только ваш город, но и вообще любую точку на планете. Некоторые компании отказываются от офисов или строят распределенный бизнес, в котором программисты работают удаленно, снижая свои экономические и иные риски. Если же у компании есть свой офис, то зачастую программистам позволяется работать так, как им удобно, в том числе и удаленно. Обязательная работа из офиса — это скорее редкое исключение.</p>
<p>Для многих программистов возможность работать из любого места — важнейшее условие, ведь даже если они решат переехать в другой город или страну, они могут остаться на работе, которая им нравится. Некоторые просто хотят работать из Таиланда — и они успешно это делают.</p>
<h3 id="heading-3-7">Возможность работать по удобному графику</h3>
<p>Программисты редко общаются с клиентами напрямую и выполняют те задачи, которые требуют непосредственно участия в бизнес-процессах. Поэтому нет никакого смысла заставлять людей соблюдать дресс-код и приходить к 9 часам на работу. А значит возможность работы по удобному (гибкому) графику — стандартный пункт в вакансиях на должность программиста. Иногда нужно быть в офисе для синхронизации с другими людьми, разговора с менеджером или участия в так называемых дейли-митингах, на которых все участники команды рассказывают о своем прогрессе и о том, на какой стадии своей задачи они находятся. Это также можно делать удаленно, но в формате встреч происходит эффективнее.</p>
<p>Большую часть времени программист работает в одиночку и в тишине. Многие программисты любят делать свою работу в тот момент, когда на работе никого нет, поэтому часто приходят либо очень рано, либо начинают свой день после полудня и остаются допоздна.</p>
<h3 id="heading-3-8">Зарплата сильно выше средней</h3>
<p>Зарплата программистов значительно выше средней, и на то есть несколько причин. Разработка представляет собой интеллектуальный вид деятельности, который требует определенных знаний, навыков и умений. Однако рынок программистов перегрет, специалистов не хватает — эта тенденция будет сохраняться еще очень долго. Мир с каждым годом становится все более технологичным: интернет проникает во все сферы жизни, мобильные телефоны и компьютеры становятся всё мощнее, а программистов не выпускается значительно больше. Более того, большинство учебных заведений не могут обеспечить необходимого уровня образования, причем это касается абсолютно всех стран. Поэтому существует множество ресурсов, дающих дополнительное образование. Повсеместно распространена следующая практика: если вы рекомендуете хорошего программиста, то вам дают чуть ли не его месячную зарплату в качестве вознаграждения. Просто представьте, в какой еще профессии существует что-то подобное.</p>
<h3 id="heading-3-9">Легко начать работать на себя</h3>
<p>Последний пункт в нашем списке, но не последний вообще. Работать на себя можно разными способами. Один из них — самый простой — это фриланс, когда вы работаете напрямую с какими-то заказчиками, а не будучи в штате компании. Фриланс имеет свои плюсы, и многие его очень любят: можно работать из любой точки планеты по удобному вам графику, разве что кроме созвонов с заказчиком, поэтому фриланс — это свобода. Представьте себе картинку: с одной стороны — люди, стоящие в пробке в Москве, а с другой — фрилансер, который лежит в гамаке где-то на Бали и делает свою работу. Это может выглядеть немного притянутым за уши, но большая доля правды в таком сравнении действительно есть. Однако при всей свободе фрилансер — человек, работающий вне системы. Если вы работаете на компанию и вы заболели или решили взять отпуск, компания оплачивает ваш больничный или перечисляет отпускные. Если же вы фрилансер, то любой простой — это деньги из вашего кармана. Поэтому принимать решение о переходе на фриланс нужно взвешенно.</p>
<h2 id="heading-2-10">Карьера</h2>
<p>И последнее, о чем мы поговорим в этом уроке — это карьера, как программисты растут и куда они уходят.</p>
<h3 id="heading-3-11">Уход в глубину (Экспертный путь)</h3>
<p>Основной карьерный путь в программировании — оставаться программистом. Он называется "уход в глубину" или "экспертный путь" — когда человек остается разработчиком, но уходит в какую-то более узкую нишу, становится всё лучшим специалистом в рамках одного направления и продолжает работать. Чем круче он становится, тем охотнее за ним охотятся компании, тем больше он может зарабатывать, тем больше его свобода и влияние на заказчиков. Этот путь выбирают большинство разработчиков. Действительно классно, что наша профессия позволяет не думать о карьерном пути, а сосредоточиться на том, что действительно важно, и просто делать свою работу хорошо и получать от этого огромное удовольствие.</p>
<h3 id="heading-3-12">Вертикальный рост (Управленец / Технический руководитель)</h3>
<p>Но это не единственный путь. Есть еще вертикальный рост, когда программист решает стать управленцем. Если он строит карьеру в техническом направлении, он становится тимлидом, затем техническим директором, и, в конце концов, VP Of Engineering (или вице-президентом по технологиям). Человек в какой-то момент начинает управлять уже разработчиками, технологиями, у него появляется какие-то административные задачи — это уже другой уровень, другая ответственность, другие деньги и для кого-то другой интерес. Есть параллельная вертикальная линия — это менеджерский путь. Много программистов действительно становятся CEO — генеральными директорами — и менеджерами среднего и высшего звена. Это тоже хороший путь, и яркий пример тому — большие компании: Microsoft, Google. Интересно, что программисты обладают теми навыками, которые важны как раз на этих позициях: системным мышлением и анализом. И если при этом у программиста есть хорошие лидерские качества, то он может легко закрепиться на одной из этих должностей, принося огромную пользу своей компании.</p>
<h3 id="heading-3-13">Собственная компания (стартап / консалтинг)</h3>
<p>Третий путь — собственная компания. И здесь есть тоже два направления: свой собственный стартап, помогающий решить какую-то проблему определенной категории людей или предоставляющий уникальный сервис, либо консалтинг — выполнение задач на заказ, то есть работа на других людей и компании. Развившись, такие компании начинают зарабатывать, растут, нанимают программистов, а их основатели становятся настоящими бизнесменами.</p></div></div></div></div><style data-mantine-styles="inline">.__m__-_R_1bdub_{--col-flex-grow:auto;--col-flex-basis:8.333333333333334%;--col-max-width:8.333333333333334%;}@media(min-width: 48em){.__m__-_R_1bdub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}</style><div style="min-width:0rem;height:100%;min-height:0rem" class="m_96bdd299 mantine-Grid-col __m__-_R_1bdub_"><div style="margin-inline:var(--mantine-spacing-xs)" class="mantine-visible-from-sm"><a style="--button-color:var(--mantine-color-white);margin-bottom:var(--mantine-spacing-lg);text-decoration:none" class="mantine-focus-auto m_849cf0da mantine-focus-auto m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses/prog-life/lessons/about/finish_unit?unit=theory" data-disabled="true" data-block="true" disabled=""><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label"><span style="margin-inline-end:var(--mantine-spacing-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Дальше</span>→</span></span></a><a style="padding-inline:0rem" class="mantine-focus-auto m_f0824112 mantine-NavLink-root m_87cf2631 mantine-UnstyledButton-root"><span class="m_690090b5 mantine-NavLink-section" data-position="left"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-list-numbers "><path d="M11 6h9"></path><path d="M11 12h9"></path><path d="M12 18h8"></path><path d="M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4"></path><path d="M6 10v-6l-2 2"></path></svg></div></span><div class="m_f07af9d2 mantine-NavLink-body"><span class="m_1f6ac4c4 mantine-NavLink-label">Навигация по теме</span><span class="m_57492dcc mantine-NavLink-description">Теория</span></div><span class="m_690090b5 mantine-NavLink-section" data-position="right"></span></a><div style="margin-block:var(--mantine-spacing-lg)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div><div style="margin-block:var(--mantine-spacing-lg)" class=""><div style="justify-content:space-between;margin-bottom:calc(0.1875rem * var(--mantine-scale));color:var(--mantine-color-dimmed);font-size:var(--mantine-font-size-xs)" class="m_8bffd616 mantine-Flex-root __m__-_R_qimrbdub_"><p style="font-size:var(--mantine-font-size-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Завершено</p><p style="font-size:var(--mantine-font-size-xs)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">0 / 5</p></div><div style="--progress-size:var(--progress-size-sm)" class="m_db6d6462 mantine-Progress-root" data-size="sm"><div style="--progress-section-size:0%;--progress-section-color:var(--mantine-color-gray-filled)" class="m_2242eb65 mantine-Progress-section" role="progressbar" aria-valuemax="100" aria-valuemin="0" aria-valuenow="0" aria-valuetext="0%"></div></div></div><button style="padding-inline:0rem" class="mantine-focus-auto m_f0824112 mantine-NavLink-root m_87cf2631 mantine-UnstyledButton-root" type="button"><span class="m_690090b5 mantine-NavLink-section" data-position="left"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-message "><path d="M8 9h8"></path><path d="M8 13h6"></path><path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12"></path></svg></div></span><div class="m_f07af9d2 mantine-NavLink-body"><span class="m_1f6ac4c4 mantine-NavLink-label">Обсуждения (архив)</span><span class="m_57492dcc mantine-NavLink-description"></span></div></button><div style="--toc-bg:var(--mantine-color-blue-light);--toc-color:var(--mantine-color-blue-light-color);--toc-size:var(--mantine-font-size-sm);--toc-radius:var(--mantine-radius-sm);margin-top:var(--mantine-spacing-xl)" class="m_bcaa9990 mantine-TableOfContents-root" data-variant="light" data-size="sm"></div></div><div class="mantine-hidden-from-sm"><div style="--stack-gap:0rem;--stack-align:stretch;--stack-justify:flex-start" class="m_6d731127 mantine-Stack-root"><a style="--button-color:var(--mantine-color-white);margin-bottom:var(--mantine-spacing-xs);padding:0rem;text-decoration:none" class="mantine-focus-auto m_849cf0da mantine-focus-auto m_77c9d27d mantine-Button-root m_87cf2631 mantine-UnstyledButton-root m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses/prog-life/lessons/about/finish_unit?unit=theory" data-disabled="true" data-block="true" disabled=""><span class="m_80f1301b mantine-Button-inner"><span class="m_811560b9 mantine-Button-label">→</span></span></a><button style="--ai-size:var(--ai-size-sm);--ai-bg:transparent;--ai-hover:var(--mantine-color-indigo-light-hover);--ai-color:var(--mantine-color-indigo-light-color);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding-block:var(--mantine-spacing-lg);color:inherit;width:100%" class="mantine-focus-auto m_8d3f4000 mantine-ActionIcon-root m_87cf2631 mantine-UnstyledButton-root" data-variant="subtle" data-size="sm" data-disabled="true" type="button" disabled=""><span class="m_8d3afb97 mantine-ActionIcon-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-list-numbers "><path d="M11 6h9"></path><path d="M11 12h9"></path><path d="M12 18h8"></path><path d="M4 16a2 2 0 1 1 4 0c0 .591 -.5 1 -1 1.5l-3 2.5h4"></path><path d="M6 10v-6l-2 2"></path></svg></span></button><button style="--ai-size:var(--ai-size-sm);--ai-bg:transparent;--ai-hover:var(--mantine-color-indigo-light-hover);--ai-color:var(--mantine-color-indigo-light-color);--ai-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding-block:var(--mantine-spacing-lg);color:inherit;width:100%" class="mantine-focus-auto mantine-active m_8d3f4000 mantine-ActionIcon-root m_87cf2631 mantine-UnstyledButton-root" data-variant="subtle" data-size="sm" type="button"><span class="m_8d3afb97 mantine-ActionIcon-icon"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-message "><path d="M8 9h8"></path><path d="M8 13h6"></path><path d="M18 4a3 3 0 0 1 3 3v8a3 3 0 0 1 -3 3h-5l-5 3v-3h-2a3 3 0 0 1 -3 -3v-8a3 3 0 0 1 3 -3h12"></path></svg></span></button></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-D8AK0-_C.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-DOv3_-Z_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>