Size: a a a

2020 November 06
xpinjection
​​Сегодня пятница и у меня есть замечательная картинка по этому поводу. Хороших всем выходных!
источник
2020 November 10
xpinjection
Я достаточно часто покупаю электронные книги пачкой на сервисе Humble Bundle. Всего за $15 вы получаете 15 книг на определенную тематику. Сегодня доступна отличная пачка книг на тему Java разработки. Тут и Quarkus и Continuous Delivery, Kotlin и производительность, а также отличная книга "97 Things Every Java Programmer Should Know" с множеством полезных советов для разработчиков. В общем, отличный способ потратить с пользой $15.

#книги #books
источник
2020 November 18
xpinjection
​​Хотите вырасти из «мидла» и «сеньора» в тимлида и выйти на новый уровень зарплат? Тогда вам нужно уметь строить процессы, управлять людьми, делать продукт и разработку качественными. И четко видеть ценности бизнеса.

Как возглавить команду и привести к успеху вы сможете узнать на курсе «Руководитель команды разработки» от GeekBrains и Agima. За полгода совместной работы преподаватели с опытом управления научат вас рулить проектами и добиваться поставленных целей. Никаких абстрактных примеров, только реальные задачи, только хардкор. В финале добавите готовую проектную работу в портфолио, а три студента курса могут стать тимлидами в Agima.

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

Записывайтесь на курс прямо сейчас → https://geekbrains.ru/link/sQhXV0.

#реклама
источник
2020 November 19
xpinjection
​​У меня есть краткое пособие по планированию проектов, которое лучше визуализировано чем знаменитый «железный треугольник» или пирамидка. С помощью данного пособия можно быстро объяснить кому-то что получится в случае фокуса на нескольких из классических целей. Пользуйтесь на здоровье!

#менеджмент #проекты
источник
2020 November 23
xpinjection
Cloud Builders Build-up: Cloud Native Edition

3 декабря Cloud Builders проводит бесплатный онлайн Build-up, который объединит ведущих экспертов из Microsoft, Red Hat и CNCF в дискуссии про Cloud Native.

В программе:

✔️ Mark Fussell, Principal Program Manager в Microsoft с темой «Building microservice applications with the Distributed Application Runtime (Dapr)».

А также 2 fireside чата с:

✔️ Daniel Oh, Principal Technical Product Manager в Red Hat и
✔️ Cheryl Hung, VP Ecosystem в Cloud Native Computing Foundation.

В рамках дискуссии между экспертами и модератором вы сможете поделиться личными кейсами (BYOP – bring your own problems) и обсудить их со спикерами.

✔️ Модератор – Maxim Salnikov, Azure Developer Technical Lead в Microsoft.

В первую очередь будет интересно Solutions Architects, а также Middle & Senior DevOps/CloudOps, SRE, Release Managers, Systems Engineers, Software Engineers и Tech Leads.
источник
2020 November 25
xpinjection
В середине ноября вышла очередная версия любимого многими разработчиками Spring Boot 2.4.0. Помимо множественных мелких улучшений и исправлений дефектов, команда разработки фреймворка продолжает развивать основные тренды, заданные с версии 2.0.0.

1. Улучшения в области конфигурации с прицелом на Kubernetes как основную современную платформу контейнерной оркестрации:

- внешний файл конфигурации теперь перекрывает значения запакованных «профильных» файлов;
- если дополнительные конфигурации через spring.config.location или spring.config.import не найдены, то сервис не поднимется, что снизит вероятность ошибок конфигурации;
- поддержка файлов без расширения;
- поддержка конфигураций из файловой системы, где имя файла является ключом и значение хранится в файле, что даёт больше возможностей по подключению секретов;
- связь между источниками конфигураций через Origin.getParent().

2. Тюнинг сборки Docker образов:

- послойная сборка JAR и Docker образа работает теперь по умолчанию с возможностью более тонкой настройки слоев;
- возможность публиковать собранные Docker образы в репозиторий;
- стартеры, которые приносят только транзитивные зависимости, не упаковываются в итоговый JAR.

3. Улучшения мониторинга:

- новые хелсчеки для Cassandra и Neo4j;
- новый Spring Boot Actuator эндпоинт startup для получения информации о времени старта различных компонентов приложения;
- статистика использование Redis кэша.

