Поддержка  •  Дневник  •  Без рекламы  •  О сайте  •  Реклама  •  Поставить баннер  •  Fleshlight  •  Прислать  •  Хроника  •  Translate Гости: 14    Участники: 0 Авторизация Авторизация   Регистрация 
Метод Научного Тыка
RULVEN
Поиск  
Blackball iMag | интернет-журнал
Каталог


Начало » Разработка ПО » Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков
Мне повезёт!

Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков


Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков
Добавлено: Пн 01.05.2023 • Sergeant
Автор: Александр Клименков
Источник: источник
Просмотров: 804
Комментарии: 0


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

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

Медленная жизнь

Медленное программирование — это часть большого «медленного движения» (Slow Movement). Это культурный тренд, к которому осознанно обращаются всё больше людей. Медленное движение имеет множество течений и направлений, которые объединены одной общей идеей: люди устали от сумасшедшего ритма жизни, хотят замедлиться и снова получать удовольствие от работы, образования, чтения, питания и других повседневных занятий.

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

Медленное чтение борется с противоестественным скорочтением и агитирует за медленное и вдумчивое изучение книг, перечитывание и анализ текстов.

Медленное питание — это просто обычное здоровое питание безо всяких фастфудов и полуфабрикатов. Сторонники этого направления ратуют за возврат культуры застолья и за сохранение национальных и региональных кулинарных традиций.

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

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

Есть ещё медленное садоводство, медленное образование, медленное воспитание, медленная наука, медленная мода… Количество направлений этого движения постоянно растёт. Люди хотят, чтобы их наконец оставили в покое и дали пожить в своё удовольствие.

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

Медленное программирование

Концепция медленного программирования подразумевает:

  • продуманное и вдумчивое проектирование;
  • большое внимание к деталям;
  • тщательное тестирование;
  • стремление к совершенству.

Попробуем разобраться, что это означает на практике.

1. Тщательное проектирование

Для того, чтобы запрограммировать что-нибудь ненужное, требуется сначала всё как следует спроектировать. Это означает, что нужно:

  • как следует проанализировать пользовательский опыт;
  • провести поиск оптимальных решений;
  • обдумать и проверить различные варианты реализации.

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

2. Программирование без компьютера

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

Сложно бывает объяснить, что:

  • почти любой фрагмент кода требует обдумывания и нескольких внутренних итераций его улучшения;
  • программист не должен начинать разработку сразу после получения ТЗ;
  • обдумывание алгоритмов вдали от клавиатуры — важная часть его работы.

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

3. Стремление к совершенству

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

  • тщательное проектирование дизайна и оформления приложения;
  • кропотливый поиск наиболее эффективных решений;
  • проведения НИР — поиск наилучшего решения путём экспериментов.

Один из способов улучшения качества кода — это парное программирование. Для менеджеров это кошмар: двойное увеличение ресурсов на решение поставленной задачи.

Возможно, в какой-то момент может прийти мысль, что совершенство — это минимализм и простота: кода, интерфейса, архитектуры. Вряд ли можно достичь истинного совершенства на базе множества лишних надстроек, библиотек и фреймворков. Многолетнее легаси тоже не добавляет системе изящества.

4. Качество и отказ от долгов

Ревизия и рефакторинг старого кода не менее важны, чем разработка нового. Естественно, рефакторинг нужно делать осторожно — медленно и вдумчиво. И обязательно сопровождать тестированием — регрессионным и автоматическим.

Термин «технический долг» лучше всего вообще исключить из лексикона:

  • всё, что требуется для проекта, делается сразу, а не откладывается на потом;
  • никаких временных компромиссов, «костылей» и «велосипедов» в угоду срокам.

5. Получение удовольствия от процесса

Этот пункт — самый «эгоистичный», но, пожалуй, самый важный. Медленное программирование — это способ снова превратить разработку кода в искусство. Это путь к тому, чтобы вернуть программисту:

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

Быстрее — не значит лучше

Множество статей и книг учат нас, как стать эффективнее и быстрее работать. При этом почему-то между эффективностью и скоростью ставят знак равенства. Корпоративный мир требует постоянного ускорения и сокращения трудозатрат. Нас окружают методики быстрых итераций, таск-трекеры и дедлайны. Всё нацелено на быстрое получение прибыли и сокращение времени между проектированием и внедрением.

