Почему программисты игнорируют ваши задачи

В управлении программистами есть такая неочевидная хренотень: у серьёзных (реально серьёзных) девелоперов решение всех сложных задач происходит “в фоне”, на заднем плане сознания. Во время еды, по дороге на работу, ночью во сне. Активной мысленной деятельностью они решают задачи крайне редко.

Получив новую сложную задачу, девелопер закидывает её на задворки сознания и продолжает заниматься тем же делом, которым был занят до этого. Вспомните, сколько раз на серьёзную важную просьбу вы получали пару секунд внимания, короткое “угу” – и снова взгляд в монитор. В лучшем случае – реакция типа “поставь мне задачу в таск-менеджер”. Continue reading “Почему программисты игнорируют ваши задачи”

Как не-программисту руководить программистами

Путешественники на воздушном шаре пролетают мимо высокой горы, где видят одинокого пастуха.
– Скажите, милейший, где мы находимся?
– Вы находитесь на воздушном шаре!

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

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

На самом деле программист, скорее всего, не желает вам зла – он просто воспринимает вопрос и даёт ответ в своей структуре восприятия окружающего мира. В этом посте я в очередной раз поделюсь с вами порцией моего практического опыта и советами – как не-программисту руководить программистами, находить с ними общий язык и добиваться результата. Continue reading “Как не-программисту руководить программистами”

Квалификация

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

Я опытный менеджер проектов по “гибким” методологиям (Agile) – SCRUM, XP. В каждом проекте я использую все эти инструменты на практике: у нас всегда есть бэклог, план текущей итерации, механизмы непрерывной интеграции и поставки продукта, регулярные обсуждения (meetings), парное программирование, автоматические тесты, быстрое прототипирование, код-ревью и рефакторинг. Мы пользуемся этим каждый день и всегда подключаем заказчика. Вместе это даёт колоссальный результат. Continue reading “Квалификация”

Как я работаю

Я чуткий и отзывчивый человек, эмпат, способен слушать и легко располагать к себе людей. Но тем не менее, всегда твёрдо отстаиваю свою позицию и свои интересы.

Я игнорирую все высокопарные слова, рассказы о том что работать в вашей компании – великая честь, и прочие попытки так называемой “мотивации”. Я уже взрослый мальчик и способен всё увидеть сам. Будет тем более неприятно, если ваши слова разойдутся с делом. Ваш проект нужен прежде всего вам, а не мне, – потому что это ваш бизнес и ваши деньги. Покажите мне его реальные достоинства.

Continue reading “Как я работаю”

Где я работаю: моя карьера

Я успешно совмещаю роли собственника, консультанта и наёмного топ-менеджера. Я создавал сервисы для заказчиков и разработчиков веб-проектов, в недавнем прошлом – был техдиректором UMI.CMS, отвечал за партнёрскую сеть игр и приложений в проекте Фотострана.ру и там же занимался внедрением автоматизированного тестирования, а ранее – занимал топовые должности в крупных питерских веб-студиях.

Continue reading “Где я работаю: моя карьера”

Сделаем по-быстрому, потом переделаем по-нормальному

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

Основной причиной и оправданием такого подхода называют спешку. Дескать, надо догонять рынок, инвесторы ждут возврата средств, конкуренты работают на опережение, кто первым выкинет продукт на рынок тот и победил. Естественно, это чудовищная ложь. Continue reading “Сделаем по-быстрому, потом переделаем по-нормальному”

100 000 файлов в одном каталоге

Недавно у нас возник спор с коллегами об ограничениях файловых систем и максимально допустимом количестве файлов в одном каталоге под Linux. В частности, известное решение для файлового кэширования сайтов (сброс всего подряд в один каталог в виде файликов) начинает работать крайне неэффективно когда число файликов в одной директории превышает десятки тысяч.

Для тех, кто не хочет / не может поставить эксперимент и поверить своим глазам, я привожу результаты из реальной практики: Continue reading “100 000 файлов в одном каталоге”

Бесплатный софт рулит! Или нет?

Несколько дней назад я перекинулся парой слов в твиттере с Сергеем Рыжиковым (директором “Битрикс”) на тему опенсорсных продуктов, что для многих является синонимом “бесплатного софта”. И поскольку я также являюсь техдиром “UMI.CMS”, то я сразу получил ряд откликов от наших партнёров в стиле “вот только не превращайте вашу прекрасную коммерческую CMS в какой-нибудь сраный бесплатный Drupal”. Такие бурные реакции не могут оставить меня равнодушным, поэтому в этом посте я расскажу что я думаю по этому поводу. Continue reading “Бесплатный софт рулит! Или нет?”

Почему софт плохой, когда спешка и менеджмент не при чём

Когда говорят о плохих программных продуктах и проектах, в первую очередь причинами называют спешку, неквалифицированный менеджмент, противоречивые указания, недостаточно сформулированное ТЗ, низкую квалификацию команды и так далее. В этом посте я хочу озвучить иную причину, о которой не принято думать и говорить в большинстве девелоперских компаний России. Continue reading “Почему софт плохой, когда спешка и менеджмент не при чём”