Как стать автором
Обновить
0
0
Евгений Шипов @shipovfoto

Пользователь

Отправить сообщение

Вспомнить всё: проводим ретроспективы для удалённых команд

Время на прочтение 9 мин
Количество просмотров 10K

Бытует мнение, что ретроспектива это скучная встреча без явной пользы. Если ставить цель, фиксировать прогресс и подбирать интересный формат ретроспективы, то польза от этой командной встречи не заставит себя ждать. В статье вы найдете 3 варианта эффективных ретроспектив, проводимых в командах разработки Ozon.

Читать далее
Всего голосов 33: ↑31 и ↓2 +29
Комментарии 39

Рабочее время: кошелек или жизнь?

Время на прочтение 33 мин
Количество просмотров 17K

Проблемы учета рабочего времени обсуждались не раз и не два. При этом мнение о необходимости таймтрекинга разделяет сотрудников на два противоположных лагеря. Как правило, исполнители всячески осуждают и указывают на неэффективность проектов, в которых необходимо вести учет рабочего времени и ежедневно отчитываться о проделанной работе. Напротив, многие правильные руководители приводят множество доводов в пользу таймтрекинга своих сотрудников. Это противоречие порой вызывает у меня приступы сильной головной боли, которую я попытался унять написанием этой статьи в блог ЛАНИТ. Есть такое лекарство – мышление письмом...

Читать далее
Всего голосов 120: ↑114 и ↓6 +108
Комментарии 24

Совместить несовместимое: Канбан-метод + DevOps на госпроектах

Время на прочтение 20 мин
Количество просмотров 13K

Обычная практика при работе с госами - это долгосрочное планирование, тщательное проектирование, разработка по детальным спецификациям, тестирование и релиз раз в три-четыре месяца. Вроде все логично и понятно но, по моему опыту, в современном быстро меняющемся мире работает далеко не идеально. Многие технологические компании (Amazon, Facebook, Netflix и др.) уже отказались от такого каскадного подхода: формируют гипотезы, проводят  множество маленьких экспериментов для их быстрой апробации в бою. Думаете, чтобы разработать ракету нужен детальный техпроект, план и далее сборка по чертежам? Тогда вы сильно удивитесь, если прочитаете, как это делается в SpaceX.  С таким же недоумением со стороны коллег я сталкиваюсь, когда говорю, что мои команды на госпроектах делают каждый день релизы, организуют частые показы заказчику или пользователям. А еще мы не пишем детальных спецификаций и постоянно развиваем инженерные практики. Почему такой подход имеет место быть и приводит к хорошим результатам, расскажу на примере проекта по созданию ГИС Открытый контроль

Как же вы планируете без диаграмм Ганта? Почему ваши разработчики не оценивают задачи? Зачем вы делаете частые релизы и частые показы? Что делаете, еcли прилетела срочная задача от заказчика? Какие инженерные практики вам пришлось внедрить, чтобы делать релизы каждый день? Ответы на эти вопросы, а также то, почему мы отказались от Scrum вы найдете в статье.

Читать далее
Всего голосов 58: ↑57 и ↓1 +56
Комментарии 15

Как я вывел математический способ определить степень вашей финансовой свободы

Время на прочтение 11 мин
Количество просмотров 41K

С помощью нехитрой математической формулы мы с вами сегодня займемся вычислением того, где находится степень вашей личной финансовой свободы на шкале между сомалийским фермером и кремниевым Цукербергом. Ну, точнее, сначала нам придется придумать, как их между собой сравнивать – и поможет нам в этом KFC!

Читать далее
Всего голосов 63: ↑59 и ↓4 +55
Комментарии 164

Метод улитки: Бухгалтерия для самых маленьких, или почему Кийосаки неправ

Время на прочтение 8 мин
Количество просмотров 14K

Сегодня мы с вами (и с маленькой улиточкой) научимся поражать сотрудниц бухгалтерии во славу Алены Апиной, посчитаем свою чистую стоимость, определим является ли ваш кот Тимофей активом или пассивом, дежурно сплюнем и перекрестимся в сторону дедушки Кийосаки, а также рассчитаем свою норму сбережения (как говорила Елена Малышева: «Это норма!»).

Читать далее
Всего голосов 37: ↑29 и ↓8 +21
Комментарии 115

Метод улитки: как я начал писать лучшую в мире книгу про финансы, и зачем нам нужен капитал

Время на прочтение 12 мин
Количество просмотров 11K

В июле 2021 года в моей жизни произошло два важных события: я переехал на Кипр и начал писать книгу про личные финансы и инвестиции. Естественно, в моей голове она представлялась будущей лучшей в мире книгой по теме (ну а иначе – зачем вообще садиться ее писать?).

Читать далее
Всего голосов 53: ↑36 и ↓17 +19
Комментарии 24

Что будет, если от разработчиков не отстать: умирающая команда

Время на прочтение 11 мин
Количество просмотров 60K
Мне досталась команда, которая болела. Все понимали, что происходит, никому не нравилось, что творится в команде, и традиционно менеджеры такие команды сильно режут. Но здесь были шансы вылечить и без ампутаций.


Источник

15 человек, из них — один руководитель проекта, три фронта, два бэка, три аналитика, девопс. Симптомы обычные: процессы всем не нравятся, соседи — козлы, потому что не то и не так делают, а как нужно — не знают, ответственности ни на ком толком нет ни за что.

Вроде бы когда-то это был настроенный конвейер, но теперь его куски — как будто в разных зданиях. Особо не заботятся о том, что было «до» и что будет «после». А если всё падает, то люди поднимают руки: «Я не виноват. Я не знаю, как поднять».

Проект — внутренний банка, он нужен для улучшения работы внутри компании. Традиционных решений в кровавом энерпрайзе — два: нанять новую команду (но вгружать мидла на проект такой сложности — три-четыре месяца) или же оставить проект на поддержке, через два года найти ему замену, а команду тихо похоронить в подвале. Точнее, не так: те, кто плывет по течению и не заботится о карьере, остаются тихо сидеть «на пенсии», то есть в бесконечной поддержке проекта. А самые проактивные тут же перейдут в другие команды или другие компании.

Почему процессы разваливались? На первый взгляд, потому, что была куча ненужных совещаний и встреч с теми, кого разработчики вообще не должны были видеть. Плюс местами странноватые KPI. Как это ни странно, но если психологически давить на разработчика пару лет, то ничем хорошим это не закончится. Руководство подразделения дало мне карт-бланш на исправления, и я начал разбираться, что же случилось.
Читать дальше →
Всего голосов 213: ↑209 и ↓4 +205
Комментарии 74

Дюк, вынеси мусор! — 1. Введение

Время на прочтение 13 мин
Количество просмотров 209K


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать
Всего голосов 36: ↑36 и ↓0 +36
Комментарии 7

Глубокое погружение в Java Memory Model

Время на прочтение 53 мин
Количество просмотров 123K


Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.


В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.

Читать дальше →
Всего голосов 109: ↑109 и ↓0 +109
Комментарии 60

Большой гайд. Пишем микросервисы на Java и Spring Boot, заворачиваем в Docker, запускаем на EKS, мониторим на Grafana

Время на прочтение 37 мин
Количество просмотров 81K

Туториалы делятся на две больших категории: либо "как нарисовать сову", либо подробно расписанные тысячи шагов в формате "напиши туториал для дурака - и только дурак захочет его читать".

Как какой из двух категорий относится эта статья — решать вам.

В этой статье вы увидите пошаговое создание cloud-native микросервиса на Amazon AWS, пригодное для "чтения с листа". Чтобы понять, что здесь происходит, не нужно разворачивать проект - достаточно обладать живым воображением и прочитать текст по диагонали. Если же вы всё-таки захотите повторить шаги, вам будут жизненно нужны знания вида, как создавать классы в IDE и что такое Spring.

Вначале мы напишем пару простых микросервисов на Spring Boot, докеризуем их, зальём в AWS, настроим красивые доменные имена и HTTPS, прикрутим логирование и мониторинг, Prometheus и Grafana. Это небольшое путешествие по всем кругам ада, из которого вы не вернетесь прежним.

Текст написан на основе текстов и демо-проекта microservice-customer за авторством @kamaruzzaman. Если вы потеряли нить повествования, всегда можно зайти на GitHub и найти весь код в пригодном для запуска виде. Если захочется закопаться в тему, то бро Дима Чуйко (@Teapot) написал вам ещё две части статьи "Микросервисы: от CRUD до Native Image" (раз, два).

