Что.

Итак, 1 января 2018 года я узнал о задаче # 100DaysOfCode, которую инициировал Александр Каллавей. Подробнее о его рассказе можно прочитать здесь.

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

Почему?

В настоящее время я получаю степень магистра компьютерной инженерии. В бакалавриате я специализировался в области электротехники и электроники. Так почему же смена поля?

  1. Я нашел Электрооборудование утомительным и бессмысленным (лично). Мне не нравились предметы.
  2. Я проходил стажировку в Индийском статистическом институте в Бангалоре, основанную на компьютерном зрении. Я получил огромное удовольствие от пребывания там. Мы продолжили публикацию статьи, основанной на этом проекте!

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

В 2016 году я взял книгу по программированию на C и начал выполнять ее упражнения. Вы выполнили 75% всех вопросов к упражнениям в этой книге. Я также начал работать над проблемами на CodeChef.

Однако одним из главных препятствий на пути к этому процессу обучения было то, что он был устрашающим. Обширность предмета для одного, и что было так много программистов, которые знали гораздо больше. Было пугающе видеть, как они решают сложную проблему без особых усилий, пока я пытался выяснить, почему «fflush (stdin)» не сбрасывает возвращаемый символ. Этот страх в конечном итоге демотивировал меня, и я отдыхал неделю, полагая, что я неудачник. Это значительно замедлило мою скорость обучения.

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

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

И наконец, как:

Итак, решение было принято, и репозиторий на 100 дней кода был разветвлен. Сделал свою первую запись в журнале 2 января 2018 года. Я был готов пройти дистанцию.

По крайней мере, я так думал.

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

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

Но я понял, что расстроюсь еще больше, если не сдержу свое слово. Я в этом смысле упрямый и странный. Итак, я перезапустил вызов. Опять таки. В День святого Валентина. И я рад сообщить, что я успешно выполнил 10 дней испытания. Все программы, над которыми я работал, размещены на GitHub.

Вот как я планирую нести ответственность. Я напишу статью на Medium о моем прогрессе и проблемах, с которыми я столкнулся с 10, 20, 30… до 100-го дня испытания.

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