​Ожидание vs реальность: какие взгляды я поменял за 10 лет в разработке

18 марта 2025 г.Senior Frontend
​Ожидание vs реальность: какие взгляды я поменял за 10 лет в разработке | 🔁 Новости из телеграм - Ghostbase News

Ожидание vs реальность: какие взгляды я поменял за 10 лет в разработке

Старший инженер-программист в Amazon Крис Киль (Chris Kiehl), автор книги по дата-ориентированному программированию на Java поделился заметкой о том, как изменились его взгляды за 10 лет пребывания в индустрии разработки ПО.

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

О чём поменял своё мнение

Вот что я верю сейчас, но о чём раньше бы поспорил:

  • Простота — не данность. Она требует постоянной работы.

  • Нечем гордиться, если вы оперируете и мыслите сложными конструкциями.

  • Типизация в языках программирования нужна в командах с разным уровнем опыта.

  • Java — великий язык, потому что скучный.

  • Среды REPL (интерактивные среды исполнения) бесполезны в проектировании, но как инструмент для исследований они хороши.

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

  • Frontend-разработка — это кафкианский кошмар, который я больше не выношу.

  • Привлекательность — это не метрика.

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

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

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

О чём сформировал мнение

  • Разработка — это про коммуникацию.

  • Никогда не используйте полные монады в Java.

  • Планировщик запросов — это злая госпожа.

  • Если что-то кажется мне простым — это точно что-то, чего я до конца не понимаю.

  • Молодым разработчикам нужно давать пространство для ошибок и экспериментов.

  • Нужно активно инвестировать в развитие своих софт-скиллов. Это быстро окупается.

  • В разработке приложений мало места для абстракций. Просто пишите нужный код.

  • А вот разработка библиотек, наоборот, основана на абстракциях. Потратьте время на поиски алгебраических структур.

  • ORM — это дьявол во всех языках и реализациях. Используйте SQL.

  • Главная беда функционального программирования — это функциональные программисты.

  • В долгосрочной перспективе вы глубоко пожалеете о выборе бессерверных функций.

  • Типы — это просто утверждения о мире, в котором работает ваш код.

  • Распределённые блокировки по-прежнему и по какой-то непонятной причине остаются очень сложными.

  • Навыки формального моделирования и анализа — это база.

  • Изоляция — важнейшее свойство хорошего набора интеграционных тестов.

  • Худшее, что можно выбрать для разработки приложений общего назначения — это DynamoDB.

  • Большинству плевать на ремесло программиста. Берегите тех, кому не всё равно. С остальным смиритесь.

  • Будущее за языками с постепенной зависимой типизацией.

  • Вы буквально не можете добавлять к тестовому коду слишком много комментариев (готов поспорить с тем, кто сможет).

О чём мнение не поменялось

  • Те, кто заморачивается над стилем кода, правилами линтинга и прочими мелочами — извращенцы. Занимайтесь более важными вещами.

  • Покрытие кода никак не связано с качеством кода. А зачастую и вовсе обратно пропорционально ему.

  • Монолиты остаются довольно няшными.

  • Крайне сложно превзойти десятилетия исследований и доработок реляционных баз данных.

  • Использование микросервисов нужно обосновывать, а то их всё чаще воспринимают как решение по умолчанию.

  • Большинство проектов не нужно масштабировать. Иллюзия этой необходимости только вредит.

  • Если завтра исчезнут 93%, а может быть, даже 95,2% проджектов — ничего не изменится, а то и повысится эффективность работы.

А вы согласны с автором или в каких-то моментах готовы поспорить, потому что ваш опыт говорит о другом? Менялось ли ваше отношение к разработке в процессе работы? Расскажите.

👉 @seniorFront