Опытный разработчик не так давно зашёл в .Net и поставил цель получить сертификат Microsoft. Свой ежедневный прогресс он описывает на канале .Net Разработчик. Заметки об изученном материале, советы по повышению производительности и поддержке мотивации, ин
День 1042. #Карьера
Чему Можно Научиться из Книг «Программист-прагматик» и «Идеальный программист». Часть 2
Часть 1
3. Командная Работа – Работа Мечты
Работая в команде, вы должны быть «командным игроком», часто общаться, следить за своими товарищами по команде и максимально эффективно выполнять свои обязанности.
Команды должны быть небольшими, не более 10-12 человек, где все знают и доверяют друг другу. Такую командную среду сложно создать, поэтому, как только вы её получите, вам придётся заботиться о ней, изменяя проекты, над которыми работает команда, а не её участников.
По мере увеличения размера команды количество каналов связи увеличивается с квадратичной скоростью. В более крупных командах общение становится неэффективным.
- Программист-прагматик
Формировать команды под каждый проект неверно в принципе: группы просто не успеют «притереться». Люди участвуют в проекте только короткое время и поэтому никогда не узнают, как взаимодействовать друг с другом. Команды строить сложнее, чем проекты. Слаженная команда может вести сразу несколько проектов и распределять работу в соответствии со своими предпочтениями, квалификацией и способностями участников.
- Идеальный программист
Более того, отличные команды будут решать проблемы вместе, и каждый из них приложит максимум усилий.
Слаженная команда может творить чудеса, прикрывать и поддерживать друг друга, требовать друг от друга большего и добиваются результата.
- Идеальный программист
Отличные проектные команды обладают ярко выраженной индивидуальностью. Люди с нетерпением ждут встречи с ними, потому что знают, что увидят хорошо подготовленную презентацию. А документация, которую они создают, чёткая, точная и последовательная.
- Программист-прагматик
4. Разработка методом трассирующих пуль
Трассирующие пули отмечают пройденный путь, чтобы стрелок мог лучше прицелиться в следующий раз. Таким образом, основная цель разработки методом трассирующих пуль - «добавить» основные функции в проект и получить быструю обратную связь, чтобы лучше «нацелиться» на следующие изменения.
Разработка методом трассирующих пуль согласуется идеей, что проект никогда не кончается: всегда будет потребность в изменениях и добавлении новых функций. Это — инкрементный подход.
- Программист-прагматик
Этот метод помогает разработчикам сосредоточиться на основных функциях, которые необходимо реализовать, чтобы можно было создавать другие. Кроме того, это служит доказательством совместимости и выполнимости архитектуры, предоставляя функциональный и демонстрируемый скелет для работы в самом начале процесса разработки.
Ищите важные требования, которые определяют систему. Найдите области, в которых вы сомневаетесь, и где вы видите наибольшие риски. Затем расставьте приоритеты в разработке так, чтобы это были первые области, которые вы реализуете.
- Программист-прагматик
Этот подход не следует путать с прототипированием. Код прототипов не должен быть частью проекта, а код «трассирующих пуль» не выбрасывается. Он работает и улучшается с каждой итерацией.
При прототипировании генерируется временный код. Код «трассирующей пули» скуден, но полноценен и составляет часть скелета окончательной системы. Думайте о прототипировании как о сборе разведданных, который происходит до того, как будет выпущена первая «трассирующая пуля».
- Программист-прагматик
Продолжение следует…
Источник: www.freecodecamp.org/news/le…an-coder