Разработчик Amazon изменил взгляды на ключевые темы программирования за 10 лет: от простоты кода до роли Java, ORM и Serverless-функций
Разработчик Amazon по имени Крис поделился в своем блоге списком профессиональных убеждений, которые изменились за последние 10 лет.
Он признался, что прошлое «я» спорило бы с ним по каждому из этих пунктов.
Что теперь кажется очевидным
По его словам, простота — это не данность, а постоянная работа. Если раньше он гордился тем, что разбирался в сложных системах, то теперь считает, что упрощение — высшая точка экспертности.
Он также пересмотрел свое отношение к типизированным языкам. Теперь он уверен, что они необходимы для команд с разным уровнем опыта, так как помогают предотвратить множество ошибок на ранних этапах.
С годами изменился и взгляд на Java. То, что раньше казалось скучным, теперь воспринимается как главное достоинство языка. «Java — отличный язык, потому что он скучный», — отметил Крис.
Онлайн-курс «JAVA-разработчик» от EdMe.pro
tproger.ru
Он также разочаровался в разработке фронтенда. Если когда-то это казалось увлекательной задачей, то теперь он описывает его как «кошмарный мир в стиле Кафки».
Еще одно осознание: большая часть программирования должна происходить до написания первой строки кода. Проектирование и продумывание архитектуры важнее, чем спешка с реализацией.
Изменение взглядов на инструменты и подходы
С годами пришло понимание, что эстетическая элегантность кода не важна. Главное — понятность и поддерживаемость.
Ранее он считал, что ORM (объектно-реляционные мапперы) полезны, но теперь уверен, что они — зло. Он рекомендует просто писать SQL, а не полагаться на промежуточные слои.
Также его отношение к Serverless-функциям кардинально изменилось. В краткосрочной перспективе они удобны, но со временем разрастаются в сложную систему, о чем потом разработчики жалеют.
С другой стороны, он поменял мнение на счет DynamoDB. Если раньше он считал, что эта база данных подходит лишь для узких сценариев, то теперь признает, что при правильном использовании она может быть отличным выбором.
Что осталось неизменным
Несмотря на эволюцию взглядов, некоторые вещи остались прежними. Например, он по-прежнему считает, что код стайл и линтеры не стоят тех усилий, которые на них тратят.
Его мнение о монолитах тоже не изменилось — он уверен, что в большинстве случаев они проще и надежнее, чем микросервисные архитектуры.
Онлайн-курс «JAVA-разработчик» от EdMe.pro
tproger.ru
Также он уверен, что большинство проектов не нуждаются в масштабируемости, но разработчики слишком часто ведут себя так, будто работают на уровне AWS.
Наконец, он все еще убежден, что код-покрытие тестами не говорит о качестве кода, а иногда даже обратно пропорционально ему.