Обо мне

Довольно часто друзья и знакомые спрашивают меня про карьеру в IT: что такое программирование, стоит ли идти в разработку, с чем придётся столкнуться? Вместо того чтобы отвечать каждому небольшими и не полными кусочками, я решил написать статью, в которой и отражу своё личное мнение, взгляд изнутри, то, что я бы сказал человеку, если бы он спросил: «А что значит быть программистом?», ничего в этом не понимая, поэтому здесь не будет сложных технических термиов, а текст, который сможет понять совершенно не подготовленный человек.

Немного про мою компетенцию. Мой путь в программировании начался почти 10 лет назад, и с тех пор я влюбился в этот мир кода и технологий. Уже в школе я самостоятельно учился, разрабатывал небольшие проекты, а в университете продолжил эксперименты, некоторые из которых даже обрели популярность в рамках вуза. Сейчас я работаю Java-разработчиком в Т-Банке, продолжаю развиваться, осваивать новые направления, например образование.

В этой статье я хочу рассказать, что значит быть разработчиком, с чем придётся столкнуться и почему программирование — это не просто профессия, а образ жизни.

Так же стоит уточнить, что статья больше про backend разработку, т.к. в других направлениях я погружён не насколько глубоко.

Введение

Программирование – это процесс создания компьютерных программ, которые автоматизируют рутинные задачи, управляют сложными системами и делают нашу жизнь проще, удобнее и надёжнее. Однако для разработчиков – это способ мышления, искусство и бесконечный процесс решения проблем.

Сегодня программирование популярно как никогда: курсы, книги и онлайн-школы обещают, что за несколько месяцев можно освоить профессию и зарабатывать хорошие деньги. Но действительно ли всё так просто?

Чтобы стать программистом, недостаточно выучить синтаксис одного языка. Это профессия, в которой вас ждут постоянное обучение, сложные задачи и неожиданные просветления. Давайте разберёмся, что значит быть программистом и чего ожидать от этой профессии.

Программист – не профессия, а образ жизни

Можно ли быть программистом с 9 до 18, а после забывать о коде? Теоретически – да, но на практике так почти не бывает. Программирование – это не просто работа, это способ мышления, который проникает в повседневную жизнь.

Вы можете искать решение проблемы за рабочим столом, но в реальности решение приходит в самые неожиданные моменты: за рулём, на пробежке, в душе или во время просмотра фильма. Вдруг, среди обычных мыслей, всплывает решение сложной ошибки или архитектурное решение. И нет, это не миф – любой разработчик подтвердит, что мозг продолжает работать над задачей даже в фоновом режиме.

Этот эффект – одновременно дар и проклятие. С одной стороны, постоянный рост и развитие, новые вызовы и чувство удовлетворения от найденного решения. С другой – сложность отключиться, возможность «застрять» в проблеме даже в выходные и во время отдыха.

Кроме того, программирование – это бесконечный путь обучения. Сегодня ты знаешь, как работает один фреймворк, а завтра выходит новая версия, которая меняет всё. Технологии устаревают за 2-3 года, и чтобы оставаться востребованным специалистом, приходится постоянно учиться. Поэтому тем, кто ищет стабильность и хочет раз и навсегда выучить один язык или инструмент, в программировании будет сложно.

Программист – это человек, который не просто пишет код, а постоянно учится, ищет новые подходы и держит все задачи в голове, даже когда ноутбук уже закрыт.

Бесконечное обучение – норма

Немного подробнее про обучение, с реальными примерами, при желании, можно прогуглить и дополнительно почитать про это. Программирование – это сфера, где знания устаревают быстрее, чем в большинстве других профессий. Если врач, изучив анатомию человека, может применять эти знания всю карьеру, то программист, выучив язык или фреймворк, через пару лет может обнаружить, что его знания уже устарели.

Например, когда-то jQuery был стандартом для веб-разработки, а сегодня его практически не используют. AngularJS сменился на совершенно другой Angular, а популярные языки программирования, такие как Python или Java, регулярно получают изменения, которые заставляют адаптироваться даже опытных разработчиков.

Поэтому программистам приходится учиться: читать статьи, смотреть доклады, изучать новые технологии и пробовать их в проектах.

В программировании нет точки, когда можно сказать: «Я всё выучил».

