Опыт разработчика — это термин, часто брошенный свободно без особых объяснений. Возможно, вы нашли его в сообществах разработчиков, описывающих, насколько легко работать с некоторыми публичными API, или ваша компания, возможно, участвовала в одном из множества лучших конкурсов на рабочем месте. Реклама на работе может обещать небесный опыт разработчика, предлагая настольный теннис или холодильник, полный пива и пиццы в качестве пособия. Однако для меня опыт разработчика все о том, чтобы сделать свою работу, сохраняя при этом мою компетенцию в этой профессии.
Две книги, которые ударили моего нерва и удалось определить, что опыт разработчика, когерентно были Phoenix Project (Ким, Бехф, Спаффорд. 2013) и его тематическое продолжение Проект единорога (Ким. 2019). Оба стремятся решать технологические, оперативные и культурные вопросы, присутствующие в современных программных компаниях. В то время как Phoenix Project сосредотачивается на том, чтобы рассказать историю о том, как ИТ-отдел прошел через полное преобразование DevOps, проект Unicorn рассказывает одинаковую историю от женщин-разработчиков и точкой их команды. Быть разработчиком сам, я был более заинтересован в последней книге.
Нить проекта Unicorn составляет около пяти идеалов, которые автор наблюдал, как оставляет боли во многих технологических организации. Я буду ссылаться на эти идеалы в моем слегка адаптированном списке ниже. Все наблюдения основаны на обоих вымышленных событиях, изображенных в книгах, так и в моем реальном опыте, работающих с разными людьми в качестве инженера программного обеспечения. Вместе они лежали на основании повышения квалифицированного опыта разработчика.
Я буду пропущен средний шаг, устраняя антиблокировки и охватывающую средства правовой защиты, поскольку это всегда очень субъективно для каждого бизнеса. Если вы хотите знать INS и ауты, о том, как я тепло рекомендую читать книги. Они могут включать в себя лучшее возвращение инвестиций, которые я когда-либо проводил на деловые книги.
Пять идеалов
- 1. Держите это просто, держите его местный
- 2. Радость должна течь
- 3. Улучшить себя и Твоя работа
- 4. Поддерживать психологически безопасное рабочее место
- 5. Сосредоточиться на ядре
1. Держите это просто, держите его местный
«Если команда должна запланировать развертывание, и требуется от 40 до 50 других команд для работы с ними в расписание, ничто не будет сделано. И если команда, доставляющая в единую функцию, должна координировать с 2 или многими другими командами развития, она создает только задержки и проблемы для всех этих команд ».
💀 Антиблокировки
Когда разработчик клоны и создает существующий проект, требуется выполнение дней, поскольку им нужно искать в интрасети для недостаточной документации, параметры конфигурации, а также магических команд оболочки, чтобы сделать приложение работать в их среде.
Из-за огромного технического долга приложение стало настолько сложным, что люди начали избегать прикосновения кода во всех расходах. Каждая новая функция включает в себя изменение кода в нескольких разных местах, а письменные тесты часто пренебрегают. Таким образом, каждая новая строка кода, скорее всего, нарушает приложение, но он не замечен до позднего опыта в процессе — обычно после развертывания производства идет не так, и решают решающие данные.
Разработчики обязаны работать в совместной среде разработки, которая не имеет четности с реальной производственной системой, и для чего необходимо открыть большое количество билетов, чтобы получить доступ. Окружающая среда разработки также страдает от отключений и предотвращает использование программного обеспечения на заказ производительностью из-за излишне строгих ИТ-политики, отстаивающей от острыго официального руководства директоров информационной безопасности.
Специалисты QA работают в отдельном отделе, полностью изолированном от разработчиков. Их единственное общение с разработчиками происходит через билетную систему. QA получает изменения, которые вообще не были проверены разработчиками, заставляя их потратить значительную часть их дневного письма билетов после часа ручного тестирования. Для QA не существует выделенные среды тестирования, поэтому функциональность должна быть подтверждена путем создания приложения с нуля, что также больно для них.
Разработчики, ни QA не разрешаются выполнять необходимые задачи, такие как развертывание сами по себе, поскольку для них требуется, чтобы билет был открыт для команды IT OPS. Обратная связь справа налево занимает несколько недель, чтобы эффективно блокировать все обучение и эксперименты.
💉 Средство
Проекты разработаны для запуска разработчиков на платформах самообслуживания либо в качестве облачных нативных приложений без сервезна, либо распространяются через Docker или блуждающие изображения, которые будут построены на своих ноутбуках. Все изображения разработаны с высокой четностью с производственной средой. Настройка проекта требует, чтобы разработчики только клонировать его и построить его одним командой. Повседневные задачи, такие как запущенные тесты, исправления проблем в стиле кода и развертывание приложения реализуются с задачами, и их использование хорошо документировано.
Сумма технического долга сохраняется низким по агрессивным рефакторингу, поэтому разработчики могут проводить время, писать счастливые и печальные тестовые случаи для каждой новой функции, которую они отправляют.
QA также может самообслуживание новой среды тестирования, используя Инфраструктура как код Методологии, в которых они устанавливают портативные среды тестирования с помощью нескольких файлов конфигурации, хранящиеся в управлении версиями. Используя эти среды, QA может выполнять разведочное тестирование, находя все возможные дефекты, которые автоматизированные тесты не поймали, или разработчик, сидящий прямо рядом с ними, не мог подумать.
Развертывание изменений происходит с одной командой и не зависит от других команд. Контур обратной связи укорочена в минутах, позволяющих посмотреть, стоит ли потенциально рискованное изменение, и должно ли оно должно быть откатывается назад.
2. Радость должна течь
«Когда разработчики могут сосредоточиться на разработке своего кода с минимальными зависимостями, задержками и препятствиями, он создает поток ценности, поэтому радость».
💀 Антиблокировки
Разработчики должны сдаться постоянному переключению контекста так много, что вряд ли нет никакого контекста или фокусировки в их повседневной работе. Офис стал окружением постоянного хаоса, отвлекающих факторов и беспокойства. Рабочий пульт был запрещен или затруднен. Разработчики должны ежедневно посещать несколько долгосрочных встреч, чтобы выполнить свою работу. Когда не на собраниях, они не связаны с бесконечным потоком сообщений и электронных писем, кричащие на их немедленное внимание.
Поток и фокус разработчиков также постоянно прерываются, чтобы зависеть от других команд для заполнения даже самых простых задач. В результате задачи часто откладываются, и личные отставания растут до значительных чисел, заставляющих все чувствовать себя несчастным.
💉 Средство
Встречи используются только в качестве последнего коммуникации. Если сеанс должен быть забронирован, его повестка дня написана с абсолютной точностью, а приглашения отправляются как можно раньше, чтобы участники успели готовиться. Снижение встреч не избегают, если работа будет сильно распущена.
Большинство обмен информацией происходит асинхронно в письменном, не говорите, форме. Унлы понимают, что редкие вопросы настолько критичны, что ответы необходимы на тот момент. Разработчики рекомендуются отключить уведомления о сообщениях и заблокировать время для развития. Они не должны отвлекаться на все, кроме пожарной сигнализации.
3. Улучшить себя и Твоя работа
«Клыки, которые являются элитной организациями такая Facebook, Amazon, Netflix, Google, eBay, LinkedIn, Microsoft успешно, потому что все они заставили сознательное решение окупить свой технический долг. Все они сделали все возможное, чтобы убедиться, что ежедневная работа разработчиков может быть сделана и может проходить как можно меньше прерывания и препятствий. С другой стороны, у нас есть компании, а Nokia является хорошим примером, что не приоритет от приоритеты, решая их технические долги или модернизацию их технологий и архитектуры ».
💀 Антиблокировки
Команды не дают время, чтобы погасить растущий технический долг, накопленный в системе. Они обязаны постоянно писать новые функции на вершине существующей плохо работой монолитной кодовой базы, которые уже должны быть разделены на несколько небольших модулей или полностью переписаны. Чтобы сделать все хуже, владельцы бизнеса наполняют отставание с новыми функциями, не понимая, насколько они накапливают технические долги.
Самоудовлечение и затопление навыков с помощью книг по чтению книг, наблюдение за видео или посещение курсов активно обескуражены в пользу работы с бизнес-функциями в счастье. Компания никогда никого не отправляла на конференцию.
💉 Средство
Техническая задолженность по сокращению резки в качестве основной стратегии компании, даже если это означает, что все работы по новым проектам должны быть заморожены до тех пор, пока долг не будет радикально короче. Существующие композиции команды изменяются, чтобы наилучшим образом удовлетворить потребности каждого проекта. Если какая-либо область работы борется против первого идеала простоты и местности, это решается как выпуск высокого приоритета.
Разработчики блокируют время для саморегулирования техник и методологий, которые помогают им выполнять свою работу более эффективно. Они также собираются вместе еженедельно, чтобы научить что-то новое друг другу, будь то новый язык программирования, рамки, шаблон дизайна или инструмент производительности. Свежие идеи часто приносят домой с курсов и конференций, где разработчики активно отправляются на обучение поездок. Эти идеи затем записаны по мере создания предложений и доказательств концептуальных решений, которые, в свою очередь, создают новые конвенции и инновации.
4. Поддерживать психологически безопасное рабочее место
«Психологическая безопасность является одним из главных предикторов производительности команды. Google Установлено к тому, что члены группы почувствуют себя в безопасности, чтобы говорить о проблемах, чтобы сказать, что они думают, не опасаясь от костягивания и отмениться или обвинять ».
💀 Антиблокировки
Разработчики боятся принуждать и издеваться за выражение их мнения или не согласны со старшим сверстником. Их инициативы активно выброшены как неважным или глупым. В результате большинство разработчиков опускаются молчаливыми и прекращают уход за продвижением команды.
Когда происходит потенциально дорогостоящий инцидент по производству, люди стремятся найти кого-то, чтобы обвинить, что это часто стремится к причинам стрелять или переместить человека в другую команду в качестве наказания. Затем ошибки сообщают о сбоях на широких электронных письмах, сообщив, что лицо, найдя, что инцидент находится в отпуске до дальнейшего уведомления.
Во время перерывов на кофе, офисные залы и водяные кулерные чаты заливают наступательные шутки, ориентированные на тех, кто с меньшими властью в обществе, создавая представители разных групп меньшинств. Поскольку отчетность культурных вопросов для менеджеров не считается безопасным, в конечном итоге будет водить многих сотрудников в отставку и стремиться к лучшей работе.
💉 Средство
Разработчики рекомендуются записывать свои идеи и представить их команде, не боясь быть смеяться. Разработчики редко придумывают глупые идеи. Они были подготовлены только в спешке с отсутствием существенных исследований и доказательств их полезности.
Все производственные инциденты реконструируются и регистрируются как сроки событий во время Безопасное пост-Мортем стремясь найти корневую причину. Это согласилось, что до и во время инцидента все были оснащены своими наилучшими намерениями, навыками и знаниями. Даже если кто-то напрямую вызвал инцидент, который они не наказывают за это, но в следующем времени обучались, чтобы не делать ту же ошибку в следующий раз.
Темы обсуждения на кофе-брейки и чаты водяных кулеров хранятся респектабельные, а шутки рассказывают после золотого правила комедии подставки: Всегда ударить, а не вниз Отказ Если кто-то найдет работать против этой культуры, их действия будут сообщены своему менеджеру и обсуждаться цивилизованным образом.
5. Сосредоточиться на ядре
«Ядро создает продолжительность долговечного бизнеса, тогда как контекст — это все остальное. Core — это то, что клиенты готовы заплатить, контекст — это то, о чем они не заботятся ».
💀 Антиблокировки
Разработчики обязаны работать с системами, которые не способствуют сокращению технического долга, ни увеличения опыта клиента ( Core ). Их дни потрачены поддержание устаревших внутренних систем, таких как соответствие, бухгалтерия и заработная плата ( контекст ), которые могут быть полностью автоматизированы или заменены более надежными решениями от внешних поставщиков (например, облачных услуг).
После внесения изменений в размещении после добычи после недель совершив их в управление версиями, нет способа измерить их эффективность. Группы по маркетингу и продажам заблокированы от создания инициатив кампании для полевых испытаний. В результате бизнес теряет доход.
💉 Средство
Разработчики участвуют в экспериментах, где их изменения сокращают технические долги или воздействие непосредственно на опыт клиента. Все изменения активно контролируются на платформе метрики, создающие соответствующие данные о воздействии нескольких ежедневных развертываний команды. Маркетинговые и торговые команды текут при изобретении даже более смелых идей новых доходов.
Время, потраченное на работу с повторяющимися офисными задачами и системами, невидимыми к клиентам, рассматривается и сравнивается с временем, потраченным на работу на бизнес-цели. Контекст не будет убивать ядро. Разработчики могут быть продуктивными с работой, которая выращивает техническую и деловую компетентность компании.
Цитируемые абзацы были взяты из Unfq. интервью с Ген Ким в ноябре 2019 года.
Фото Marco Secchi на Unsplash.
Оригинал: «https://dev.to/nikoheikkila/the-five-ideals-of-developer-experience-2lh2»