Хекслет
7.82K subscribers
4.09K photos
43 videos
2.75K links
Программы обучения Хекслета - https://ru.hexlet.io/courses
Бот навигатор по ресурсам Хекслета - @HexletLearningBot
Открытое сообщество студентов (более 8000 человек) - @hexletcommunity
Наша группа VK: https://vk.com/hexlet
Download Telegram
Для многих начинающих разработчиков ошибки в коде могут выглядеть как набор непонятных символов. Однако это не оценка ваших способностей, а всего лишь сообщения от системы, которые нужно научиться читать. Предлагаем вам последовательный подход к их анализу.

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

🔷 Практические шаги для анализа
Когда вы сталкиваетесь с ошибкой, не поддавайтесь желанию угадать причину. Вместо этого действуйте системно. Начните с самого начала сообщения об ошибке: именно в первой строчке обычно содержится ключевая информация о причине проблемы.

Далее обратите внимание на название ошибки: такие термины, как SyntaxError, TypeError или undefined is not a function, уже сами по себе являются ценной подсказкой, которая значительно сужает круг поиска.

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

🔷 Стратегия работы со сложными ошибками
Если локализовать проблему не удается, примените метод декомпозиции. Разбейте свой код на небольшие функциональные блоки и проверяйте их по отдельности. Такой подход позволяет изолировать проблемный участок и значительно упрощает диагностику.

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

Telegram | YouTube | Сообщество
5👍2
Сегодня разберем важный аспект обучения, который часто вызывает сомнения, – возврат к пройденному материалу.

Многие начинающие специалисты воспринимают необходимость пересмотреть старый урок как признак неудачи: «Значит, я не разобрался», «Я отстаю от других» или «Это шаг назад». Однако такой подход ошибочен.

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

🔹 Конкретные преимущества осознанного повторения
Главное преимущество такого подхода – быстрое закрытие пробелов в знаниях. Концепция, на изучение которой ранее требовались часы, может быть усвоена за несколько минут благодаря появившемуся опыту. Это не просто повторение, а качественно новый уровень понимания.

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

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

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

Telegram | YouTube | Сообщество
9🎄3👍1💯1
Перед тем как погрузиться в учебу или работу, многие из нас проходят через короткие, почти незаметные действия – ритуалы, которые помогают «переключиться» из состояния рассеянности в режим концентрации.

Они могут казаться простыми или даже странными со стороны, но именно они дают сигнал мозгу: «Сейчас начинается рабочее время».

У кого-то это – обязательное закрытие всех лишних вкладок в браузере: чистый экран как метафора чистого ума. Кто-то сначала заваривает чай или кофе, превращая первые глотки в условный стартовый сигнал. Другие начинают с того, что наводят порядок на столе – не ради порядка как такового, а чтобы создать ощущение готовности. А для кого-то достаточно одного глубокого вдоха с фразой про себя: «Я в процессе».

Эти ритуалы не требуют времени, но работают как якоря. Они отделяют «до» от «после», помогают сбросить прокрастинацию и мягко перевести внимание в нужное русло. Их сила – не в магии, а в последовательности и личном значении.

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

Telegram | YouTube | Сообщество
6🔥3
Когда вы только делаете первые шаги в программировании, легко застрять на самом первом перекрестке: «А какой язык учить?».

Кажется, что от этого решения зависит все: карьера, доход, возможность вообще попасть в индустрию. Звучат рекомендации, рейтинги, обсуждения вроде «Python – будущее» или «Без JavaScript – никуда». И от этого давления можно и не начать вовсе.

Но правда гораздо проще: язык программирования – это инструмент, а не приговор.

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

Поэтому вместо вопроса «Какой язык самый перспективный?» стоит задать себе другой:

«Что мне хочется делать?»

Если вы хотите видеть, как на экране появляются кнопки, формы, анимации, как оживают страницы, – начинайте с JavaScript. Он лежит в основе веба и дает быструю обратную связь: написали код – увидели результат в браузере.