Как учиться?

  • Читать официальную документацию – это главный источник правды (хоть и не самый любимый, особенно для начинающих разработчиков).

  • Следить за сообществами – Reddit, Stack Overflow, Telegram-чаты, конференции помогают оставаться в курсе.

  • Пробовать новое – экспериментировать с новыми языками и фреймворками.

  • Разбирать чужой код – изучать open-source проекты, читать код коллег.

Бесконечное обучение – это не недостаток, а часть профессии. Если вам нравится разбираться в новом, пробовать разные подходы и расти как специалист, программирование станет для вас не работой, а увлекательным путешествием.

На собственном опыте могу сказать, что участие в различных IT конференциях, как спикером, так и слушателем, общение с коллегами из разных IT-компаний — это не только полезно, но и очень интересно.

Soft Skills: Почему разработчику нужны не только технические знания

Когда говорят о программистах, часто представляют людей, которые целыми днями пишут код, сидят в худи с капюшоном и практически ни с кем не общаются. Да, такие и правда бывают, но это уже давно устаревший стереотип. На самом деле хорошему разработчику нужны не только технические навыки (hard-скиллы) — софт-скиллы (это по сути то, насколько хорошо ты умеешь коммуницировать с людьми) играют не менее важную роль.

  1. Умение работать в команде
    Разработка — это почти всегда командная работа. Даже если ты пишешь код в одиночку, тебе всё равно придётся взаимодействовать с заказчиками, коллегами, тестировщиками или аналитиками. Способность слушать, понимать задачи, договариваться и объяснять свои решения — залог эффективной работы.

  2. Коммуникация
    Код должен быть понятным не только тебе, но и тем, кто придёт после. Умение объяснить свою точку зрения, написать понятную документацию или просто сформулировать проблему так, чтобы её быстро поняли коллеги, значительно облегчает работу.

  3. Критическое мышление и адаптивность
    Технологии меняются, а вместе с ними и подходы к разработке. Важно уметь анализировать, почему что-то работает именно так, а не иначе, уметь учиться и адаптироваться к новым условиям. Что касается критического мышления, представьте, вы просыпаетесь в 3 часа ночи от звонка начальника, который говорит, что сервис сломался и компания теряет 100.000 рублей каждый час простоя. Сумеете ли вы быстро погрузиться в проблему, оставаясь спокойным и сосредоточенным? А если бы это произошло по вашей вине? Вы бы справились с такой ответственностью?

  4. Тайм-менеджмент и ответственность
    Разработчик — это не только про написание кода, но и про работу с дедлайнами, задачами, приоритетами. Умение правильно распределять своё время, оценивать сроки и отвечать за результат — важные навыки для любого профессионала.

Софт-скиллы — это то, что отличает просто хорошего кодера от сильного разработчика. Технические навыки можно прокачать, но без общения, критического мышления и умения работать в команде двигаться вперёд будет сложно.

Что делает программист?

Разработчик – это не просто человек, который пишет код. Его работа включает множество задач, требующих широких знаний и навыков.

Основные процессы в работе программиста:

  1. Анализ требований
    Программист должен понимать, какую проблему решает его код. Это работа с заказчиком, аналитиками и менеджерами.

  2. Проектирование архитектуры
    Как будут взаимодействовать модули? Какие технологии выбрать? Как сделать код масштабируемым? Стоит ли пожертвовать памятью ради скорости и т.п.

  3. Написание кода
    Использование языков программирования, паттернов проектирования, лучших практик.

  4. Отладка и исправление ошибок
    Код не бывает идеальным, баги – часть процесса. Программист анализирует ошибки, находит причины и исправляет их. Часто, поиск багов занимает больше времени, чем полное переписывание небольшего модуля, но это часть работу, от этого не уйти.

  5. Тестирование
    Написание Unit-тестов, интеграционное тестирование, работа с автоматизированными тестами.

  6. Оптимизация кода
    Уменьшение времени выполнения, оптимизация потребления памяти, работа с базами данных.

  7. Работа с системой контроля версий Git
    Создание коммитов, веток, работа с pull-request’ами и код-ревью.

  8. Документирование кода
    Написание комментариев, API-документации, гайдов для коллег.

  9. Взаимодействие с командой
    Обсуждения решений, участие в митапах, написание документации и обучение новичков.

И это лишь небольшая часть того, что пришло мне в голову за 10 минут, на самом деле этот список намного больше.

5. Разработчик vs другие IT-специалисты

В IT есть множество профессий, но разработчик отличается тем, что он создаёт программные продукты. Давайте поверхностно разберёмся, чем он отличается от других специалистов.

Роль

Основная задача

Разработчик

Пишет код, проектирует архитектуру, создаёт ПО.

Тестировщик (QA)

Проверяет ПО, ищет баги, пишет тест-кейсы.

Системный администратор (DevOps)

Настраивает сервера, деплой, CI/CD.

Бизнес-аналитик

Собирает требования, описывает логику продукта. (важно сказать, что аналитиков существует огромное количество, у них разные зоны ответственности и соответсвенно разные обязанности)

UX/UI-дизайнер

Проектирует интерфейсы, делает их удобными.

Data Scientist

Анализирует данные, строит модели, работает с нейросетями.

Разработчик может пересекаться с другими ролями, но его главная задача – создание программного обеспечения.

Также программисты делятся по направлениям:

  • Фронтенд-разработчики – делают пользовательские интерфейсы.

  • Бэкенд-разработчики – отвечают за логику и серверную часть.

  • Мобильные разработчики – создают приложения для iOS/Android.

  • Embedded-разработчики – пишут код для микроконтроллеров и IoT (умный дом).

В зависимости от специализации, задачи могут различаться, но суть остаётся одной: программисты превращают идеи в работающий продукт.

Плюсы и минусы из личного опыта

Программирование — это увлекательная и перспективная сфера, но, как и в любой профессии, здесь есть свои плюсы и минусы. Немного подытожим всё сказанное и добавим личный опыт.

Плюсы

  • ✅ Лояльность со стороны работодателя
    Хорошие специалисты ценятся, и компании готовы идти на уступки, что бы их удержать: гибкий график, бонусы, профессиональное развитие.

  • ✅ Высокие зарплаты
    Спрос на разработчиков продолжает расти, а зарплаты остаются одними из самых конкурентных на рынке.

  • ✅ Комфортные условия
    Современные IT-компании предлагают удобные офисы, страховку, компенсацию обучения, спортзал и другие приятные бонусы. Например у меня в компании включены бесплатные завтраки и обеды, спортзал, ДМС, и множество других плюшек для сотрудников. Самое забавное - за то, что я могу начинать рабочий день с 6 до 11, я получаю 3 дополнительных дня отпуска в год, которые даже можно обналичить, т.к. это считается не нормированным графиком.

  • ✅ Интересная работа
    Решение сложных задач, создание новых продуктов, работа с передовыми технологиями — всё это делает разработку захватывающей.

  • ✅ Удалёнка и гибрид
    Возможность работать из дома или чередовать офис с удалённой работой — ещё один плюс, который многие ценят. Хотя иногда из-за этого теряется WorkLife Balance, но это тема для отдельной статьи.

Минусы

  • ❌ Ненормированный график
    Что только что было плюсом, может стать и минусом. Даже если у вас есть гибкость в завершении рабочего дня (сделать все задачи и уйти на час пораньше), будьте готовы, что в выходной или ночью вам могут позвать чинить продакшен, если что-то сломается. Хоть такое случается и редко, но знать об этом нужно.

  • ❌ Высокая конкуренция среди начинающих
    IT привлекает многих из-за перспективных зарплат, поэтому получить первую работу бывает сложно. Много кандидатов, мало джуновских/стажёрских вакансий — придётся сильно постараться.

  • ❌ Бесконечное обучение
    Технологии устаревают, инструменты меняются, и если вы не готовы постоянно учиться, профессия быстро перестанет быть комфортной.

  • ❌ Монотонность и выгорание
    Хотя разработка — это творчество, в реальности бывают рутинные задачи, долгий дебаг, технический долг. Периоды высокой нагрузки могут привести к выгоранию. Вспоминается исследование, согласно которому, более 50% IT специалистов сталкивались с сильным выгоранием.

  • ❌ Высокая ответственность
    Ошибка в коде может привести к финансовым потерям компании или сбою системы. Чем выше уровень, тем больше ответственности.

Что нужно знать, чтобы стать хорошим разработчиком?