Значит, времени на качественную работу остаётся всё меньше. Иногда, конечно, шедевры получаются случайно. Но чаще всего для того, чтобы сделать что-то качественное и красивое, нужно время. Его-то как раз у нас и нет.

Снимаем розовые очки

Теперь попробуем рассмотреть другую сторону проблемы. Перестанем мечтать об идеальном мире с бирюзовыми единорогами бездонными бочками трудозатрат. В современной корпоративной реальности медленное программирование — это утопия:

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

Существует также опасность уйти в штопор перфекционизма — любой проект можно совершенствовать до бесконечности. Здесь важно уметь вовремя остановиться.

Вдобавок на горизонте замаячило нечто — как нас стращают в СМИ, ChatGPT скоро сможет заменить разработчиков. Достаточно будет лишь правильно поставить задание, и решение — раз и готово! Безо всяких сроков и затрат — полная противоположность медленному программированию. Дело за малым: знать бы только, как это задание корректно сформулировать.

Однако есть всё же оазисы, где медленное программирование не будет белой вороной:

  • пет-проекты, где медленный программист — сам себе хозяин;
  • НИР в рамках больших коммерческих проектов — выделенная песочница для неторопливых поисков истины.

• • •

Сергей Павлович Королёв однажды сказал: «Можно сделать быстро, но плохо, а можно — медленно, но хорошо. Через некоторое время все забудут, что было быстро, но будут помнить, что было плохо. И наоборот». Концепция медленного программирования — это одна из попыток неравнодушных профессионалов вернуть качество, надёжность и красоту в наш мир недолговечных пластмассовых решений.



Мне нравится 0   Мне не нравится 0



Комментарии

Чтобы добавить видео с YouTube, нужно написать [@youtube=xxxxx] , где xxxxx – ID видео.


Комментарии: 0
Нет ни одного комментария.
RSS-лента
Поделиться ссылкой:
Удаление грудей
Бесплатные автозаправки Tesla Бесплатные автозаправки Tesla
HDR10 и его отличие от Dolby Vision HDR10 и его отличие от Dolby Vision
Интимные стрижки
Pagination in a .NET Web API with EF Core Pagination in a .NET Web API with EF Core
Правила группового секса в свинг-отелях Правила группового секса в свинг-отелях
Жизнь по нотам
Лучшие сабвуферы: глубокие басы для фильмов и музыки Лучшие сабвуферы: глубокие басы для фильмов и музыки
Как мариновать чеснок Как мариновать чеснок
Почему сеньоры ненавидят собеседования с кодингом, и что компании должны использовать вместо них Почему сеньоры ненавидят собеседования с кодингом, и что компании должны использовать вместо них

