Search
Write a publication
Pull to refresh
-17
0

Системный архитектор

Send message

Олды в ИТ

Reading time18 min
Views90K

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее

На ком лежит ответственность за качество программного обеспечения?

Reading time7 min
Views7.9K

Agile методология разработки программного обеспечения и DevOps, и в особенности их упор на юзер экспириенс, обращают наше внимание на людей, стоящих за продуктами. Но действительно ли процесс разработки имеет значение или же цель попросту оправдывает средства? Лондонская P3X или People, Product, and Process Exchange в значительной степени сфокусирована на точке пересечения трех этих P, причем, пожалуй, последняя из них является наиболее интересной, поскольку объединила в себе самое большое количество акронимов - разработка через тестирование (TDD - test-driven development), разработка на основе поведения (BDD - behavior-driven development), непрерывная доставка (CD - continuous delivery), разработка на основе предметной области (DDD - domain-driven development) и многие другие - чтобы помочь командам определить, как систематически создавать лучшие системы.

Соучредитель Agile Testing Fellowship Джанет Грегори завершила свой основной доклад о процессе обеспечения качества программного обеспечения, попросив собравшихся поднять руки, если они чувствуют момент волшебства в своей agile-команде и чувствуют, что несут миру качество. Лишь несколько человек из аудитории, предположительно полностью состоящей из практикующих agile разработчиков, подняли руки.

Как так получилось, что с момента подписания Agile-манифеста прошло 17 лет (на момент доклада), а все еще так мало людей вышли за рамки созерцания теней на стене пещеры? Быть может, у нас все еще нет правильного диалога. Быть может, мы все еще не ведем его с правильными людьми. Или, может быть, диалог вообще не являются частью наших процессов.

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

Читать далее

Мой опыт в самоорганизующейся команде

Reading time4 min
Views5.8K

Привет! Я хочу рассказать про свой опыт в самоорганизующейся команде. За полтора года там было от 3 до 5 разработчиков, я не занимался их наймом, но все процессы и разработку я построил с нуля. Расскажу что такое самоорганизующаяся команда, какую пользу она приносит для компании, команды, и ее участников.

Читать далее

Как мы в СберМаркете боремся с товарами-призраками

Reading time4 min
Views9.7K

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

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

Из-за отмены всем станет грустно. Есть шанс, что в такой ситуации покупатель и вовсе откажется от сервиса, а компания потеряет потенциальную выручку. Чтобы пользователи не расстраивались и оставались с нами дольше, мы ввели метрику под названием «‎доля ненайденных товаров»‎. Она показывает процент таких продуктов от общего числа заказов. 

Рассказываем, как мы внедрили алгоритм автоматического отключения таких «‎призраков»‎ и уменьшили долю ненайденных товаров на 25%.

Читать далее

Y Combinator: Как организовать совет директоров для стартапа и рулить им

Reading time15 min
Views3.6K
image

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

Некоторые термины
  • board – совет директоров
  • board deck – презентация, слайды для заседаний СД
  • prep email – предварительное, подготовительное письмо
  • memo – служебная записка, заметка, письмо
  • bi-weekly, bi-monthly, bi-annual – дважды в ..
  • rotating member – сменяемый член СД
  • employee pulse survey – опрос сотрудников компании, сбор сведений об их удовлетворенности от работы, о проблемах в коммуникациях между персоналом и т.п.

Один из самых распространенных вопросов, которые мы слышим от основателей – “Как выстроить работу совета директоров?” Этот вопрос беспокоит фаундера, ибо он впервые подвергается внешнему надзору – совет директоров имеет набор полномочий, включающий увольнение CEO и высшее руководство. Так что вполне естественно ощущать это беспокойство. В этом посте я поделюсь коллективной мудростью сообщества YC, чтобы помочь основателям ориентироваться среди лучших практик управления советом директоров, включая проведение заседаний и преодоление проблемных моментов. Там, где возможно, я включил реальные примеры из практики компаний YC и партнеров.
Читать дальше →

Мониторинг и управление потоком задач в рамках взаимодействия микросервисов

Reading time11 min
Views7.8K


