tgoop.com/book_cube/2139
Last Update:
How To Be A Great Programmer • Dave Farley • GOTO 2023
Это короткое видео Дэйва Фарли посвящено тому, как быть крутым разработчиком. Интересно, что сам Дейв - тертый калач, который в давние времена написал книгу Continuous Delivery (я про нее рассказывал), а недавно - "Modern Software Engineering: Doing What Works to Build Better Software Faster", которая стоит у меня на полке и ждет своего часа. В этом видео Дейв выделил шесть вещей, которые он считает важными для крутых инженеров
- Code as communication - тут Дейв говорит о том, что код - это средство для коммуникации людей между собой, а не просто для общения с компьютером. Удобочитаемость кода важная для экономии времени и денег, если мы не пишем одноразовый скрипт. Так совокупная стоимость владения на протяжении работы с кодом меньше, так как большую часть времени мы читаем и дорабатываем код, а не раз и навсегда высекаем его в камне:) Интересно, что у Google есть отдельный процесс насчет поддержания readability в их огромной кодовой базе, про который я рассказывал в прошлом посте "Measuring Engineering Productivity". У ребят из Google как раз был вопрос насколько этот процесс окупается и стоит ли его отменить в силу появления линтеров и статических анализаторов. В итоге, ребята поняли, что он приносит пользу и решили его оставить
- Be coutious of framework - здесь Дейв говорит о пользе фреймворков, которая сопряжена с риском. Фишка в том, что фреймворки определяют структуру вашего кода (через концепцию inversion of control) и это влияет на развитие и поддержание проекта. Дейв предлагает прибегать к изоляции стороннего кода за собственной абстракцией. В терминальной стадии риск подсаживания на фреймворки выглядит как разработчик на Spring Boot или Angular/React, которые под свой фреймворк ... и все:)
- Code is design - код и проектирование неразделимы. Автор говорит о том, что зачастую люди под проектированием понимают выбор конкретных технологий навроде K8s, что заменяет решение изначальной проблемы. Другая проблема - это выделение отдельной должности архитектора, к которому отъезжают вопросы проектирования и архитектуры. Кстати, на эту тему был выпуск подкаста "Code of Leadership", где мы с Лешей Тарасовым, техдиром социальных платформ в Тинькофф, обсуждали staff+ трек для индивидуальных контрибьюторов и почему архитектор - это роль высокоуровневых инженеров, а не выделенная должность. В итоге, Дейв заканчивает тезисами хороший код - это выбор организационных принципов для решения проблем. Дизайн - это выбор, который мы делаем каждый день, когда пишем код.
- Quality over features - великие программисты гордятся своей работой и стремятся сохранить и поддерживать свою способность вносить изменения в течение длительного времени. Это имеет смысл, если вы делаете не одноразовые скрипты. Так совокупная стоимость владения на протяжении работы с кодом меньше, так как большую часть времени мы читаем и дорабатываем код. Качество кода проще поддерживать, если у вас есть настроенный CI/CD и вы работаете в продуктовом, а не проектном подходе
- Software development is a social activity - автор говорит о том, что разработка софта - это социальная активность и для того, чтобы быть крутым инженером надо уметь хорошо общаться, уметь активно слушать окружающих, а также внятно доносить свои мысли.
- Avoid code ownership - великие разработчики открыты для критики и готовы учиться новому. В профессиональной среде важно разделять ответственность за код и избегать единоличной ответственности.
P.S.
Раньше я уже рассказывал про другое видео Дейва "The Most Powerful Software Development Process Is The Easiest", которое может быть интересно посмотреть в продолжение этого видео.
#Management #Software #Engineering #SoftwareDevelopment #Processes #Devops #SRE #SelfDevelopment
BY Книжный куб
![](https://photo2.tgoop.com/u/cdn4.cdn-telegram.org/file/ObfbQUZoFrgPIM7GpVslFWWgb1c-j2LEvPa_Izrjgrj84xvCnd6lC5p3nRosmRphGypSdG1bqrobDevEDcnPOMEwmDmqs0o4ZUs9_J9tCflSd1XNuVjpljMoreCP85TmK92XmaQe0pQh383zWnWjPZaEbrF052T5n32EaZrx6-_U4xUIPp5CiAPV2aYEd1iXGdxroojjSbalYpShLXydYfxerRHx16m91nqbbOXkO1gmlF5K43-pq-Xi5YcWPVZLZaEQTbfP-aqCor90PQ5tX_TlUbRcy1JUwxmXujO1K4DV_W6alsymmzGe61mfmAdsEn5uJ8ghrY6qZx5mXA2I8g.jpg)
Share with your friend now:
tgoop.com/book_cube/2139