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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

  • курса-симулятора «Системный аналитик: первые шаги к профессии»;

  • открытого занятия онлайн-магистратуры «Управление цифровыми проектами» совместно с Президентской Академией;

  • курса-симулятора «Введение в SQL и работу с базой данных»;

  • занятия «Карьера с «1С»: разбираем профессии аналитика и программиста»;

  • или курса «Как победить синдром самозванца и построить карьеру».

Или открыть перспективы и получить повышение с профессиональным обучением:

  • профессии «Fullstack-разработчик на Python»;

  • профессии «Инженер по автоматизации»;

  • на курсе «SQL и получение данных»;

  • специализации «Backend-разработка на Node.js»;

  • на курсе «Django: создание backend-приложений».

Источник: https://habr.com/ru/companies/netologyru/articles/889048/


Интересные статьи

Интересные статьи

Когда я пользуюсь сайтом, я хочу, чтобы поиск был максимально простым и удобным. Мы все уже привыкли к тому, как работают умные системы вроде Google или Яндекса, поэтому от любой другой поисковой стро...
Google сообщила, что чат-бот в Android Studio теперь работает на базе языковой модели Gemini Pro. Разработчики могут использовать его возможности для написания кода. Функция доступна в более чем 180 с...
Управление большим числом изменяемых шаблонов бизнес-процессов — непростая задача. А необходимость поддержки актуальных версий шаблонов на нескольких копиях проекта добавляет еще больше сложностей. Де...
Когда-то, давным давно в комментариях к моей статье, посвященной картофельному солонину, как из рога изобилия посыпались фотографии гнилого/плесневелого картофеля который люди покупают на рынках, в су...
Основанная в 1998 году компания «Битрикс» заявила о себе в 2001 году, запустив первый в России интернет-магазин программного обеспечения Softkey.ru.