Последняя важная оговорка. В этом гайде будут использоваться технологии Amazon и обычные дистрибутивы OpenJDK. Автор осознает, что мы живём в России, и возможно, вместо Amazon куда лучше подойдет что-то вроде SberCloud или MTS Cloud, а вместо обычного OpenJDK - Axiom JDK с сертификацией по ФСТЭК. Особенности российских технологий - тема для отдельной статьи. Если вы захотите таковую после чтения этого гайда - отметьтесь в комментариях.

Читать далее
Всего голосов 88: ↑87 и ↓1 +86
Комментарии 27

Как правильно имитировать Agile?

Время на прочтение 15 мин
Количество просмотров 35K

Подобная статья должна была появиться раньше, лет десять или пятнадцать назад, когда Agile только начинал внедряться в ИТ-компаниях. Сколько можно бы было избежать ошибок, проблем, конфликтов, , если бы менеджеры сразу подходили к вопросу правильно, не отвлекаясь на лишние действия …

Зато за это время накопился опыт "внедрений" Agile в разных условиях, в разных компаниях, который следует обобщить и повсеместно распространять.

Читать далее
Всего голосов 92: ↑89 и ↓3 +86
Комментарии 40

Сможете ли вы решить задачки со вступительных экзаменов в Оксфордский университет?

Время на прочтение 5 мин
Количество просмотров 75K


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

Все три задачки в последние годы задавались во время собеседований при поступлении в Оксфордский университет на философский факультет. В каждой из задач есть первоначальный вопрос, и почти все кандидаты правильно ответили на него. Далее в тексте идут дополнительные вопросы, с которыми справились только лучшие из лучших.
Читать дальше →
Всего голосов 86: ↑83 и ↓3 +80
Комментарии 93

Ontol: Самые полезные материалы для релокейта в любую страну мира

Время на прочтение 8 мин
Количество просмотров 22K
image

В предыдущей подборке самых полезных материалов про визу O-1 много спрашивали про релокейт в Европу. Я целый день копал рунет и накопал полезное про релокейт не только в Европу, но почти куда угодно: Азию, Латинскую Америку, Австралию, Ближний Восток, Африку, Китай и даже… в Россию. Всего про 49 стран.

Недавний (пару недель назад) опрос 2423 ИТишников (50% Senior, 30% Middle, 10% Junior):

  • 23% в ближайшие 5 лет точно уеду (563)
  • 18% уже уехал (443)
  • 37% колеблюсь (900)
  • 21% не собираюсь уезжать в принципе (517)


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

В конце поста — опрос.

(Если у вас есть полезные ссылки на «личный опыт» по релокейту, который вам понравился, делитесь, буду признателен.)
Читать дальше →
Всего голосов 41: ↑35 и ↓6 +29
Комментарии 14

Ускорение Maven сборки

Время на прочтение 6 мин
Количество просмотров 7.7K

Узнайте, как сделать сборки Maven более быстрыми и эффективными

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

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 7

Блеск и нищета модели предметной области

Время на прочтение 28 мин
Количество просмотров 46K


Мартин Фаулер в книге «Patterns of Enterprise Application Architecture» описывает «Модель предметной области (Domain Model)» как сложный подход к организации бизнес-логики. Метод заключается в создании классов, соответствующих объектам предметной области из реального мира как с точки зрения структуры данных, так и поведения. При этом технические аспекты, такие как хранение данных, аутентификация и авторизация, управление транзакциями, выносится за пределы слоя бизнес-логики. Паттерн реализуется одним из двух способов:

  1. Богатая (насыщенная) модель — данные и поведение инкапсулируются внутри объектов предметной области.
  2. Анемичная модель — в объектах предметной области инкапсулируются только данные, поведение (методы) выносится в отдельный слой сервисов.

Фаулер и Эванс считают анемичную модель анти-паттерном. Однако многие кодовые базы, с которыми мне доводилось работать, реализованы именно в стиле «анемичной» модели. Под катом расшифровка и видео моего доклада с DotNext 2019 Moscow, посвященного сравнению сильных и слабых сторон обоих подходов и не очевидным деталям реализации модели предметной области в парадигме ООП и в функциональном стиле.
Читать дальше →
Всего голосов 49: ↑47 и ↓2 +45
Комментарии 46

Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем

Время на прочтение 25 мин
Количество просмотров 122K
Привет, меня зовут Костя Кардаманов, я работаю в отделе технологий разработки Яндекса. Обычно такой же фразой я приветствую и кандидатов на собеседовании. А сегодня я хотел бы рассказать вам, как и зачем мы проводим интервью по дизайну систем с бэкенд-разработчиками. Сразу скажу: для фронтендеров, мобильных разработчиков и ML-инженеров подобный тип собеседований применим слабо, так что эти специальности мы здесь обсуждать не будем.

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

Что такое дизайн информационных систем


Основная цель любой IT-компании — производить сервисы, которые решают задачи пользователей. Мы должны уметь собирать элементы системы в единый механизм, который будет эффективно выполнять поставленную цель, и если первый тип собеседований нацелен в первую очередь на проверку необходимого минимума, то интервью про дизайн систем проверяет достаточность навыков кандидата в достижении конечной цели. Далекому от IT пользователю принципы и устройство систем могут казаться бесконечно сложными, но мы, их разработчики, должны иметь (не обязательно детальное) представление о принципах функционирования и роли каждого компонента.

Опытный читатель может сказать — в мире полно платных и бесплатных решений, из которых я могу собрать систему как из деталей конструктора, зачем мне понимать устройство этих деталей?
Читать дальше →
Всего голосов 94: ↑92 и ↓2 +90
Комментарии 37

Книги, которые повлияли на меня как на разработчика и управленца

Время на прочтение 6 мин
Количество просмотров 12K

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

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

Читать далее
Всего голосов 30: ↑27 и ↓3 +24
Комментарии 3

Невидимые убийцы в воздухе: как продлить себе жизнь, контролируя уровень чистого воздуха и PM₂,₅

Время на прочтение 24 мин
Количество просмотров 30K


О чем вы беспокоитесь больше: о физических упражнениях, употреблении овощей или о воздухе, которым вы дышите?

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

Давайте посмотрим на это с разумной стороны: возьмем четыре самые большие страны мира и сравним, сколько людей умерло по тем или иным причинам в 2019 году.

image

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

Чтобы ответить на этот вопрос, нам нужны числа. Ниже я оценил, насколько различные факторы влияют на жизнь через качество воздуха.

Образ жизни
Быть викингом стоит 4 года жизни.
Жить в Дели стоит 3 года жизни.
Постоянно ездить на поезде из Ньюарка в Нью-Йорк стоит 6 месяцев жизни
Проживание в средней части США стоит 3 месяца жизни
(Вдыхать дым от чьего-то вейпа — около 0?)

Отдельно взятое событие
Если вы жили рядом с лесными пожарами на западном побережье США 2020 года, то это стоило вам 2,4 дня жизни.
Разжечь дома по-настоящему дымный огонь стоит 1 день жизни
Жечь конусное благовоние — 2,3 часа жизни
Одну ночь использовать ультразвуковой увлажнитель воздуха — 50 минут жизни
Жарить рыбу при закрытых окнах — 45 минут жизни
Жечь благовония-палочки — 27 минут жизни
Использование лака для волос — 14 минут жизни
Выкурить одну сигарету — 11 минут жизни
Задуть свечу перед сном — 10 минут жизни
Читать дальше →
Всего голосов 55: ↑46 и ↓9 +37
Комментарии 76

Как найти удаленную работу в зарубежной компании. 10 шагов

Время на прочтение 10 мин
Количество просмотров 58K


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


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


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


Вот несколько наблюдений о том, как разработчику найти удаленную работу в 2021 году. И большой список ресурсов, которые могут помочь вам получить хорошую должность.

Читать дальше →
Всего голосов 32: ↑30 и ↓2 +28
Комментарии 16

Apache Kafka: основы технологии

Время на прочтение 9 мин
Количество просмотров 351K

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


Статья подготовлена на основе открытого занятия из видеокурса по Apache Kafka. Авторы — Анатолий Солдатов, Lead Engineer в Авито, и Александр Миронов, Infrastructure Engineer в Stripe. Базовые темы курса доступны на Youtube.

Всего голосов 29: ↑29 и ↓0 +29
Комментарии 10

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность