Pull to refresh
6
0
Трещилов Алексей @kesh1987

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

Send message

Будьте сами изменениями, или Три года тотального самоуправления на химическом производстве

Reading time14 min
Views5.4K

Чем отличается миссия от эволюционной цели?

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

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

У компании «Ойл Энерджи» эволюционная цель — все скважины в мире построены и эксплуатируются бережно с применением качественных и безопасных материалов. После этого можно будет заняться чем-то другим, а пока для достижения цели компания трансформировалась в принадлежащую самой себе и живет по принципам Социократии 3.0. Эта история в основном интересна владельцам компаний, но, как говорится, плох тот миддл, кто не хочет стать топом. Посмотрим, как это было и как это вообще возможно.

Читать далее
Total votes 20: ↑20 and ↓0+20
Comments1

[Пятничное] Теория Жоп

Reading time5 min
Views225K

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 400: ↑389 and ↓11+474
Comments107

Так как же не страдать от функциональных тестов?

Reading time8 min
Views4.7K

На написание этой статьи меня подтолкнуло обсуждение докладов с Heisenbug 2021 в нашем корпоративном чате. Причиной является тот факт, что достаточно много внимания уделяется «правильному» написанию тестов. В кавычках — потому что на бумаге все действительно логично и аргументированно, однако на практике такие тесты получаются достаточно медленными.

Эта статья ориентирована скорее на новичков в программировании, но возможно кто-то сможет вдохновиться одним из описанных далее подходов.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments17

Как выжить команде и тимлиду внутри Agile XXXL-размера

Reading time20 min
Views12K
Сергей Рогачев развивает в России две темы: Scaled Agile Framework (SAFe) и Objectives and Key Results (OKR), а также проводит исследование «Agile в России» (выборка включает полторы тысячи респондентов). Благодаря ему, мы уже системно, как страна, подходим к ответу на вопрос: в каких отраслях у нас Agile работает, где не работает и какие результаты он дает. Опираясь на статистику можно понять, где ваша компания находится, нужен ли вам Agile, для чего, и что вы можете с его помощью достигнуть.

На TeamLead в этом году Сергей рассказал о том, как Agile трансформируется в большой организации и, соответственно, как меняется ваше окружение (тимлиды и команды) и какие новые требования к вам, как к лидерам, предъявляются. И показал весь процесс Agile с фотографиями.


Читать дальше →
Total votes 20: ↑16 and ↓4+22
Comments9

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views689K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

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

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments45

Полное практическое руководство по Docker: с нуля до кластера на AWS

Reading time39 min
Views1.6M



Содержание



Вопросы и ответы


Что такое Докер?


Определение Докера в Википедии звучит так:


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



Ого! Как много информации.

Читать дальше →
Total votes 125: ↑124 and ↓1+123
Comments44

Концепции распределенной архитектуры, с которыми я познакомился при построении крупной системы платежей

Reading time12 min
Views35K
Я присоединился к Uber два года назад в качестве мобильного разработчика, имеющего некоторый опыт разработки бекенда. Здесь я занимался разработкой функционала платежей в приложении — и по ходу дела переписал само приложение. После чего я перешёл в менеджмент разработчиков и возглавил саму команду. Благодаря этому я смог гораздо ближе познакомиться с бэкендом, поскольку моя команда несёт ответственность за многие системы нашего бэкенда, позволяющие осуществлять платежи.

До моей работы в Uber у меня не было опыта работы с распределёнными системами. Я получил традиционное образование в Computer Science, после чего с десяток лет занимался full-stack разработкой. Поэтому, пусть я и мог рисовать различные диаграммы и рассуждать о компромиссах (tradeoffs) в системах, к тому моменту я недостаточно хорошо понимал и воспринимал концепции распределённости — такие, например, как согласованность (consistency), доступность (availability) или идемпотентность (idempotency).

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

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

Итак, давайте приступим к нашему погружению в SLA, согласованность, долговечность данных, сохранность сообщений, идемпотентность и некоторые другие вещи, которые мне потребовалось выучить на своей новой работе.
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments2

Почитать на каникулах. Лучшие посты в нашем блоге за 2018 год

Reading time4 min
Views9.6K


Привет! Грядут новогодние каникулы, а с ними и некоторое количество свободного времени Собрали подборку популярых статей из нашего блога. Внутри деление → бекенд, фронтенд, команда, мобильная разработка.

Приглядитесь, даже если почитываете наш блог время от времени.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments0

Ускорение сборки JavaScript-кода с использованием webpack 2–3

Reading time8 min
Views14K
Появляется все больше SPA салонов. Даже лендинги люди пилят на React. А действительно сложное веб-приложение уже трудно представить с другим подходом. Одна из главных проблем современного фронтенда — это сборка таких проектов. С этим помогают справляться бандлеры.

Иван Соснин, фронтенд-разработчик Контура, рассказывает как настроить webpack 2 и 3, чтобы получить ощутимый прирост в скорости сборки статики. Статья будет полезна тем, кто уже работает с webpack или смотрит в его сторону.

Стоит начать с ремарки, что недавно вышел webpack 4. Там вообще все супербыстро и ничего делать не надо, а еще изменилось процесс разбиения кода на чанки.


Но тащить в продакшен библиотеки, которые обновились вчера — не мой путь.


Webpack


Webpack — это сборщик модулей (бандлер). Он собирает различные модули с зависимостями в один или несколько файлов (бандлов). У webpack модульная архитектура, а это значит, что его можно гибко настраивать. Сборка кода настраивается при помощи плагинов, а трансформации кода производятся с помощью загрузчиков (loaders).


Если хочется больше базовых подробностей, можно почитать статью Рахима Давлеткалиева про webpack 1. Она немного устаревшая, но идеи и примеры в ней разобраны подробно.


За всю эту гибкость приходится платить сложной конфигурацией.

Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments5

Information

Rating
Does not participate
Location
Пермь, Пермский край, Россия
Date of birth
Registered
Activity