Если вас привлекает идея автоматизировать рутину: парсить сайты, управлять файлами, создавать телеграм-ботов или анализировать данные, – Python станет отличным стартом. Он лаконичен, дружелюбен к новичкам и невероятно универсален.

Если вы мечтаете о создании игр – особенно 2D или мобильных, – обратите внимание на C# в связке с движком Unity. Эта среда уже много лет остается одной из самых доступных для входа в геймдев.

А если вам интересно, как устроены компьютеры «под капотом»: как работают память, процессор, операционные системы, – попробуйте C или Rust. Но будьте готовы к тому, что путь здесь сложнее, и прогресс может быть медленнее. Зато он дает глубокое понимание основ.

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

Поэтому не ищите «лучший» язык. Ищите тот, с которым вам захочется сесть за компьютер сегодня и написать первую строчку. Именно с него и начнется ваш путь.

Telegram | YouTube | Сообщество
6👍4😁2
Когда вы только начинаете учиться программированию, советы вроде «сделайте что-нибудь для портфолио» могут звучать как требование сдать экзамен. Но на самом деле первые пет-проекты – это не про впечатление на рекрутеров и не про идеальный код на GitHub. Это про нечто гораздо более важное: ощущение, что вы можете создать что-то свое.

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

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

🔷 Мини-ассистент новичка
Представьте: вы вводите текст ошибки, а программа отвечает простым языком: «Это обычно бывает, когда забыл закрыть кавычку».

Ни ИИ, ни сложных алгоритмов – только заранее составленные пары «ошибка → объяснение». Но когда вы запустите это впервые, почувствуете: «Я сделал помощника. Своего собственного».

🔷 «Что учить сегодня?»
Приложение, которое ежедневно предлагает одно крошечное задание: выучить одну функцию, разобрать один термин, решить микрозадачу.

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

🔷 Музыкальный «режим фокуса»
Простое приложение, которое подбирает плейлист в зависимости от времени суток: бодрящий утром, спокойный вечером. Можно начать даже с одной кнопки, которая случайным образом открывает один из ваших любимых треков.

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

🔷 Утреннее письмо
Маленькое приложение, которое по нажатию кнопки генерирует легкие вопросы на день:
– «Что я хочу понять сегодня?»
– «Какая маленькая, но реальная цель у меня есть?»


Это удивительно помогает начать день с ясности и с ощущения, что вы сами управляете своим обучением.

А теперь – чуть смелее. Эти проекты все еще доступны даже на первой сотне часов практики, но уже дают ощущение «настоящей» разработки.

🔷 Галерея собственных проектов
Сайт, на котором вы красиво показываете то, что уже сделали. Не шаблон, не копия, а именно ваша верстка, ваша структура и ваш текст.

Это и есть первое настоящее портфолио – не ради HR, а ради вас самих. Чтобы видеть: «Да, я уже кое-что умею».

🔷 Навигатор ошибок
Вы вставляете текст ошибки и получаете подсказку, где искать решение: «Проверь синтаксис в строке X», «Загляни в документацию по Y», «Попробуй перезапустить сервер».

Работа над таким проектом резко повышает ваше понимание того, как устроены отладка и поиск информации.

🔷 Мини-лаборатория экспериментов
Пространство, где вы храните короткие фрагменты кода – те, что хотите проверить, потыкать, переделать. Это ваша песочница. И чем больше вы учитесь, тем живее она становится. Проект растет вместе с вами.

И самое главное.
Пет-проект – это не экзамен и не долг. Это возможность поиграть.

Вам не нужен идеальный дизайн. Не нужен продуманный архитектурный паттерн. Не нужно оправдывать проект перед кем-то.

Делайте маленькое.
Но свое.

И однажды, открыв свою папку с проектами или профиль на GitHub, вы неожиданно поймёте: «Кажется… я правда начал понимать, как это все работает».

Telegram | YouTube | Сообщество
🔥96👍1
Готовимся к деплою :)

