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

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

Разница между блогингом и логированием

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

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

С другой стороны, ведение журнала — это более регулярное занятие, целью которого является только отслеживание плана или повестки дня на день/неделю/месяц.

Каковы преимущества?

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

Уверенность в том, что вы можете ясно излагать свои идеи в письменной форме, будет иметь большое значение в ваших обзорах кода, ваших электронных письмах и сообщениях Slack людям, с которыми вы программируете или работаете, а также во время парных или наставнических сеансов, поскольку это поможет вам стать лучше. формулирование ваших идей способами, которые могут быть поняты получателем (получателями) вашего сообщения. Это может даже помочь вам придумать лучшие имена в вашем коде!

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

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

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

Как записать свой день?

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

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

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

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

Я использую раздел «Для расследования», чтобы делать заметки о вещах, которые привлекли мое внимание и о которых я хотел бы узнать или вернуться к ним позже, потому что у меня нет времени делать это в течение дня. Сообщения в блогах, новые технологии, интересные доклады, все возможно!

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

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

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

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

В конечном счете, вот как может выглядеть полный журнал:

Если вам интересно, где хранить эти журналы, вы можете выбрать простое решение, например приложение для создания заметок (например, Evernote), или хранить свои журналы в репозитории Github. Если вы хотите добавить в свои журналы еще немного шика, как это сделал я, вы можете настроить блог для их хранения. Я использовал Jekyll и Github pages.

Как я могу улучшить свои сообщения в блоге?

Я не могу претендовать на звание лучшего писателя или даже успешного блоггера, учитывая масштабы, в которых я работаю (до трех с половиной моих читателей!), но я верю, что есть несколько вещей, к которым каждый может стремиться, когда написание сообщений в блоге:

  • Берегите свой язык. Проверьте на наличие орфографических ошибок, странных грамматических конструкций, нечетных выражений. Держите свой язык прямым, простым и ясным, если вы не знаете, как правильно его украсить.
  • Разместите все это. Используйте абзацы, заголовки, подзаголовки, разделители, маркеры и т. д. Это сделает текст более интересным для просмотра и более легким для чтения, поскольку в нем есть разрывы и визуальные подсказки.
  • Организуйте свой пост. Убедитесь, что у вас есть структура и поток для вашего сообщения, чтобы информация не оказалась беспорядочной и непонятной, каждая часть вашего блога казалась отделенной от других. Наличие идеи структуры также позволит вам сделать переходы более интересными.
  • Если есть область, которая не совсем вам понятна, изучите ее еще раз! Вам не нужно обсуждать это за пределами вашего опыта, но если это напрямую связано с тем, о чем вы говорите, это может добавить ценный контекст.
  • Приведи примеры! Примеры из жизни или псевдокод, или теоретические приложения, не важно. Тем не менее, эти примеры позволят вашему читателю лучше понять контекст темы, которую вы затрагиваете. Вы можете использовать скриншоты или фрагменты Gist, чтобы проиллюстрировать свою статью, и снова предоставить вашему читателю интересные визуальные подсказки.
  • Постарайтесь придумать вопросы, которые могут быть связаны с вашей темой, и используйте их, чтобы продвигать свое письмо дальше. Чувство, что вы не хотите писать о чем-то, связанном с вашей темой, может быть хорошим показателем того, что вы, вероятно, могли бы упомянуть об этом. Попытка написать пост, который охватывает большой объем информации и не оставит у вас в будущем или у ваших читателей много вопросов, — это хорошая цель.

Я хочу вести блог, но чувствую, что знаю недостаточно?

Когда вы находитесь на уровне, когда вы не чувствуете, что можете внести творческий или новый вклад в техническое письмо, может быть очень легко отказаться от ведения блога, потому что вы «не знаете достаточно». И хотя это может быть правдой (в конце концов, для накопления знаний требуется время!), цель ведения блога для себя должна состоять в том, чтобы вести запись проблемы, с которой вы столкнулись, и того, как вы ее решили, ни больше, ни меньше.

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

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

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

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