4. Переход на версию Spring 5.3 и продолжение отказа от reflection. В результате, все больше возможностей по оптимизации времени старта приложения и используемых ресурсов.

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

#Java #SpringBoot
источник
2020 December 11
xpinjection
​​Регулярная рубрика для поднятия пятничного настроения. В этот раз на тему Agile трансформаций в энтерпрайзах. :)
источник
2020 December 14
xpinjection
17 декабря Cloud Builders проводит очередной бесплатный онлайн митап, который объединит экспертов из AWS и tech/uklon. Да, tech/uklon - это та самая компания, которая стоит за технической стороной сервиса такси Uklon.

В программе митапа:

✔️ Игорь Иванюк, Senior Solutions Architect в AWS
Тема: «How to migrate your data from on-premises to AWS easily».

✔️ Виталий Дятленко, СTO & Co-Founder в tech/uklon
Интервью на тему «Uklon: the hard way from a single PC to the cloud».

✔️ Родион Сабодаш, DevOps Tech Lead в tech/uklon
Тема: «Deployments in Uklon: from laptop to production with GitOps».

Присоединяйтесь, должно быть интересно! Отличная возможность узнать как устроена разработка в «украинском Uber».
источник
2020 December 15
xpinjection
Я спешу порадовать вас очередным отличным набором книг по бросовой цене. За $15 вы получите набор из 14 книг. Что есть в наборе?

- Второе издание "Terraform Up & Running". Terraform является ключевой технологией для работы с инфраструкутрой как кодом, поэтому книжка точно лишней не будет.
- "Prometheus: Up & Running". Еще одна ключевая технология в современной инфраструктуре, без которой сложно представить себе мониторинг.
- "Jenkins 2: Up and Running". Насколько я не люблю Jenkins, но он продолжает пользоваться популярностью.
- "Database Reliability Engineering" будет однозначно очень полезной тем, кто проектирует свои хранилища данных в распределенных системах.
- "97 Things Every Scrum Practitioner Should Know" является неожиданной книгой для этого набора, но все другие книги из серии "97 Things..." мне очень зашли. Думаю эта будет не хуже.
- "Seeking SRE" покрывает еще одну очень горячую тему в инфраструктурном и DevOps мире.
- "Kubernetes Best Practices" даже за название уже стоит того, чтобы ее прочитать. :)
- "Programming AWS Lambda" и "Migrating to AWS: A Manager's Guide" точно будут интересны в современном мире облачных инфраструктур.

В общем, настоятельно рекомендую приобрести и добавить в список на прочтение.
источник
2020 December 23
xpinjection
​​Пожалуй, лучшая картинка на тему ScrumMaster. :)
источник
2020 December 31
xpinjection
В конце года принято подводить итоги и чего-то всем желать. 2020-й принёс столько негатива, что подводить итоги никакого желания нет. А вот пожелания на наступающий год - это обязательно. Я бы хотел их построить на базе очень интересного наблюдения.

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

Если все под контролем, то становится одновременно скучно и развитие постепенно останавливается. Отсутствие же контроля создаёт определенные зоны хаоса, очень некомфортные для нашего мозга и мы стремимся снова взять все под контроль. Для этого нужно совершенствовать свои подходы, практики и инструменты. То есть развиваться.

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

Я бы хотел пожелать вам всем в Новом Году найти для себя ту индивидуальную скорость, которая позволила бы постоянно развиваться, не испытывать скуку, но при этом и никогда не выгорать в попытках борьбы с ветряными мельницами. Ну и конечно, чтобы 2021-й оправдал ожидания! Всем хорошо отдохнуть и вступить в Новый Год с новыми силами и зарядом позитива!

🎅🏻🎄☃️🍾🥂🎉
источник
2021 January 05
xpinjection
2 месяца назад я опубликовал в канале пост о ролевых дисфункциях и разделении работы в компании на 3 уровня (стратегический, тактический и операционный). Обещал продолжение с примерами из реальной практики, но совсем запамятовал. Сегодня вспомнил и решил вернуться к этой теме.

Начнем с моего любимого анти-паттерна "наш CTO пишет код". Я его встречал несколько раз и обычно он порождался одной и той же цепочкой событий. Небольшой компании нужен CTO, но хотелось бы кого-то из знакомых и желательно готовых работать "за идею". На примете есть только разработчики с разным уровнем опыта, поэтому выбор падает на одного из них. Причем, зачастую даже без архитектурного или техлидского опыта.

Такой кандидат всю жизнь работал на операционном уровне, изредка возможно заглядывая в тактический. Именно этим он и продолжает заниматься на новой позиции: пишет код, делает ревью, локальный дизайн и т.д. При этом в полной уверенности, что это реально круто, ведь CTO "близок к команде". На практике же это означает, что на стратегическом уровне вообще ничего значительного не сделано и при этом в команде появляется "бутылочное горлышко", тормозящее разработку. А там есть чем заняться: архитектура, нефункциональные требования, стратегия технологического развития, потенциальные партнерские интеграции, презентации, выстраивание инженерных процессов и т.д.

Второй анти-паттерн я называю "заоблачный PMO". Он проявляется когда костяк этой влиятельной организации находится сугубо на стратегическом уровне и не вовлечен в тактику от слова совсем. То есть, люди на 100% выделены заниматься стратегическими задачами и не работают с реальными проектами, командами и продуктами. В результате, такой PMO порождает множество "полезнейших" KPI, оторванных от реальности задокументированных процессов, проектные комитеты и другие ценные артефакты. А вся остальная компания либо находит способы их элегантного игнорирования, либо страдает.

Для улучшения ситуации можно формировать PMO (если уж очень хочется иметь его формально в организации) ислючительно из практиков своего дела, которые минимум на 30-50% занимаются тактической работой. Тогда пропасть между теоретически красивыми идеями и прикладным применением становится гораздо уже.

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

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

Поделитесь в комментариях, с какими интересными проявлениями данной проблемы вы сталкивались на практике, кроме известных power point архитекторов.
источник
xpinjection
Решил провести эксперимент и включить нативные комментарии к постам. Посмотрим, будет ли эта фича полезной для канала. :)

P.S.: выяснилось, что они не работают с реакциями, поэтому так себе фича конечно...
источник
2021 January 06
xpinjection
Минутка рекламы на канале для тех, кто хотел бы начать развитие в направлении DevOps или знает начинающих инженеров, интересующихся данной темой.

Популярность DevOps растет с каждым днем, а «девопсы» нужны всем и желательно на вчера. Чтобы сделать первый шаг и начать прокачиваться в данной области, скорее регистрируйтесь на бесплатный вебинар «Как стать DevOps-инженером» образовательной экосистемы GeekBrains Mail.Ru Group. Вам расскажут, кто такие devops-инженеры и какие проблемы они решают.

За полтора часа вы узнаете:

– стандартные практики управления и администрирования IT-инфраструктуры;
– проблемы пользователей, связанные с данными практиками;
– возможности, появляющиеся со сменой подхода;
– требования к успешной работе инженеров и администраторов.

Возможно, это станет первым шагом на пути к успешной IT-карьере.
источник
2021 January 08
xpinjection
С приходом микросервисов стало разрабатываться гораздо больше API на бэкенде, теперь не только для обслуживания UI, но и для коммуникации между микросервисами. И, понятное дело, его нужно тестировать. В результате, происходит существенное дублирование усилий:

- автор API делает модельки для серверной части, добавляя все правила валидации;
- автор API поверх моделек делает документацию (надеюсь, генерируемую), где дублирует валидационные правила;
- все клиенты тоже делают модельки и определяют клиентские интерфейсы (надеюсь, декларативно);
- для тестов снова нужно сделать модельки и определить клиентские интерфейсы на удобном для тестирования фреймворке;
- а ещё стабы и ряд других вещей...

И это приходится поддерживать в рабочем состоянии по мере эволюционирования и версионирования API.

Благо, уже давно появился стандарт OpenAPI спецификаций и теперь можно полноценно реализовать “API first” подход. Единственным источником правды при таком подходе является спецификация, которая хранится в отдельном git репозитории. Ее изменения полностью под контролем и строго версионированы. Мало того, на каждое изменение можно вызвать в рамках CI пайплайна инструмент для проверки обратной совместимости и форсировать изменение официальной версии.

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

А вы используете подобный подход? Поделитесь в комментариях.
источник
2021 January 10
xpinjection
Code Review - одна из наиболее сложных в реализации инженерных практик, так как очень сильно упирается в человеческий фактор. Ревью в каком-то виде есть практически у всех команд, но у подавляющего большинства он делается либо «для галочки» либо существенно ухудшает скорость разработки и отношения между членами команд.

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