Ключевые тезисы:

  • Взаимодействие между компонентами напрямую друг с другом может привести к неожиданному поведению, в котором сложно будет разобраться разработчикам, операторам и бизнес-аналитикам.
  • Чтобы обеспечить устойчивость бизнеса, вам нужно видеть все возникающие в системе взаимодействия.
  • Добиться этого позволяют разные подходы: распределённая трассировка, обычно не учитывающая бизнес-аспекты; озёра данных, требующие заметных усилий по настройке получаемых срезов данных; отслеживание процессов, когда вам приходится моделировать интересующий поток задач; контроль и анализ процессов (process mining), позволяющие исследовать поток задач; и вплоть до оркестрации, в которой прозрачность процессов уже имеется.
  • Мы поговорим о том, что вам нужно балансировать между оркестрацией и хореографией микросервисной архитектуры, чтобы понимать, управлять и менять свою систему.
Читать дальше →

20 месяцев, 2000 часов работы, 200 000 евро убытков: история об упорстве и невозвратных затратах

Reading time13 min
Views12K


Если выразить идею статьи в двух словах: иногда бывает сложно понять, то ли ты проявляешь настойчивость, то ли попался в ловушку невозвратных затрат. Своему текущему проекту я отдал двадцать месяцев, проработал над ним в общей сложности две тысячи часов и «потерял» двести тысяч евро на своём решении заниматься этим, а не чем-то другим. Проект до сих пор не завершён. Под катом – история о том, как это было.
Читать дальше →

Претотипирование — новый термин в словаре или как проверить идею очень дешево и очень быстро

Reading time9 min
Views11K

Проблема

У каждого из нас есть не менее одной идеи на миллион. Но далеко не у каждого получается воплотить свои задумки в жизнь. Этому есть ряд причин, о которых написано немало книг и статей. Известно также, что реализовать свои идеи не получается даже у крупных компаний с большим опытом, крутой командой и немалым бюджетом. Для примера можно посмотреть на «кладбище» проектов компании Google или «морг» Microsoft. Трудно представить, что у этих компаний столько много не получившихся проектов, на которые были потрачены немалые деньги и время.

Что делать? Какое решение? В этой статье собрана большая часть методов проверки гипотез, также рассказывается о новом термине «претотипирование» с примерами известных компаний.

Читать далее

CI/CD для проекта в GitHub с развертыванием на AWS EC2

Reading time6 min
Views12K

Имеем: проект web API на .net core с исходниками в GitHub.

Хотим: авторазвертывание на виртуалке AWS EC2 после завершения работы с кодом (для примера push в develop ветку).

Инструментарий: GitHub Actions, AWS CodeDeploy, S3, EC2.

Ниже flow процесса, который будем реализовывать, погнали.

Читать далее

Как сделать хорошую интеграцию? Часть 1

Reading time11 min
Views23K
Вопрос в заголовке включает в себя неочевидную часть, ведь перед тем, как рассказывать про создание хорошей интеграции стоит определить, какую интеграцию мы считаем хорошей. А ответ на этот вопрос не однозначен.

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


Читать дальше →

17 полезных ресурсов для маркетолога от директора по маркетингу и PR

Reading time4 min
Views16K

Маркетолог — слишком уж разносторонняя личность. И даже если специалист углубляется в одну сферу, например, контент или SEO, понимание, как работают другие подразделения жизненно необходимо. Я работаю в сфере маркетинга уже 23 года, сейчас руковожу департаментом маркетинга и коммуникаций в в федеральном банке. Три года назад для отслеживания лучших вакансий на рынке создал telegram-канала для маркетологов. Очень важно быть в курсе того, что происходит в сфере. Каждый день появляется что-то новое, но есть некоторые ресурсы, книги и фильмы, которые не просто полезны в моей работе, а основополагающие, особенно для начинающих маркетологов. Я их разбил на так называемые номинации, постарался ранжировать от общего к специализированному:

Читать далее

Обновление вашего PWA в продакшене

Reading time6 min
Views18K

Вам больше не помогут no-cache или max-age заголовки, вы просто не знали и не могли узнать о механизме обновления SW. Потому что про него вам не говорили.

Читать далее

Строим безопасную разработку в ритейлере. Итоги одного большого проекта

Reading time7 min
Views3.5K
Эта статья — завершающая в цикле материалов о нашем опыте выстраивания процесса безопасной разработки для крупного ритейлера. Если пропустили, можете прочитать первые части: о безопасной разработке порталов и мобильных приложений, о безопасной разработке в группе приложений SAP и о встраивании в процесс разработки кассового ПО. Настало время собрать шишки, которые мы набили подвести итоги.