Сегодня на Хекслете будет обновление, которое затронет самую главную часть Хекслета - процесс прохождения курсов. Чтобы сюрприз был не слишком неожиданным, расскажем об этом подробнее.

Коротко что меняется:

⁃ Улучшения в отрисовке контента, блоки кода теперь легко копировать, а там где несколько примеров на разных языках, все будет показываться в удобных вкладках (технически реализовано, осталось поправить в самих курсах, например, алгоритмах)
⁃ Редактор Хекслета стал встроен прямо в интерфейс сайта, что дало переключение тем, общую и унифицированную навигацию
⁃ Редактор стал более отзывчивым на мобилках, станет удобнее не только писать код, но и запускать проверки
⁃ Подсматривание решения учителя переехало в просмотр сохраненного кода. Плюс просмотр решения учителя не помечает упражнение как пройденное. Его все равно надо пройти. Так, появляется возможность подсмотреть но не копировать напрямую, а закрыть решение и попробовать вопроизвести его самостоятельно. В целом подсматривать стало чуть сложнее, но здесь и не должно быть легко :) Мы за самостоятельное решение
⁃ Больше не нужно вступать в курсы (те из которых состоят программы), все происходит автоматически от начала обучения и до конца. Это большое изменение (с кучей сложных технических моментов), которое приближает нас к тому, что все обучение на Хекслете становится унифицированным. Сами курсы (не путать с программами) постепенно начинают везде называться темами, по аналогии с тем как это принято во многих образовательных программах. Итого у нас есть программы обучения (или по простому курсы), которые состоят из тем, которые в свою очередь состоят из уроков. Навигация по темам и отслеживание завершенности теперь работает через модалку по клику на тему в разных частях сайта.

И десятки других изменений в разных местах системы. Мы много работали над упрощением всего проекта (тот самый технический долг) и переводу на новую технологическую платформу фронтенда. С внешней стороны это выглядит как изменение дизайна. В любом случае мы ожидаем много фидбека и запасли будущую неделю на фиксы -)

Почему вообще так активно начало все меняться последнее время? Довольно долго ядро Хекслета не менялось никак. Лет 6, а то и больше. За это время много чего изменилось и рынок и технологии и требования к проекту. Мы попали в ловушку, когда функциональности стало больше чем мы можем переварить (в период бурного роста) плюс появилось много задач связанных с интерактивным фронтентом, например то же внедрение ИИ, но в текущей схеме это сделать было неудобно. Примерно год назад мы приняли решение полностью отказаться от классической серверной шаблонизации (Rails + HAML + Bootstrap) и полностью перейти на React + Typescript + Inertia.js + Mantine (React Component Library). React у нас был еще с 2013 года, но в виде виджетов (нотификации, обсуждения, редактор и т.п.).

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

Что в итоге это даст? Mantine содержит гораздо больше готовых компонентов чем Bootstrap, сразу упакованных в React. Нам проще собирать интерфейсы из готовых кусков, с большим числом возможностей. Начиная от визуальных эффектов, заканчивая целыми блоками со своей функциональностью. В дополнение мы получили большую типобезопасность, поддержку фич редакторов и ИИ, который такой фронтенд пишет значительно лучше чем тот что был.

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

p.s. В следующих постах расскажем про изменения в контенте, карьере и будущем развитии

Telegram | YouTube | Сообщество
26👍16🔥13🎄5🤡1
В праздничные дни многие из нас оказываются перед непростым выбором: продолжать ли обучение в ущерб отдыху или полностью отложить учебу, рискуя потерять наработанный ритм. Это состояние неопределенности часто приводит к чувству вины: либо за недостаточное усердие, либо за чрезмерную нагрузку.

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

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

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

Если даже ежедневные короткие сессии кажутся сложными, можно использовать модель «одного учебного дня»: выделить один продолжительный отрезок времени за весь праздничный период для полноценного погружения в тему.

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

Главный результат – не количество изученного за праздники, а сохранение общей динамики и готовность к продуктивной работе в новом году.

Telegram | YouTube | Сообщество
10👍7🎄7
Ловите лёгкую предпраздничную задачку!

🍊 Задача

В офисе начали загадочно исчезать мандарины из общей корзины.

Под подозрение попали трое:

Лена говорит, что мандарины не любит вообще.
Миша утверждает, что ел яблоко.
Рома уверяет, что ничего не ел — он «на ПП».

Когда все трое подошли к ёлке, выяснилось:
от двоих пахло кофе,
а от одного — мандаринами 🍊

Вопрос:
Кто ел мандарины?
🎄5🔥31
Итоги 2025 года

⁃ Ну и неделька, а?
⁃ Капитан, сегодня среда

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

Пожалуй одно из главных событий - мы поменяли курс с отказа от подписки в подписку и ее наполнение. Хекслет будет еще больше двигаться в сторону создания навыков по подписке. Уже сейчас на сайте порядка 50 навыков и в следующем году планируется еще столько же как минимум. Большое движение в сторону тех, кто хочет расти и развиваться вместе с нами. Мы вас слышим :)

Контент

Начнем с контента. Если сейчас заглянуть в каталог курсов Хекслета, то можно сильно удивиться. В этом году мы запустили и продолжаем запускать десятки новых программ. Лидеры по спросу это go и devops, эти программы самые востребованные. К ним подтягиваются курсы по ИИ (которые мы во всю готовим) и, наконец-то, курсы для повышения квалификации до мидлов и выше. Плюс автоматизированное тестирование на разных языках и инструментах.

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

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

Сопровождение

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

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

Поменялась механика дополнительных вебинаров. Ко всей программе доступной на платформе, студенты десятимсячных программ в дополнение получают аж до 100 вебинаров за время обучения. Это прямо скажем много.

Ну и хочется сказать спасибо нашим кураторам, оценки за работу которых находятся в районе 4.8 из 5, что не может не радовать. Аналитика в этом году стала больше и подробнее, мы ее во всю используем внутри, для улучшения программ и процессов.

Хекслет Карьера

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

Платформа

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

Спасибо, что были с нами все это время. Мы это ценим и будем делать дальше все возможное, чтобы вы были успешнее в своей жизни и карьере. С уважением, команда Хекслета
🎄1910👍1🔥1
Начало года — не повод ругать себя, а хороший момент спокойно оглянуться назад.
Не все планы сбываются, и это нормально: в обучении прогресс часто тихий и не всегда заметный.
Важно не только что получилось, но и что вы продолжали идти, даже когда было сложно.
Поделитесь в комментариях: что из задуманного сбылось, что нет и какие выводы вы сделали — нам правда важно это читать 💛
👍8🔥1🤡1
Когда вы только начинаете погружаться в мир IT, может показаться, что вокруг одни загадочные слова: Agile, Scrum, Waterfall, спринт, итерация, бэклог… Как будто все уже давно в курсе, а вы – на обочине. На деле все гораздо проще: это просто разные способы договориться, как работать вместе над проектом.

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

Сегодня поговорим о двух самых известных подходах: Waterfall и Scrum. Да-да, те самые «водопад» и «скрам» – не пугайтесь, сейчас все станет на свои места.

Waterfall – как строительство дома: сначала чертеж, потом кирпичи
Название «Waterfall» («водопад») пошло от того, как этапы проекта «текут» один за другим – как ступени водопада.

Никакого возврата: спланировал → разработал → протестировал → запустил.

Как это работает:
• Сбор требований – заказчик четко говорит, что хочет.
• Анализ и проектирование – создается подробный план: что, как и в каком порядке делать.
• Разработка – пишется код.
• Тестирование – проверяется, все ли работает.
• Внедрение – продукт запускается в работу.

Scrum – как готовить ужин вместе: пробуем, корректируем, добавляем специи
Scrum – часть так называемого гибкого подхода (Agile). Здесь все устроено так, чтобы быстро реагировать на изменения и учиться в процессе.

Как это работает:
• Работа делится на короткие циклы – спринты (обычно 1–4 недели).
• В начале каждого спринта команда решает, что успеет сделать за это время.
• Каждый день – короткая стоячая встреча (дэйли), где все делятся: что сделали, что будут делать, с чем нужна помощь.
• В конце спринта – демонстрация результата и ретроспектива: «Что пошло хорошо? Что можно улучшить?»

Но на практике редко бывает «чистый» Waterfall или «идеальный» Scrum. Чаще используют гибрид: берут лучшее из обоих подходов. Главное – чтобы команда понимала друг друга и эффективно работала.

Telegram | YouTube | Сообщество
👍83🔥3
Почему мы прощаемся с разделом "обсуждения" на сайте

Давным давно, в далекой галактике, где-то в районе 2015 года, на Хекслете были запущены обсуждения. Это возможность задавать вопросы в стиле Stackoverflow, самого популярного на тот момент ресурса, где программисты разбирались со своими проблемами и задачами.

Задавать вопросы можно было в каждом уроке по теории, практике или тестам и за годы, мы дошли до точки, когда каждую неделю появлялось порядка 500 новых вопросов, в каждом из которых до десятков ответов. В основном ответы давала наша команда, но и пользователи тоже участвовали. Конкретно я за несколько лет оставил 17 тысяч ответов, занимаясь этим минимум два раза в день. В общем отличные были времена и вопросы интересные. Так мы не только помогали пользователям, но и собирали обратную связь как по контенту так и, в целом, по платформе. Кто-то ругался, кто-то хвалил, в общем было все.

Несмотря на общий успех начинания, с самого начала эта система принесла нам некоторое количество проблем, которые со временем нарастали, а недавно мы перевели этот раздел в режим чтения. И теперь мы без остановки получаем сообщения "дуров верни стену!". Стены не будет, как бы нам этого не хотелось и вот почему.

Когда мы запустились, быстро выяснилось, что пользователи помогают друг другу редко, то есть были конкретные люди, которые этим занимались целенаправленно пока сами учились, но не более того. Это значит, что если мы сами не будем отвечать на все вопросы, то весь проект покроется вопросами без ответа, что создаст впечатление, как будто проект заброшен. Поэтому мы оперативно организовали внутренний процесс контроля. В пике ответами на вопросы там занималось 5 человек команды Хекслета.

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

У многих было восприятие обсуждений как саппорта. Нам регулярно писали что ждут ответа в течение 5 минут. С поддержкой так действительно работает, например, у наших ребят среднее время ответа в рабочие часы 15 минут (там прямо все меряется автоматикой), но обсуждения это не ответы поддержки. Это специалисты, а специалисты они потому что программируют, а не отвечают на вопросы. Поэтому они занимаются этим в определенные промежутки времени в течение дня. Мы пытались решить эту проблему разными способами и мотивацией других пользователей и привлечением наставников. Не смогли и думаем, что уперлись в физические ограничения.

Где-то в 20-21 годах у нас появились полноценные группы с наставниками и коммуникация расщепилась. Помимо обсуждений и сообщества (сначала в слаке, потом в телеге), появились чаты групп в матермосте. Студенты, конечно же, начали путаться. Кто-то писал в чат, кто-то на сайте. Последнее было проблемой, потому что мы платим наставнику за эту работу, а нагрузка шла на сам Хекслет. Пытались разными способами разрулиавать эти потоки, но в итоге все путались. Была попытка завести наставников отвечать на платформе, но там помимо определения мой студент/не мой, есть еще возможность проходить что-то, за что наставник не отвечает. Короче слишком сложно и не сработало.

Последней каплей стало появление ии асистентов. Еще один канал, причем мы уже им не управляли, каждый сам где-то у себя что-то делал в силу своей осведомленности и прокаченности в ИИ. Все школы по всему миру бросились интегрировать чаты и мы были в их числе. Было ожидание и оно подтвердилось, что вопросов стали задавать больше. Пропал страх задать глупый вопрос, появилась глубина, которой мы раньше не видели. Продолжение внутри =>

