👋

На этой неделе я выпустил пакеты JoSk и mail-time, оба были готовы много недель назад, только тесты не удавались… Я знаю, как тесты могут улучшить долговечность и надежность кода, поэтому я инвестировал, инвестировал и снова инвестировал свое время в течение последних нескольких недель, чтобы выяснить, почему тесты безоговорочно терпели неудачу.

Похоже, мой HDD умирает, как оказалось — запуск тестов над MongoDB, расположенной на моем SSD, не дал сбоев 🤦‍♂️ облом, да… Я знаю, я это чувствую. Итак, как умирающий жесткий диск может привести к сбою тестов? Оба пакета используют MongoDB для управления задачами через очередь, поэтому обновления записей просто (и случайным образом) задерживаются.

Как я понял, что мой HDD умирает? Работая допоздна в полной тишине, — я так устал, что отложил наушники и через какое-то время начал замечать какие-то необычные звуки, исходящие от корзины для HDD, установленной вместо оптического привода в моем классическом MBP 2012.

Я рад, что эта история закончилась и мы все можем наслаждаться последним релизом пакета.

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

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

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

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

  • Как вы распределяете время между открытым исходным кодом и работой? Я считаю открытый исходный код частью своей повседневной работы. Это не имеет приоритета перед моими контрактными задачами и текущими бизнес-задачами, но каждый раз, когда у меня есть свободный час или два, я иду на GitHub, чтобы внести свой вклад, работать над решением открытых проблем, просматривать открытые PR и выпускать свежие версии кода. . Просто для ясности — я ушел с 9 до 5 еще в 2014 году и начал инвестировать свое время в свои проекты, бизнес и открытый исходный код;
  • Вы рассматриваете разработку ПО с открытым исходным кодом просто ради этого или по другим причинам? Открытый исходный код — это гораздо больше, чем просто хобби, мне это нравится, но постепенно оно превращается в прибыльный бизнес. Многие сегодняшние клиенты нашли нас благодаря проектам с открытым исходным кодом и деятельности в этой области. Я готовлюсь к большой статье, и это будет частью моего предстоящего выступления на конференции разработчиков в Сан-Франциско, пока не могу много рассказать об этом;
  • Может ли открытый исходный код поддерживать авторов? Это сложная тема. Я считаю, что сейчас это вопрос маркетинга;
  • Вы рассматриваете возможность подать заявку на спонсорство Github в качестве автора? Да, действительно. А пока я стою в очереди и мне непонятно, как это все будет работать. Но мы размещаем кнопку [♥ support] на всех наших некоммерческих репозиториях, так что смело нажимайте на нее :)

  • Какое у меня образование? Я закончил университет со степенью магистра менеджмента. Я использую эти навыки и знания, чтобы фактически управлять своим бизнесом и ежедневно работать в качестве технического директора. Что касается программирования, я черпал свои знания из Google, книг, руководств и исходного кода;
  • Как понять логику кода? Что ж, это становится очевидным с опытом. Другим я могу порекомендовать уделять больше времени чтению чужого исходного кода (выберите библиотеку, которую вы используете каждый день, и читайте ее исходный код), TDD, позаботьтесь о документации (да, опять же), выполняйте внештатные задания не реже одного раза в неделю. К последнему я хотел бы добавить еще немного — участие в небольших внештатных задачах, которые выведут вас из вашей зоны комфорта прямо в чужую кодовую базу, где вам нужно будет быстро прочитать ее, определить проблему и найти решение. способ ее решения — я считаю, что это отличный способ получить много опыта и новых знаний за короткое время.

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

С наилучшими пожеланиями

👨‍💻