Пару недель назад мне встретилась отличная статья о том, как автор может значительно улучшить эффективность ревью. В статье собраны отличные практические советы и я согласен с ними на 100%. Мы готовили первые выступления на тему Code Review ещё в далёком 2009-м году и они по-прежнему актуальны. Я решил собрать в один список несколько статей и записи моих докладов для более глубокого погружения в тему.

Надеюсь, список получился полезным.
источник
2021 January 12
xpinjection
Несколько лет назад мне пришла в голову идея собрать часто встречаемые мной анти-паттерны среди тестировщиков и описать их в виде персон. Так родился доклад “Бытовая классификация тестировщиков с точки зрения разработчика”.

Недавно мне попалась на глаза небольшая статья на похожую тему. Я решил поделиться ей с вами в канале. А с какими ещё персонами в тестировании сталкивались вы? Делитесь в комментариях!
источник
2021 January 27
xpinjection
В 2021 году я решил вернуться к регулярному чтению книг и читать 1-2 книги в месяц. Первой из списка на прочтение стала уже упоминаемая мной в канале книга «Monolith to microservices» от Сэма Ньюмана. Она была изначально в середине списка, но я начал вести очередной корпоративный курс по микросервисной архитектуре и захотел чуток расширить материалы в области перехода от монолита на микросервисы.

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

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

Во второй части начинается обзор декомпозиции на уровне данных и это самое большое разочарование для меня. Большая часть материала - это краткий пересказ книги «Refactoring Databases», которую я прочитал много лет назад, только с упоминанием контекста микросервисов. Для погружения в тему даже сам автор рекомендует эту книгу для прочтения. Снова не хватило нетривиальных решений, особенно с миксом хранилищ разных типов.

А вот концовка книги достаточно полезная. Там перечисляется список потенциальных проблем, с которыми команда или организация может столкнуться на определённом этапе развития в мире микросервисов. И ко всем проблемам варианты решений с жизненными примерами. Мне было достаточно интересно, хотя я уже много чего повидал. :)

В целом, книга однозначно полезная, но не слишком глубокая. Рекомендую ее к обязательному прочтению для более осмысленного использования микросервисов и популярного в наши дни «распила монолитов». Но не стоит ожидать слишком большого погружения в технологические детали. Это скорее обзор, нежели чем детальное руководство. Особенно по сравнению с «Microservice Patterns».

#books #книги
источник
2021 January 28
xpinjection
​​В середине 2020-го я ещё искренне верил, что эпидемия закончится и мы начнём возвращаться к привычной работе в офисах. Но к концу года понял, что карантин и удаленная работа с нами надолго, а работать целый день сидя - это очень нездорово. Поэтому решил наконец преобразовать своё рабочее пространство.

Для этого был заказан стол для работы стоя, внешняя клавиатура и подставка для ноутбука. Столешницу сделал компактную под заказ из того же материала что и столешницы у тумбочек. Кабель-менеджмент продуман отлично и все кабеля аккуратно спрятаны под столом. Это не особенность конкретного стола или компании, все делают практически одинаково из китайских комплектующих. Поднимается стол достаточно быстро, секунд 20 до верхнего положения. Памяти на 4 позиции предостаточно для всех задач.

Сказать что я доволен - это ничего не сказать. Прямо совсем другая жизнь! Теперь я работаю с постоянным чередованием режимов сидя/стоя раз в 40-50 минут. Ноги все время в тонусе, общее самочувствие стало гораздо лучше, меньше устаю от длинных онлайн встреч. Всячески рекомендую! Ниже можно увидеть как выглядит сейчас мое рабочее место.

P.S.: Вы можете обратить внимание на странное кресло. Я уже давно выбрал несколько кандидатов на замену, но не было поставок в Украину. Так что скоро ждите обновлений. :)
источник
2021 January 31
xpinjection
20 лет назад случилось событие, которое оказало сильнейшее влияние на IT индустрию. Группа энтузиастов того времени создала и подписала Agile-манифест, в котором были озвучены основные Agile-ценности. С тех пор многие компании полностью переосмыслили свои подходы к разработке и используемые практики, научившись разрабатывать и поставлять качественные продукты клиентам, а также быстрее реагировать на потребности рынка.

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

Итак, собираемся 10 февраля в 19:00 по Киеву. Участие бесплатное, но требуется предварительная регистрация. Увидимся в эфире!

#Agile #meetup
источник