работа
Soft skills: 18 самых важных навыков, которыми должен владеть каждый работник Ср 17.04.2024
Soft skills: 18 самых важных навыков, которыми должен владеть каждый работник
Жесткие факты о софт скилах Пн 19.02.2024
Жесткие факты о софт скилах
Пн 05.02.2024
Проблема понимания существующего кода, или Как делать иногда [не] надо
Пн 29.01.2024
Плохо девелопмент
Как лучше проводить one-to-one со своими сотрудниками: 5 лайфхаков из личного опыта Пн 01.01.2024
Как лучше проводить one-to-one со своими сотрудниками: 5 лайфхаков из личного опыта
Доводим разработчика до выгорания: три простых шага Пн 25.12.2023
Доводим разработчика до выгорания: три простых шага
5 приемов увеличения продуктивности разработчика Пн 18.12.2023
5 приемов увеличения продуктивности разработчика
Кто такой архитектор ПО и как им стать Пн 23.10.2023
Кто такой архитектор ПО и как им стать
Пн 16.10.2023
Какого черта мы нанимаем, или осмысленность собеседований в IT
9 тяжёлых уроков, которые я усвоил за 18 лет разработки Пн 24.07.2023
9 тяжёлых уроков, которые я усвоил за 18 лет разработки
Мультитаскинг, или Как работать над несколькими проектами и не сойти с ума Пн 10.07.2023
Мультитаскинг, или Как работать над несколькими проектами и не сойти с ума
Performance review, ачивки и погоня за повышением грейда — что может причинить боль сотруднику IT-компании? Пн 03.07.2023
Performance review, ачивки и погоня за повышением грейда — что может причинить боль сотруднику IT-компании?
Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков Пн 01.05.2023
Остановись, мгновенье. Медленное программирование — тренд для уставших разработчиков
Как избавиться от прокрастинации до того, как она разрушит вашу карьеру Пн 06.03.2023
Как избавиться от прокрастинации до того, как она разрушит вашу карьеру
Выйди и зайди правильно Пн 27.02.2023
Выйди и зайди правильно
10 историй, как «валят» айтишников на технических интервью Пн 20.02.2023
10 историй, как «валят» айтишников на технических интервью
Microsoft устроила массовые увольнения в мировом центре Open Source. GitHub закрывает все офисы и выгоняет на улицу сотни сотрудников Чт 16.02.2023
Microsoft устроила массовые увольнения в мировом центре Open Source. GitHub закрывает все офисы и выгоняет на улицу сотни сотрудников
Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны Пн 06.02.2023
Зарплата по результатам собеседования — лучший способ сократить отклики на вакансию, а тестовые задания — избыточны
Почему вы никогда не должны соглашаться на собеседования с программированием Пн 30.01.2023
Почему вы никогда не должны соглашаться на собеседования с программированием
«Великое увольнение» продолжается: теперь с работы уходят даже боссы Пн 16.01.2023
«Великое увольнение» продолжается: теперь с работы уходят даже боссы
Ср 31.03.2021
Удалённая работа: не рай, а светлое будущее
Ср 24.03.2021
Самый неадекватный кандидат за мою карьеру
Почему сеньоры ненавидят собеседования с кодингом, и что компании должны использовать вместо них Ср 17.03.2021
Почему сеньоры ненавидят собеседования с кодингом, и что компании должны использовать вместо них
Удалёнка кажется раем разработчика, но страданий не избежать: впереди нас ждет депрессия, чувство вины и выгорание Ср 10.03.2021
Удалёнка кажется раем разработчика, но страданий не избежать: впереди нас ждет депрессия, чувство вины и выгорание
Ср 10.02.2021
Кривые развития программиста и немного об эффекте Даннинга—Крюгера
Ср 06.01.2021
Тонкости собеседований при найме на удаленку
Пн 21.12.2020
16 вопросов для собеседования с .NET программистом
Вопросы на собеседовании по C# Пн 14.12.2020
Вопросы на собеседовании по C#
Смешные ИТ-собеседования: 17 историй соискателей Вт 08.12.2020
Смешные ИТ-собеседования: 17 историй соискателей
Смешные собеседования: истории ИТ-рекрутеров (часть 3) Вт 01.12.2020
Смешные собеседования: истории ИТ-рекрутеров (часть 3)
Ср 25.11.2020
Как айтишнику найти работу в США и ЕС: 9 лучших ресурсов
Смешные собеседования: истории ИТ-рекрутеров (часть 2) Вт 24.11.2020
Смешные собеседования: истории ИТ-рекрутеров (часть 2)
Смешные собеседования: истории ИТ-рекрутеров (часть 1) Вт 17.11.2020
Смешные собеседования: истории ИТ-рекрутеров (часть 1)
Пн 09.11.2020
Как устроиться в IT-компанию
Ср 07.10.2020
Гайд по работе на Апворке
Почему айтишники переходят из одной компании в другую Пн 28.09.2020
Почему айтишники переходят из одной компании в другую
Пн 07.09.2020
Первый рабочий день: инструкция по выживанию — 4 совета, как с комфортом выйти на новую работу
Пн 17.02.2020
Первый рабочий день: инструкция по выживанию — 4 совета, как с комфортом выйти на новую работу
Пн 05.11.2018
Найм программистов. Советы от программиста
Пн 16.07.2018
Как нанимать наилучших сотрудников
Перестаньте называть себя программистом и другие карьерные советы Пн 09.04.2018
Перестаньте называть себя программистом и другие карьерные советы
Пн 19.03.2018
Дюжина логических задач с собеседований
Книги
Refactoring with C# Вт 23.04.2024
Refactoring with C#
Год: 2023
Building IoT Visualizations using Grafana Вт 09.04.2024
Building IoT Visualizations using Grafana
Год: 2022
Getting Started with Grafana Вт 02.04.2024
Getting Started with Grafana
Год: 2022

Разработано на основе BlackNight CMS
Release v.2024-04-19
© 2000–2024 Blackball
Дизайн & программирование:
О сайтеРеклама
Visitors
Web-site performed by Sergey Drozdov
BlackballРекламаСтатистикаПоддержка | МузыкаПлейлистыКиноВидеоИгрыАудиоПрограммыСтатьиКартинкиЮморФорумДневник сайтаПрислать контент