Улучшите процесс адаптации вашего разработчика с помощью этого простого мастер-класса по программированию.

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

Введение

Жизнь золотоискателя трудна, каждый божий день приходится заходить в темнеющую шахту, искать золотые самородки и возвращаться, большую часть времени, с пустыми руками, желая, чтобы следующий день был лучше. Помимо различий, жизнь разработчика иногда похожа на жизнь шахтера, этот золотой самородок — это проблема, которую вы пытаетесь решить, и решение находится где-то внутри вашего мозга. А теперь представьте на минуту, как сложно разработчику, который только что пришел в вашу компанию, решить эту проблему. Этот додзё по кодированию даст этому разработчику возможность собраться вместе, отлично провести время и, надеюсь, узнать что-то о майнинге.. Я имею в виду.. программирование ^^.

Кодирование Додзё объяснение

Это додзё о майнинге, майнинге так быстро, как только можете. Разработчики должны решить следующие задачи:

  1. Создать майнер
  2. Войти в шахту
  3. Ищите эти драгоценные золотые самородки
  4. Сохраните их в карманах
  5. Итерация между 3 и 4

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

Я создал простой веб-интерфейс и API, вы можете найти контейнер здесь. С одной стороны, веб-интерфейс в основном делает сеанс более динамичным. Он был разработан в ReactJS и состоит из 2 разделов, один для отображения инструкций, а другой для отображения реального рейтинга того, как работают майнеры.

С другой стороны, в .NET Core разработан API для добычи золота.

Как организовать Coding Dojo

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

Для первой части соберите свою команду и поделитесь с ними как API, так и URL-адресом веб-интерфейса. Объясните задачу и дайте несколько минут, чтобы ответить на вопросы и организовать среду разработки. Как только все будет ясно, дайте им время для завершения первой части, я рекомендую от 40 до 50 минут, поделитесь своим экраном с веб-страницей с рейтингом в реальном времени и начните испытание. По истечении времени объявите победителя и проведите 15-минутное обсуждение проблем, обнаруженных во время упражнения.

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

Несколько советов ведущему

  • Каждый разработчик должен создать майнер один раз и сохранить идентификатор
  • Код подготовлен для случайного генерирования внутренних исключений сервера.
  • На странице Swagger можно попробовать только GET.
  • База данных находится в оперативной памяти, поэтому при каждом перезапуске сервера все будет сбрасываться.
  • Сервис не позволяет сохранить в кармане майнера другое количество, которое было добыто
  • Каждые 10 секунд случайный майнер выходит из шахты.
  • Веб-интерфейс и API находятся на одном сервере.
  • Как только майнер создан, он должен войти в шахту, найти золотые самородки, сохранить их в своих карманах и повторить.

Наш опыт

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

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

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

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

Ресурсы