Главная | Все статьи | Мотивация

Кодить каждый день: превращает ли челлендж #100DaysOfCode новичков в настоящих программистов

JavaScript Python Время чтения статьи ~13 минут
Кодить каждый день: превращает ли челлендж #100DaysOfCode новичков в настоящи... главное изображение

Время от времени ленту IT-комьюнити в Twitter захватывает хэштег #100DaysOfCode. Именно так называется челлендж для тех, кто хочет быстро и мощно прокачаться в программировании. Правда ли, что он подходит только для самых упорных? И что ждет тех, кто дойдет до конца? Мы нашли трех супергероев, которые рассказали нам, что заставило их писать код каждый день и какие результаты они получили.

Что такое #100DaysOfCode

100DaysOfCode — это челлендж, который помогает людям развивать свои навыки в программировании. Его суть в том, чтобы мотивировать участника кодить минимум по часу в день в течение 100 дней подряд — это позволяет превратить обучение и практику в привычку. Участники отслеживают свой прогресс в социальных сетях, например, в Twitter, обмениваются опытом и поддерживают друг друга. Это помогает завести новые профессиональные знакомства и получить обратную связь по своему коду.

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

Оформить идею в челлендж и закрепить правила пришло в голову Alex Kallaway. Согласно официальному сайту, правил всего два:

  1. Кодить каждый день в течение часа 100 дней подряд;
  2. Постить результаты с хэштегом #100DaysOfCode.

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

А теперь — три очень разные истории участников челленджа с разным, но счастливым финалом.

Прокачал навыки и получил буст для развития

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

Twitter Евгения: @spu_di

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

Писать код я научился еще раньше. На предыдущей работе у меня было мало рабочих задач — буквально на четыре часа в неделю. Мне нужно было как-то занять время, и я выпросил у начальства Macbook с установленной платной версией PyCharm: с библиотеками, бесплатными доступами и даже возможностью обратиться в техподдержку. Так началось мое увлечение Python.

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

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

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

Codewars — относительно простой сайт по сравнению с LeetCode. Реализация задач на этих площадках кардинально отличается. На Codewars можно использовать базовые механики, а на LeetCode это не сработает. Там все гораздо сложнее — вплоть до бинарных деревьев, которые я пока, к сожалению, не могу понять. Но все впереди.

Задачи с LeetCode используют на собеседованиях, например в Яндекс, где я сейчас работаю. Если устраиваться в компании из группы FAANG или в большую команду на должность System Architect, это пригодится.

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

Источник: https://twitter.com/spu_di/status/1535996776301400065

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

В рамках челленджа я писал и курсовые работы, и игры вроде «Змейки». Челлендж изменил мой подход к кодингу: виден прогресс, ошибки, есть стимул не бросать начатое. Хотя на первых этапах я часто колебался между двумя состояниями: «не могу найти решение» и «нашел сразу готовое, а хотел просто подсказку».

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

Читайте также: 8 полезных функций ChatGPT для программиста

Стал заметнее в комьюнити и поверил в себя

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

Twitter Максима: @CherkasovMaxim

В 2021 году у меня был небольшой бизнес — продвижение сайтов на WordPress и через Яндекс Директ. Версткой я занялся, когда появилась потребность иметь больше контроля над стилями сайта и адаптации содержимого для лучшей конверсии. Тогда я и узнал про комьюнити разработчиков в Twitter и увидел информацию про челлендж — мне стало интересно. Рекомендации начали подсказывать аккаунты участников, и я решил присоединиться.

Я начал наблюдать, какие технологии изучают другие, и пробовать их сам. Делал ежедневные посты-отчеты о том, что сегодня изучил и сколько времени занимался версткой. Так я прошел челлендж до конца. Даже когда было плохо, не было сил и энтузиазма, я все равно открывал самые простые задачи, полчаса занимался и писал в Twitter, например, что изучил часть урока по jQuery.

Оглядываясь назад, я вижу, что неплохо поработал и изучил много технологий за эти 100 дней. Я подводил промежуточные итоги каждый месяц. Например: «Изучал Pixel perfect 19 часов; сверстал сайт с такой-то технологией; изучил flex-box». Я рад, что сохранил для себя комментарии, что и как я делал, фото и скриншоты. Например, когда изучал JavaScript, я делал фото объекта и расписывал его свойства, объяснял, как работает функция с этим объектом.