Telegram | YouTube | Сообщество
👍1918🔥4
Когда вы впервые слышите о Scrum, может показаться, что это сложная система со своими ритуалами и языком. На самом деле, это просто набор договоренностей, которые помогают команде не запутаться, двигаться в одном направлении и регулярно получать результат.

Вот основные «договоренности» Scrum, разложенные по карточкам.
Важный момент для новичка: вам не нужно знать все это в деталях до первого рабочего дня. Достаточно понимать общий смысл. Все остальное вы освоите на практике, просто участвуя в процессе.
👍217🔥1
В разработке проблемы — это обычное дело. Не катастрофа и не провал. Скорее как погода: иногда всё идёт гладко, а иногда начинается дождь. И это нормально.

Ненормально становится в тот момент, когда что-то пошло не так, а мы делаем вид, что всё в порядке. Именно из-за этого молчания мелкая сложность часто превращается в большую проблему.

Молчат обычно не потому, что лень. Чаще — потому что страшно.
Кажется, что:
— сейчас подумают, что ты ничего не понимаешь
— ты всех подводишь и тормозишь процесс
— у коллег и так полно дел, не хочется отвлекать

И включается режим «я сам». Посидеть ещё час, ещё вечер, ещё раз погуглить. Вдруг получится. Иногда получается, но чаще — нет. А время при этом идёт, и другие люди всё ещё ждут твой результат.

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

В нормальной команде всё устроено проще.
Сказать «я застрял» — это не слабость и не оправдание. Это обычная рабочая ситуация. Для этого и нужны чаты, созвоны и дейли — чтобы не оставаться с проблемой один на один.

Не нужно красиво формулировать. Хватает простых вещей:
— что именно не работает
— что ты уже попробовал
— где нужна помощь

Без оправданий и чувства вины.

И вот что важно: когда ты честно говоришь о сложностях, доверия становится больше, а не меньше. Люди начинают понимать, что если ты сказал «всё ок» — значит, правда ок.

Умение говорить о проблемах приходит со временем. Сначала это неловко и страшно — и это нормально. Так выглядит рост.

Telegram | YouTube | Сообщество
🔥149👍3💯1
Когда вы впервые откроете код реального проекта, вас может охватить легкая паника. Вместо аккуратных примеров из учебников вы увидите запутанные цепочки функций, странные названия и логику, которая не описана ни в одном документе.

Добро пожаловать в мир легаси-кода – кода, который работает и приносит деньги, но живет по своим, не всегда понятным законам.

Важно с самого начала убрать одно популярное заблуждение.

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

Ваша первая реакция – чувство потерянности и мысль «со мной что-то не так» – абсолютно нормальна. Так чувствует себя любой, от начинающего разработчика до опытного архитектора, когда впервые погружается в большую чужую кодовую базу. Разница лишь в том, что опытные коллеги уже прошли через это и знают, что паника – временная. Они понимают: разбираться здесь придется не спеша, как исследуют старый, но надежный механизм, аккуратно изучая каждую шестеренку.

Почему же код становится таким?

Почти никогда из-за лени или некомпетентности. В основном – из-за времени и обстоятельств. Продукт нужно было выпустить вчера, бизнес внес десять правок по ходу дела, а на то, чтобы переписать временное решение в красивое, просто не было ресурсов. Код обрастал добавками, исключениями и условиями, как дерево мхом, постепенно теряя первоначальные четкие очертания.

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

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

Как же с ним работать?

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

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

Так что если вам поручили задачу, связанную с легаси, воспринимайте это не как наказание, а как знак доверия и отличную возможность для обучения. Это ваш шанс разобраться в том, как живет настоящий продукт.

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

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

Telegram | YouTube | Сообщество
👍19🔥74👾4
🔥 Рубрика «Собеседование в комментариях»

Задача на проектирование, максимально приближённая к реальной работе.

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

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

Вопрос:

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

Пишите свои варианты в комментариях — обсудим архитектурные подходы и возможные компромиссы.

Telegram | YouTube | Сообщество
🔥2