Чтобы не просто «писать код», а стать профессионалом, необходимо разбираться в основах компьютерных наук:

  1. Знание языка - безусловно самое важное, без этого, дальше двигаться не получиться, как бы вы не хотели.

  2. Алгоритмы и структуры данных - нужно грамотно хранить и работать с данными, нужно знать, когда лучше применить тот или инной алгоритм, что бы максимально ускорить работу программы.

  3. Принципы работы компьютеров

    • Как работает память?

    • Что такое кеширование?

    • Как процессы взаимодействуют с ОС?

      Без этого, многие вещи будут казаться магией, например, почему 2147483647 + 1 = -2147483648

  4. Работа с базами данных - 99% приложений работают с данными, а их нужно где-то хранить, тут и используются базы данных (SQL, индексы, транзакции, нормализация).

  5. Операционные системы - Для начала, хотя бы базовое умение работать с командой строкой и файловой системой.

  6. Сетевые технологии - Пользователю нужно как-то взаимодействовать с вашим приложением, для этого используются сетевые технологии: HTTP, WebSockets, TCP/IP и т.п.

  7. Практические навыки - Установить среду для запуска приложения, уметь развернуть приложение в Docker, настроить CI/CD и мониторинг - всё это не пригодиться в начале пути, но по мере вашего погружения, это довольно быстро понадобиться.

  8. Английский язык - Вся документация, статьи и форумы – на английском, даже для того, что бы дать переменной хорошее имя, нужен английский. Без него в IT тяжело.

Вывод

Программирование – это не просто работа, а образ жизни. Это постоянное развитие, новые вызовы и поиск решений даже в неожиданные моменты.

Стоит ли идти в программирование? Если вам нравится логика, творчество, работа с технологиями и постоянное развитие – однозначно да. Но если вы ищете лёгкий путь к высоким зарплатам, то эта сфера может разочаровать. Хороший разработчик тратит годы на обучение, но получает невероятное чувство удовлетворения, когда его код начинает работать, а сложная задача оказывается решённой.

Если вы готовы учиться, разбираться в сложных вещах и принимать вызовы – добро пожаловать в мир программирования!

Буду рад вашим отзывам и рекомендациями к статье!