Все было классно. И на этом мы могли бы закончить, если бы не одно «но». При планировании мы некорректно оценили время интеграции. Спойлер: многое пошло не так, в результате внедрение усложнилось, сроки сдвинулись. Спойлер 2: учесть все факторы риска было невозможно. И вот с этого момента давайте поподробнее.


Читать дальше →

На пути к Canary

Reading time8 min
Views3.6K
За последние 5 лет мне приходилось работать над несколькими крупными проектами, и во всех из них неизменным было одно: сервисы релизили в наименее нагруженные часы, релиз подразумевал отказ в обслуживании клиентов, а любые проблемы стоили неимоверно дорого, потому что план отхода подразумевал сложные манипуляции с БД и с сопутствующими сервисами. В этой статье я расскажу, как изменить подход к релизам таким образом, чтобы этот процесс становился абсолютно рутинным и не требовал большого количества ресурсов. Замечу, что это не единственно возможный вариант.

В качестве примера я взял приложение, которое использует PostgreSQL в качестве БД и имеет публичный и приватный REST API. Основным клиентом у нас будет SPA, написанное на Angular. И вот со всем этим добром мы попытаемся взлететь :)
Читать дальше →

Сравнение Managed Kubernetes сервисов: GKE, EKS и AKS

Reading time6 min
Views6.7K


Сравнение трех самых популярных Managed Kubernetes платформ.


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


В статье сравним Amazon Elastic Kubernetes Service (EKS), Google Kubernetes Engine (GKE) и Azure Kubernetes Service (AKS).

Читать дальше →

Агрегаты, мои агрегаты, как приятно о вас думать

Reading time7 min
Views33K

В Domain-Driven Design выделяют стратегические и тактические паттерны. Например, первые — это Единый язык, а вторые — Агрегаты. Я много раз слышал от коллег, что со стратегией всё понятно, но когда дело доходит до перехода на тактический уровень (до кода) — всё в тумане. Это приводит к некорректным техническим решениям, которые не могут компенсировать даже правильный настрой и близость к бизнесу. Для успеха проекта крайне важно освоить тактические паттерны, особенно Агрегаты. Всё потому, что Агрегаты инкапсулируют в себя почти всю бизнес-логику, это основа вашего приложения. В этой статье я и расскажу про Агрегаты, как они могут помочь и почему важно их освоить. Но...

...сперва антипаттерны

«Матрица рисков» компании. Алгебраическое исследование

Reading time8 min
Views29K


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

Монорепо: жизнь до и после

Reading time9 min
Views31K
Это история о том, почему в одном из направлений «Юлы» отказались от практики отдельных репозиториев на микросервисы и внутренние библиотеки, перейдя на монорепозиторий, и что из этого вышло. О проблемах, с которыми столкнулись в компании, и тех, которые получилось решить при помощи этого переезда, рассказал на конференции Golang Live 2020 руководитель b2b-разработки «Юлы» Валентин Дубровский.


Читать дальше →

«У нас нет рекламы, но люди приходят»: обсуждаем проект Codeforces и ход его развития

Reading time1 min
Views2.9K

В этом выпуске подкаста ITMO Research — Михаил Мирзаянов, основатель платформы Codeforces и ассистент факультета информационных технологий и программирования Университета ИТМО.

Читать далее

Цифровая логистика: решение транспортной задачи спроса и предложения с помощью библиотеки DOcplex от IBM

Reading time13 min
Views9K

Всем привет, меня зовут Дмитрий Кузин (Application Development Senior Analyst в Accenture), и в своей статье я делюсь историей о том, как запрос на решение задачи в корпоративной рассылке привел к освоению Python библиотеки DOcplex от IBM, предназначенной для решения оптимизационных задач.

Я бы хотел поделиться личным опытом решения транспортной задачи с применением Python-библиотеки DOcplex от IBM. Если вкратце, то это задача про то, как с наименьшими затратами доставить продукцию или товары от производителей к покупателям, учитывая предложение первых и спрос вторых. В статье я дам основные определения транспортной задачи, покажу, как правильно сформулировать её условие, а также приведу пример решения на Python.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity