The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
Разработка программного обеспечения и кодирование - это две разные вещи. Обычно первое включает в себя второе, но не всегда. Кодирование создает строки кода, в то время как разработка программного обеспечения создает продукты. К сожалению, большинство программистов, присоединяющихся к Zerocracy сейчас, являются кодерами. Несмотря на то, что они утверждают, что они разработчики, на самом деле у них отсутствуют очень важные социотехнические навыки, отличающие создателей продуктов от писателей кода.
Давайте сначала рассмотрим симптомы.
Давайте назовем его Марио. Он очень опытный разработчик на Java, как говорит его резюме. Он уже около десяти лет работает в этой отрасли, выполнил несколько корпоративных проектов; он кажется очень опытным. Мы даем ему доступ к проекту и назначаем несколько задач на GitHub.
Через несколько часов я получаю сообщение в Facebook длиной в одну страницу. В нем говорится, что он очень рад быть в проекте, но пока ничего не понимает и нуждается в помощи. Вот список вопросов, которые он подготовил, и он готов позвонить, чтобы получить на них ответы.
Я отвечаю: “Чувак, я тебя люблю, как брата, но у меня нет времени отвечать на твои вопросы. Не потому что я ленивый или не ценю твою работу… На самом деле, да, именно поэтому. Я ленив и не хочу отвечать на вопросы через Messenger. Мои ответы будут полностью напрасными, если ты, например, уйдешь с проекта завтра. Или если к нам присоединится другой человек через неделю и у него будут точно такие же вопросы. Мне нужно будет все объяснять заново? Я слишком стар (ленив), чтобы делать это.”
Он, скорее всего, думает, что я - высокомерный идиот, но что он может сделать? Он читает мою статью на эту тему и говорит: “Хорошо, я понял.”
Через полчаса Марио подает заявку в другой (!) репозиторий. Название - “Проблема”, а описание гласит: “Помогите мне понять проект.”
Что я делаю, как архитектор проекта? Я закрываю заявку с коротким сообщением: “Пожалуйста, формулируйте ваши заявки более конкретно.” Мой ответ находится на грани “Исчезни”, но что еще я могу сказать? Марио не знает, как использовать систему учета заявок. Он, скорее всего, всю свою жизнь работал в уютном офисе, где все вокруг были его друзьями. Даже не используя чат, а просто задавая вопросы через стол. Я прошу его сделать то, чего он никогда раньше не делал. Конечно, он не знает как. Я подозреваю, он чувствует себя стыдно.
Что происходит дальше? Он сразу же обращается ко мне в Messenger с тем же набором вопросов. На самом деле, его реакция будет зависеть от его личности. Это может быть и гнев, и смущение, или что-то еще. Но суть в том, что Марио не является разработчиком программного обеспечения, он является кодером. Он не понимает динамику современного программного проекта, он не знает, как использовать его коммуникационные инструменты, и у него нет социотехнических навыков:
Отправка вопросов, сбор ответов
Добавление знаний в репозиторий.
Подача изменений в код
В письменных спорах, рассмотрение изменений.
Закрытие заявок и предотвращение их закрытия
Поддержание дисциплины в репозиториях
То же самое происходит с почти каждым, кто к нам присоединяется, к сожалению.
Современный программный проект - это гораздо больше социальная деятельность, чем написание кода. Умение взаимодействовать с командой и работать с информацией намного важнее, чем знание шаблонов проектирования. Единственный способ научиться этим навыкам - это практика. Я уже сказал это много раз, позвольте мне повторить еще раз: Если вы не активист открытого программного обеспечения и Stack Overflow, скорее всего у вас не будет этих навыков.
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-11-17 at 14:26