Комментарии (13)


  1. monpa
    16.02.2025 18:52

    уходи


  1. anonymous
    16.02.2025 18:52


  1. ogbozoyan
    16.02.2025 18:52

    В целом хорошая статья, чтобы отвечать на вопрос родственников куда посоветуешь идти в этом АЙТИ


  1. fedorob
    16.02.2025 18:52

    классная статья, спасибо! всё по полочкам)


  1. voidinvader
    16.02.2025 18:52

    HabrGPT.


  1. dan_sw
    16.02.2025 18:52

    Немного непонятно, что же всё таки такое "бесконечное обучение"?

    Бесконечное обучение – норма

    Бесконечное обучение – это не недостаток, а часть профессии.

    (Минусы) ❌ Бесконечное обучение

    Норма это, недостаток или часть профессии? :) Позиция автора по данному вопросу тут не ясна.

    На собственном опыте могу сказать, что участие в различных IT конференциях, как спикером, так и слушателем, общение с коллегами из разных IT-компаний — это не только полезно, но и очень интересно.

    Сейчас участие в IT конференциях очень дорогостоящее мероприятие, в котором вы платите львиную долю за бренд, а не за какие-то умные технически глубокие доклады, коих на таких конференциях становится всё меньше. Часто доклады паразитируют на общем хайпе какой-либо темы (микросервисы или GPT, например), не рассказывая принципиально ничего нового и действительно интересного. Нетворкинг - это хорошо, как и любое взаимодействие с сообществом разработчиков, но современные IT конференции это скорее про индустрию развлечений, только развлекаются специалисты из разных областей IT, не более :)

    Софт-скиллы — это то, что отличает просто хорошего кодера от сильного разработчика.

    С этим я не согласен. Кодер, программист и разработчик - это практически одно и тоже. Как ты можешь написать код (кодер), без знания архитектуры, концепции, алгоритмов своего будущего решения? Под диктовку что ле? :) Меня всегда удивляло, что под определением "кодера" люди, в большинстве случаев, понимают человека, который "просто пишет хороший код". Но как он это делает? Да точно также, как и "программист" или "разработчик" - вкладываясь в решение алгоритмов, построения концептуальных моделей, абстракций, архитектуры решения. Иначе просто нельзя написать какую-либо программу или сложный алгоритм, чем кодеры (разработчики, программисты) и занимаются.

    "Кодеры" в своё время, писали такие сложные программы и алгоритмы, которые редкий "разработчик" сейчас сможет хотя бы спроектировать, не говоря уже о написании кода :)

    С кавычками я написал термины, которые в большинстве случаев трактуются по разному.

    Основным отличием бы современного разработчика от кодера и программиста я бы назвал необходимость вникать в детали своего проекта, которые никак не связаны непосредственно с написанием программного кода, а именно:

    1. Разработка дизайна клиентского приложения (выполнение части роли дизайнера). Часто разработчику приходится заменять роль дизайнера или совместно с ним работать, чтобы связать высокоуровневые функции своего приложения с интерфейсом;

    2. Более тесное взаимодействие с бизнесом в целом. Например, разработчик может помочь в формировании технических или функциональных требований к разрабатываемому ПО заказчику;

    3. Составление подробной технической документации проекта (программы, приложения).

    Также разработчик, в основном, работает над высокоуровневыми задачами, которые не требуют большого углубления в сложные технические концепции и алгоритмы. Иными словами "для решения задачи A, я использую библиотеки, пакеты и фреймворки B, C и D, чтобы не решать задачу своим способом (т.к. на это будет тратится больше времени)". Ну и работать над низкоуровневым кодом (с ассемблером, например) разработчику не обязательно (да и приходится крайне редко, если вообще никогда). Ему достаточно поверхностных знаний о своём языке программирования (коих может быть много) и использовании фреймворков наподобие Nest.js, Spring, Laravel, Django, Angular, Vue.js, TensorFlow, PyTorch и прочие, которые упрощают разработку донельзя (превращая разработку ПО в конструирование высокоуровневых и абстрактных элементов). Если выражаться в современных терминах, то это типичный fullstack разработчик, в моём понимании :)

    Также программисты делятся по направлениям

    Собственно, даже автор термин "программист" употребляет в главе про "разработчиков", что совершенно нормально.

    • Фронтенд-разработчики – делают пользовательские интерфейсы.

    • Бэкенд-разработчики – отвечают за логику и серверную часть.

    • Мобильные разработчики – создают приложения для iOS/Android.

    • Embedded-разработчики – пишут код для микроконтроллеров и IoT (умный дом).

    Вот такое типичное разделение по направлениям не даёт даже общего представления о них.

    Фронтенд - это далеко не всегда про "делать пользовательские интерфейсы". Это не всегда про веб-приложения, веб-сайты, HTML и JavaScript. Фронтенд это куда больше. Например, в LLVM тоже есть свой фронтенд, который гораздо сложнее чем "делать пользовательские интерфейсы" (в контексте типичных задач). Или в Android SDK есть тоже свой фронтенд. У различных библиотек, пакетов и фреймворков есть также свой фронтенд (Django, Angular, Laravel и прочее - тоже обладают этой частью). Да даже в DirectX есть свой фронтенд, который можно использовать для написания графических движков. Было бы прекрасно, если бы автор раскрыл каждое направление более подробно (а не просто так, как принято делить специальности программистов в бизнесе (очень поверхностно)).

    В целом, я бы в этот список добавил игровых разработчиков, потому что у них может быть на одном проекте намного больше программирования (именно написание сложного программного кода без высокоуровневых фреймворков и прочих "конструкторских обёрток"), чем во всех перечисленных автором направлениях вместе взятых. Там есть также свои фронтенды и бэкенды. Например, есть отдельная специализация - графический программист. Или программист физических, звуковых, графических движков. Это очень крутые специализации в которых программирования очень много (за что они мне сильно импонируют). Или разработка читов - это вообще наиинтереснейшая область, которая связана с реверс-инжинирингом (который, кстати, можно сюда также включить в виде отдельной специализации).

    Также можно добавить сюда машинное обучение, потому что это тоже программирование, как и анализ данных. Без написания программного кода модель не обучишь и данные быстро не проанализируешь :) Всё это относится к разработчикам, программистам или кодерам одновременно.

    Чтобы не просто «писать код», а стать профессионалом, необходимо разбираться в основах компьютерных наук

    Чтобы "просто писать код" нужно, как минимум, разбираться в выбранном своём языке программирования. Изучение компьютерных наук уместно тогда, когда твои задачи начинают расти в свое сложности. Например, появилась задача разработать свой протокол прикладного уровня или драйвер. Для этого, естественно, нужно отправляться и изучать теорию о драйверах, работе ОС и низкоуровневом программировании. Однако, когда ты разрабатываешь веб-приложения и простой бэкенд (разработчик) нужен ли тебе такой бэкграунд? Умные люди уже придумали кучу готовых решений, а тебе остаётся лишь всё собрать в один большой конструктор. При этом редкий специалист усомнится, что его тимлид, техлид или fullstack-разработчик чего-то там не профессионал, потому что не знает основы компьютерных наук.

    Тут нужна личная глубокая мотивация изучать компьютерные науки и разбираться в её тонкостях. В современном мире стать профессионалом или, по крайней мере, им казаться можно и без основ компьютерных наук. Однако поверхностность знаний может ограничивать действия разработчика и он рано или поздно прийдёт к тому, что ему необходимо подтянуть свои знания в каких-то областях. Компьютерные науки необязательны, чтобы стать профессионалом, но их знание и участие в их развитии дают более фундаментальные знания и понимание об устройстве разработки ПО любого уровня (от драйверов, до веб-приложений).

    Хороший разработчик тратит годы на обучение, но получает невероятное чувство удовлетворения, когда его код начинает работать, а сложная задача оказывается решённой.

    Совсем необязательно. Разработчик может потратить годы на обучение и относится к своей работе как к работе, а не идеологической концепции "программирование как образ жизни". И быть при этом хорошим разработчиком, основная мотивация которого работать в своей сфере - зарабатывание больших денег (крупные зарплаты или свой бизнес). И такие специалисты могут быть более технически подкованными чем те, кто в разработку пришёл ради идеи (у каждого эта идея своя). Я такие примеры знаю лично. В общем, стремление к быстрому заработку (или просто большому заработку) через становление разработчиком (хорошим или плохим покажет время) - тоже вариант и далеко не всегда плохой :) Главное отдавать себе отчёт в том, что вы делаете и чего хотите (мотивация, план). Тогда, возможно, через кучу времени просто работа с большой зарплатой станет ещё и привлекательной концепцией, идеей "программирование как образ жизни". А может и не станет, что тоже совершенно нормально.

    Навязывать (пусть не явно) идеализацию программирования не стоит. У каждого здесь свой путь. Кто-то осуждает "вкатунов" (вместо того, чтоб пойти и написать свою технически сложную программу или сделать свой крутой проект), кто-то продвигает в массы идею о "чистом коде", а кто-то идеализирует о программировании и мечтает добиться успехов известных всем людей из данной отрасли. У всех свой путь и свои причуды. Зарабатывать кучу денег в IT тоже норма и неплохая. И зарабатывают много не только хорошие разработчики, но и нормальные разработчики. Да и плохие тоже :)

    Я бы сказал, что в статье есть много шероховатостей и куча поверхностных вещей, которые до самого конца статьи не были раскрыты. Если бы статья была более содержательной, от этого выиграли бы все - и читатели (особенно новички), и сам автор (статья бы приобрела много "плюсов"). А в текущем её виде она не особо отличается от других подобных ей статей, где всё рассматривается также поверхностно, не раскрывая тему достаточно глубоко, чтобы появилось ясное понимание что и как тут у нас в IT устроено.

    Таких статей в интернете полно (подобное написать очень просто), попробуйте её улучшить и сделать "той самой", которая углубиться в эту тему и даст читателю понять многие её аспекты (вот это уже сложно и таких статей немного) в развёрнутом виде.


    1. SeveR31
      16.02.2025 18:52

      Когда ответ на статью длиннее самой статьи.
      К вашим комментариям для по тех блокам я бы ещё чисто структурных накинул:
      1)Вообще к любой такой статье для "тех-кто-не-с-нами",т.е не знаком с жаргоном айтишников, надо бы добавлять глоссарий, по которому несведующий человек поймёт, что за скиллы, гит и тому подобное.
      2) Надо бы приложить какую-то условную кривую обучения, хотя бы на основе своего опыта. А то так непонятно, в какой момент пути разработчиков разных мастей расходятся(и одинаковы ли они вообще) или как попасть в нужную сферу, чтобы не стать фронтендером вместо ML-щика.
      3) Надо бы осветить "Обычный день Java-разработчика в Т-банке", потому что из текста понятны обязанности, но нет никакого объяснения, что будет из себя представлять монотонность и от чего ты будешь выгорать :)
      4) Я бы докинул информацию по грейдам и по градациям в рамках одной сферы, т.к очевидно, что джуну расписывать архитектуру и право выбора технологий никто адекватный не даст. А то по статье выглядит, будто ты придешь в компанию и тебе на первом созвоне впихнут покер-планирование задач на след спринт и декомпозицию системы.
      Ну и много тех загрузки в статье, особенно если она является обзорной на профессию.


    1. Emelian
      16.02.2025 18:52

      Норма это, недостаток или часть профессии? :) Позиция автора по данному вопросу тут не ясна.

      Ну, это как на собеседовании, при приёме на работу: «Соискательницу спрашивают: – Ваши достоинства? – Безотказная. – Ваши недостатки? – Не могу отказать!».


  1. everis
    16.02.2025 18:52

    7 класс - меньше 10 лет назад?

    Школа, универ ... итого рабочего стажа в разработке 1-2 года на текущий момент?

    Рановато озвучивать плюсы и минусы, давать рекомендации и прочее.

    Вот пройдет хотя бы еще лет 10 - тогда и попробуйте уже.


  1. BodryDi
    16.02.2025 18:52

    здесь не будет сложных технических термиов, а текст, который сможет понять совершенно не подготовленный человек

    Фреймворк, jQuery, git, пулреквест, деплой... Неподготовленного такой набор неизвестных терминов, точно запутает от отпугнет от ИТ сферы.

    Не стоит забывать в что в нашем мире разрабатывают не только ПО, от того разработчик === программист. В свою очередь процесс описания Архитектуры ПО (схемы документация без строчки кода) это тоже непосредственно участие в Разработке ПО. Программирование же ПО это лишь один из видов деятельности разработки ПО.

    Хорошо бы упростить описание некоторых терминов, а некоторые технические блоки можно безболезненно убрать


  1. Emelian
    16.02.2025 18:52

    Мой путь в программировании начался почти 10 лет назад
    статья больше про backend разработку, т.к. в других направлениях я погружён не насколько глубоко

    А я вот уже «почти 10 лет» жду, когда под программированием начнут понимать не только веб-программирование и веб-технологии, но и «обычное» десктопное программирование. Хочется уже почитать статьи на Хабре больше про разработку, чем про тестирование, про С++, чем Java. Хоть самому пиши статьи на эту тему… :)


    1. everis
      16.02.2025 18:52

      Из кирпича строить долго, дорого и невыгодно.

      Панельки шаблонные лепить гораздо проще и быстрее. Сговнякал - и вот ты уже импортозамещаешь вовсю.


  1. kekoz
    16.02.2025 18:52

    Вообще статья больше похожа на восторженный писк неофита, чем на речи зрелого специалиста. А за 10 лет можно было уже и созреть. Расти пора, парень :)

    Для начала предлагаю усвоить очень простую вещь: всякий программист — разработчик, но далеко не всякий разработчик — программист. Пример, чтобы понятнее было, о чём я: сын моего друга работает в модной геймдев-студии. Является ли он одним из разработчиков их игр? Да, безусловно, он имеет самое прямое отношение к созданию персонажей этих самых игр. Является ли он программистом? Нет, ничуть, ни на йоту — он никогда в жизни не написал ни строки кода, знать не знает, как это делается, он художник, он рисует персонажей этих игр. Рисует буквально — карандашами и фломастерами на бумаге. Даже оцифровка этих рисунков во всякие там спрайты, “вектора”, гифы и прочую цифру — вообще не его забота, для этого там есть другие разработчики, которые тоже, кстати, ни разу не программисты.

    Короче, эти термины совершенно не взаимозаменяемы. Когда ты говоришь “программист”, более или менее (тоже есть нюансы) понятно, что ты имеешь в виду. Но когда ты говоришь “разработчик”, ты говоришь о сферическом коне в вакууме, который к коду может не иметь ни малейшего отношения.