За первые 30 дней я набрал 40 часов верстки, изучил базу JavaScript и прошел несколько уроков по JavaScript ES6, закончил небольшой курс по jQuery, сделал два веб-сайта, изучал Bootstrap семь часов. Для новичка это прекрасно. Если бы не документировал процесс, то не добился бы такого прогресса.

За вторые 30 дней я изучил SASS, CSS Grid. Сделал прикольное портфолио, используя SaaS, запустил мобильную версию первого проекта и узнал больше информации про GitHub.

За 100 дней челленджа я изучил следующие технологии: CSS grid, flexbox, SCSS, базу JavaScript и немного ES6, а так же BEM, Figma, Github и около 25 расширений VS code для верстальщика. А также сделал пять классных проектов и создал стартовый шаблон для верстки на scss, flexbox и grid.

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

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

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

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

Читайте также: Сергей Соловьев, разработчик в ScrapeIt — про учебу на Хекслете, наем джунов и рынок труда в IT

Нашла работу, а челлендж забросила

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

Twitter Маши: @MYarosl

Я по образованию лингвист, раньше преподавала русский язык как иностранный в университете. А потом мне надоело, и я решила попробовать что-то новое.

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

JavaScript — мой второй язык программирования. Сначала я учила Python и проходила курсы по Data Science. Я понимала, что такое кодить, и фронтенд изучала уже сама, хотя участвовала в марафоне по написанию Counter Strike на JavaScript. Дальше просто смотрела видео на YouTube — и, если нравилась подача лектора, проходила курс по видео.

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

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

Для меня Twitter не был инструментом продвижения, я не хотела публичности. Хотелось наблюдать, как изменились мои знания и навыки, говорить себе: «Не расстраивайся, что ты сейчас чего-то не умеешь. Год назад ты не знала, что такое console.log()».

Я стала записывать с хэштегом #100DaysOfCode любую информацию, которая мне попадалась — все, что казалось важным и интересным из JavaScript. В моих записях не было системного подхода. Это работало как самомотивация: узнала — надо в Twitter написать.

Сначала запала было много: я делала посты каждый день. Потом поняла, что смысл не в хэштеге, а в том, чтобы что-то выучить. Бывали дни, когда учиться не получалось или не попадалось интересной информации. Тогда я не выкладывала твиты. У меня в голове был свой челлендж: я хотела найти работу до того, как закончу «100 дней кода». В итоге работу я действительно нашла, а челлендж забросила.

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

У меня получилось чуть больше 30 дней кода, растянутых на полгода. Главная польза — это подписка на новых людей, многие из которых подсказывали мне полезную информацию. Я писала интересующий меня вопрос с хэштегом челленджа, и люди из сферы Computer Science мне отвечали и помогали: объясняли внутреннее устройство сложных практических вещей. Однажды я не смогла настроить вывод даты и опытный разработчик из Twitter подсказал мне, как поступить. Оказалось, что все просто, но я не смогла бы найти решение самостоятельно, без его помощи.

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

Читайте также: Как я стал фронтенд-разработчиком в крупной американской компании

Главные выводы про участие в челлендже #100DaysOfCode

  • Челлендж #100DaysOfCode помогает систематизировать обучение, сделать его постоянным и ежедневным.
  • Участвуя в испытании, вы соревнуетесь с другими разработчиками, заводите новые знакомства, веселитесь и общаетесь.
  • #100DaysOfCode не гарантирует, что вы найдете работу, но повышает на это шансы — за счет прокачивания технических и гибких навыков.
  • Челлендж помогает победить прокрастинацию, мотивирует писать код в свободное от работы или учебы время.
  • Посты в соцсетях позволяют отслеживать прогресс.
  • Вы задаете вопросы более опытным разработчикам, обсуждаете решения, видите разные варианты и подходы.
  • Участие легко сочетается с решением задач на LeetCode, Codewars, прохождением курсов.
  • У #100DaysOfCode есть Slack, Discord и даже несколько подкастов, в том числе на Stack Overflow.
  • Создатель челленджа рекомендует решать 2-3 задачи в день.
  • Когда вы участвуете в #100DaysOfCode, вы автоматически получаете поддержку и участие IT-сообщества и становитесь его частью.

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

Аватар пользователя Маша Даровская
Маша Даровская 09 июня 2023
11
Рекомендуемые программы
профессия
от 25 000 ₸ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 21 ноября
профессия
от 14 960 ₸ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 21 ноября
профессия
от 24 542 ₸ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 21 ноября
профессия
от 28 908 ₸ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
от 39 525 ₸ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 21 ноября
профессия
от 25 000 ₸ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
Старт 21 ноября