Quantcast
Channel: Категория [Блоги] - сообщество программистов
Viewing all 499 articles
Browse latest View live

Овертаймы: причины со стороны заказчика и цена

$
0
0

[Об авторе: Владимир Железняк — 17 лет в отрасли, программировал, менеджерил, директорствовал, имел свой бизнес. Провел и прошел кучу собеседований. Соавтор проекта «Психология в IT». Овертаймит редко].

xxx: Пришёл в понедельник на работу и в кружке обнаружил ещё влажный пакетик чая. Предварительно охренев, вспомнил, что пахал оба выходных. © баш

В моей практике была ситуация: пришел на собеседование кандидат, вроде всё хорошо, всё толково рассказывает, но... Когда слушает вопрос — явно теряет нить где-то на третьем предложении. Смотрит куда-то в сторону, переспрашивает... Что такое? «Не выспался», говорит. Причина поиска новой работы — на старой уже три месяца работает без выходных минимум по 12 часов в день.

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

Почему заказчикам нравятся овертаймы

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

«Вне зависимости от того, что мы определили или нашли, мы понимаем и искренне верим, что каждый делал лучшее из того, что мог, беря во внимание их знания, умения, навыки, ресурсы и обстоятельства на тот момент.»© Prime Directive

Заказчики — чаще всего не дураки. У дураков обычно нет денег, чтобы оплатить работу программистов.

Большинство заказчиков — не айтишники, и очень часто привыкли к гораздо более предсказуемому процессу работы. Грубо говоря, если рабочий за 8 часов закручивает 800 гаек, то за 9 он закрутит 900. При этом в голове очень легко формируется модель «Меньше работает — меньше выход. Больше работает — больше выход».

Когда заказчик начинает работать с айтишниками, он видит, что во время выходных и праздников дело или стоит, или движется гораздо медленнее, чем в будни. Модель подтверждается? Да! Хотя если вдуматься, то подтверждается только первая часть «Меньше работают — меньше выход».

Что происходит с эффективностью

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

«Легко сделать так, чтобы программисты работали больше. Сложно — чтобы делали больше.»© Витя Ронин

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

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

Мне было бы интересно провести хорошее исследование в какой-нибудь крупной IT-фирме на эту тему, пока не вижу, кто бы его заказал и оплатил. Ниже мои субъективные выводы:

  • Овертайм — это работа в кредит под высокий процент;
  • Овертаймы позволяют добиться ускорения «сейчас» за счет замедления «потом»;
  • Кредит придется вернуть. Если ты выпил два литра воды, то через какое-то время их придется вернуть во внешний мир. Особенно — если пил из грязной лужи мутного техзадания;
  • Ставка по кредиту — процентов 30-40 вмесяц;
  • Заказчики обычно не знают ставки по кредиту либо считают, что смогут соскочить до выплаты.

А что же обычно в подобной ситуации видит заказчик? Через какое-то время после начала овертаймов становится заметно, что вроде бы сотрудники работают больше, а выхлопа как-то маловато. Очень часто заказчики в такой ситуации находят простое, понятное и абсолютно неверное решение: низкая продуктивность — результат обмана, саботажа и низкой квалификации, как со стороны менеджеров, так и со стороны сотрудников. Ситуация усложняется тем, что иногда это правда. Имею в виду «Берем миддла и продаем как синьора» и «Берем синьора и в середине проекта тихо перебрасываем его на другой проект» и другие способы заработать больше или повысить зарплаты.

Вторая бизнес-модель

Кроме менеджеров, которые обманывают клиентов, есть и директора, которые строят бизнес-модель на овертаймах. Выглядит это так:

  1. Нанимаешь трудоголика-перфекциониста;
  2. Даешь задачу, просишь эстимейт. Давишь на «А профи делают это втрое быстрее». Часто даже давить не надо, программисты обычно занижают оценку в разы;
  3. Человек проваливает или срок, или качество;
  4. Говоришь: «ты не спец, сделай нормально на выходных». Усиливаешь через «ты подводишь фирму». Если это не срабатывает или давление оказывается слишком трудоемким — моментально выгоняешь. Такой человек не подходит для этой бизнес-модели. «Вы слишком слабы и не можете работать в нашей фирме. До свидания»;
  5. Человек пашет, не поднимая головы;
  6. Человек устает и делает ошибки;
  7. Говоришь «Что-то слабовато совсем, старайся лучше»;
  8. Человек работает без продыху и даже не заикается про повышение зарплаты или отпуск;
  9. Повторяешь пункты 2-8;
  10. Через полгода-год-полтора человек выгорает и дохнет. Заменяешь на нового. Ты получил с большой скидкой овертаймы от классного спеца;
  11. Профит!

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

Почему люди не уходят оттуда в первую неделю — отдельная большая тема. Большинство — остается.

Компаний, которые зарабатывают таким способом — не очень много, но они есть. Я лично столкнулся с тремя, еще о нескольких слышал. Категорически не одобряю. Управление чужой самооценкой — это один из мощных инструментов мотивации. Похвалил и поощрил — самооценка растет, поругал или не заметил — самооценка падает. Хвалить надо раз в пять чаще, чем ругать. За подробностями — гуглить «линия Лосада».

Мотивация заказчика

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

Что же может контролировать заказчик в процессе разработки? Крупные фичи? Так они редко бывают и сложно выделить конкретного человека. Стори поинты? Так они абстрактные и похожи на обман. Что осталось? Рабочее время! Вот его и очень хочется взять как KPI.

Если присмотреться к рабочему времени внимательно, то начинаешь видеть, что кроме кодинга есть еще и совещания, опоздания, чай, телефон, личная почта, новости, политика, перекуры, флирт, фаллосометрию и треп на отвлеченные темы. Я много лет работал с таймтрекером. Не для фирмы, для себя — честно записывал все отвлечения более пяти минут. Так вот, хорошо когда у меня получалось 6 часов именно работы в день. Как я понимаю, это норма для 95% людей.

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

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

Выводы

Итак, почему же заказчики хотят овертаймы на самом деле:

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

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


Овертаймы: причины и действия со стороны сотрудников

$
0
0

[Об авторе: Владимир Железняк — 17 лет в отрасли, программировал, менеджерил, директорствовал, имел свой бизнес. Провел и прошел кучу собеседований. Соавтор проекта «Психология в IT». Овертаймит редко].

Спать по четыре часа в сутки не сложно, сложно потом не спать остальные двадцать часов. © баш

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

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

Овертаймы и вред от них

Самое плохое в овертаймах — это отключение критического мышления. Мышление становится очень узким, как луч фонарика в темном лесу. Хорошо, если луч вашего фонарика сфокусировался на работе. На нужной части работы — особенно хорошо. Иначе можно выйти из режима «быстро пишу код не отвлекаясь на попить воды» и обнаружить, что делал ненужное. К примеру, рефакторил вместо багфиксинга за день до релиза.

Всё, что не попало в фокус во время овертайма — выпадает из поля зрения. Начинаются конфликты на ровном месте. Лично я становлюсь обидчивым. А в тяжелых случаях — покрываюсь фурункулами.

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

xxx: Я сегодня поймал момент, когда нужно перестать кодить и ложиться спать.
ххх: Это момент, когда отвечая кому-то в соцсети, я предложения заканчивал «;», перечитывал, не находил ошибок и отправлял. Край.
 © баш

Овертаймы и польза

Рассмотрим несколько основных пунктов, когда овертаймы могут приности пользу:

1. Опционы

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

— Очень редко детально оговариваются условия опционов. На старте основателям некогда и непонятно. Примеры вопросов, на которые обычно нет ответа: какая будет моя доля? что будет, если я буду работать два года, а потом уйду? что будет, если я проработаю три года, а потом меня уволят?

— Восточная мудрость гласит, что уже выполненная работа стоит недорого. Даже если ваш основатель — отличный человек, то за несколько лет работы точно накопятся взаимные претензии. И если сейчас он может искренне думать, что даст каждому нынешнему сотруднику по N%%, то потом запросто появятся соображения: «Вася выдохся и потерял интерес, а Петя — сорвал важные сроки, так что давайте дадим им N/2 %%».

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

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

2. Деньги и гибкий график

Двойная оплата и неявный перенос рабочих дней очень часто идут рядом, так что рассмотрим их вместе. Несколько историй из жизни:

«У меня друг так два месяца поработал по выходным — заработал несколько тысяч $ — смог быстрее купить свою первую машину. При том он для того, чтобы отдыхать, брал иногда сик ливы в обычные дни или работал неполный день. С другой стороны, компании овертаймы сотрудников были очень нужны — она пообещала клиенту сдать проект в определенные сроки, и без овертаймов не успевали. В итоге проект сдали, клиент доволен, друг купил машину». © Philip Shurpik
«А я люблю овертаймы с двойной оплатой. И в субботу работать приятно, когда людей мало и митингов никаких. Я б вообще только овертаймила. А в будние дни отдыхала». © Katherine Muntianu

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

— Коллеги, надо посовещаться, есть тема для обсуждения, когда сможем? Может, вечером?
— Ммм... вечером я хотел поработать...
— Да, и я тоже. Вечером тихо, никто не отвлекает, хорошо работается... Давай сейчас совещаться. © Yuriy Silvestrov

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

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

3. Опыт и озарения

Во время овертаймов можно получить бесценный опыт решения задач «влёт». Лично я не особо ценю такой опыт, он всё-таки в кредит (подробней — в предыдущей статьецикла).

«Я вот сознательно овертаймю, когда решаю что-нибудь сложное. Когда довожу себя до полуобморочного состояния, у меня часто случаются озарения. Обратная сторона — есть риск зациклиться, и после такого перформанс часто падает». © Igor Kim

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

Из-за чего возникают овертаймы

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

«Когда-то я писал код для супермаркета. У нас еще директор был своеобразный: цепура, пиджак, блатная речь, удобная во всех смыслах секретарша и прочие атрибуты братка из девяностых. Товар в магазин уже был закуплен и разложен по полкам, а открыться не могли, так как модуль для кассы еще глючил. Так вот, директор размахивал наручниками и угрожал приковать всех программистов к батарее, пока не закончим. У него и рыба, и молочка пропадают! Мы-то зарелизились, а потом быстро-быстро уволились. С тех пор я на отечественных заказчиков не работаю». © Миша, мой коллега

История выше — это исключение. Рабских контрактов в IT нет — всегда можно уволиться и найти другую работу. Это не врачи и не учителя, у которых только один работодатель.

Почему люди соглашаются овертаймить

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

«Кинул твою статью знакомому. Сначала он сказал: «Да ну», а потом вспомнил из своей практики пару случаев, когда его так на овертаймы «развели». Сказал: «Да ну нафиг, сволочи прошаренные какие!» © Sergey Atroschenkov

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

1. «Начальник будет лучше относиться и повысит зарплату. И вообще, лояльность к фирме — это важно»

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

Давайте проведем микротест — оцените от 0 до 10 свою лояльность к компании:
0. Мне абсолютно всё равно. Проблемы фирмы, команды и заказчика меня волнуют не больше, чем проблемы загрязнения Антарктиды.
1. Если сильно надавят и пригрозят серьезными реальными последствиями — я выйду.
...
9. Если надо — я готов работать бесплатно.
10. Для фирмы я готов не просто работать бесплатно, а продать почку, дочку, тачку и квартиру.

Скорее всего, вы оцените свою лояльность между 6 и 8. Есть какая-то граница, дальше которой вы заходить не готовы.

2. «Я — нормальный, вокруг меня такие же, как я»

Работающие больше меня — больные идиоты, работающие меньше — саботажники.

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

«Кое-где овертаймы являются принятым способом повышения производительности, вся компания так работает, включая руководство. Несколько раз с этим сталкивался. Вплоть до того, что на собеседовании тебе говорят, что в 6 часов у нас не принято уходить домой. Должен заметить, что такие компании весьма известны и успешны. Платят, кстати, ниже рынка». © Sergey Ershov

3. «Я — ценный сотрудник»

Раньше психологи говорили, что у человека может быть высокая либо низкая самооценка. Сейчас исследования показывают, что у большинства самооценка нестабильна. Очень часто нейтральная фраза «Пожалуйста, выйди в воскресенье» расшифровывается подсознанием как угроза: «Если выйдешь — ты ценный специалист и помогаешь фирме, а если нет — ты не нужен и никчемен, мучайся страхом и чувством вины».

4. Вина

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

Возможны комбинации:
— запросил много и обогнал — плохой оценщик;
— запросил много и отстал — вообще плохо;
— запросил мало и отстал — плохой специалист, но были же объективные обстоятельства;
— запросил мало и обогнал — единственный хороший сценарий. Когда мысли заняты обдумыванием задачи, то мозг автоматически выбирает именно его.

Все люди, и не только программисты, обычно дают слишком оптимистичную оценку. А потом испытывают чувство вины, что не успевают. И чтобы искупить легко соглашаются овертаймить. Самое интересное начинается, когда начальник и жена (муж) начинают соревноваться за «кто заставит тебя чувствовать более виноватым».

5. «Если что-то делаешь — делай это хорошо». Перфекционизм

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

«Учитывая мой перфекционизм, я успел пару раз попасть в этот цикл: „Ошибся → ты ж крутой программист → работай больше“. Особенно он хорошо организуется, когда есть несколько таких людей рядом, и им друг друга ставят в пример». © Victor Ronin

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

Перфекционист не может выйти без помощи психолога. Самолечение здесь затягивается на десятилетия. У психолога — ну очень примерно 10 сеансов по скайпу раз в неделю по часу за 300 грн каждый.

6. Страх увольнения

Думать об увольнении — это примерно как думать о собственной смерти. Неприятно, думать об этом рационально сложно. К примеру, я настроил гугл-сервис под названием «на всякий случай» только недавно.

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

Когда у меня родилась дочка, я боялся об этом сказать на работе, боялся, что меня уволят. И это мне было уже больше 30, большой стаж и опыт. В итоге сказал, и через месяц меня уволили. Кстати, на моей памяти это был единственный проект, который я успешно закончил досрочно. А фирма потом начала зачищать негативные отзывы на DOU, а после вообще начала постить вакансии анонимно.

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

7. Трудоголизм и другие попытки убежать

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

Дома — вечно недовольная жена, проблемная тёща и вопящий ребёнок. На работе после 8 вечера — тишина и код. Угадайте, насколько хочется уйти с работы пораньше?

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

Что делать, когда предлагают поовертаймить

xxx: заказчик в проекте попросил изменить маску максимального количества рабочих часов в неделю на сотрудника с 00:00 на 000:00. Жесткая фирма© баш

Самое важное — оценить ситуацию до входа в овертаймы. Вспомнить, что дальше логика выключится, поэтому поставить напоминалку/будильник на неделю вперед: «Задуматься, имеет ли смысл овертаймить дальше?»

Овертаймы — это не спринт, это марафон. Загнанных лошадей пристреливают.

До входа в овертайм следует проработать сценарии:
1) Что будет, если меня уволят? Страх увольнения убивает разум, поэтому начать лучше с него.
2) Что будет, если я скажу «нет»? Что самое страшное здесь произойдет? Уволят? Компания разорится? За долги продадут почку? Формулировка отказа многим дается сложно. Много лет назад мы с Димой Снисарем даже готовили отдельный онлайн-тренинг по правильным отказам.
3) Что будет, если я попрошу компенсации? Отгулы, деньги, другой проект? Что из этого мне интересно?

Последний вопрос желательно поднять публично. И здесь менеджеру придется как-то распределить ответственность, кто виноват в конкретно этих овертаймах:
— В овертайме больше виноват заказчик. Смена ТЗ, медленные ответы и всё такое. Тогда есть шанс компенсацию получить. Конечно, если это не фирма с принципом: «Больше доить, меньше кормить». Могут быть и компании с такой бизнес-культурой, гуглите отзывы про Амазон, к примеру. Впрочем, про такую культуру вы узнаете в первую неделю на новом месте.
— В овертайме виноваты вы. Тогда в придачу к овертайму вы получите нагоняй за плохую работу. И здесь чем раньше, тем лучше.
— В овертайме виноват конкретно этот менеджер. Точнее, он чувствует себя виноватым. Тогда пусть ищет способы компенсации.

Профилактика овертаймов

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

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

Выводы

Самое плохое в овертаймах — это отключение критического мышления.

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

Если вы влезли в овертаймы один раз — влезете и второй. «Один раз случайность, два — совпадение, три — закономерность».

В овертаймах есть свои плюсы и минусы. Знайте свои личные и умейте их использовать.

В поисках мультипликативного эффекта

$
0
0

[Об авторе: Дмитрий Маленко — СТО компании rollApp, профессионал с 15-летнимопытом в индустрии. Соавтор нескольких книг о программировании и технологиях. Выступал на многих конференциях в Украине и за рубежом, включая SEC®, Agile Eastern Europe, DEMO, Tizen Developer Conference, PechaKucha, TEDx. Ведет авторский подкаст Not Invented Here]

Как ни странно, хотя и ожидаемо, дискуссия вокруг возможной роли IT в экономическом развитии нашей страныоказалась живой, местами содержательной и во многих моментах поучительной. За это большое спасибо всем участникам обсуждения. Комментарии и идеи, которые высказывались как на DOU, так и в других местах, породили у меня кучу мыслей. Из этой кучи одна или две заслуживают того, чтобы высказать их вслух.

Конечно же, первая из них о мультипликаторе, а точнее о мультипликативном эффекте. “Нема, де правди діти” — обойдя его вниманием, я допустил ошибку, на что сразу, хотя и не всегда в корректной форме указали комментаторы. Да, мультипликативный эффект имеет место быть, и благодаря ему вклад одного IT-шика в ВВП будет бóльшим, чем расчётная выручка от экспорта в $55,000. Но вот насколько бóльшим — вопрос открытый. Я не согласен с тем, что этот мультипликатор (увеличение ВВП по отношению к увеличению экспорта) может быть равен 10.

К сожалению, исследований, которые бы изучали такую тему, мне найти не удалось, а те немногие, которые удалось отыскать, оценивают мультипликативный эффект от фискальных рычагов влияния на экономику. Тем не менее, доступные источники все же дают пищу для размышления. Во-первых, мультипликатор оценивается отдельно для каждой национальной экономики. Оne size fits all тут не работает. Во-вторых, значение мультипликатора зависит от периода, для которого он оценивается. Это логично: чем больше шагов повторного участия в экономических операциях пройдет, тем больше будет суммарный эффект. В третьих, оценки мультипликаторов попадают в промежуток от 0.5 до 3, на фоне чего 10 выглядит неправдоподобно.

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

Мы будем опираться на метод расчета по расходам, который определяет ВВП как конечное потребление + валовое накопление капитала + государственные расходы + (экспорт — импорт). При таком подходе покупка буханки хлеба IT-шником учитывается в ВВП, а покупка муки, чтобы этот хлеб для него испечь — нет, так как это покупка не для конечного потребления.

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

С каждым шагом товарно-денежного обмена всего лишь часть “дошедших” до этого этапа денег будет вносить вклад в ВВП, так как только часть из них будет использоваться для конечного потребления и для покупки отечественных товаров и услуг. Для простоты мы будем полагать, что доля того, что будет учитываться в ВВП, на каждом шаге одинакова. Например, сгенерированная IT-шником выручка компании тратится (опосредовано, через зарплаты сотрудников и другие расходы) на покупку товаров и услуг, из которых 50% составляют товары украинского производства. Дальше, получившие эти 50% украинские производители тратят их на товары и услуги, и снова 50% этих затрат (25% от первоначальной суммы) продолжают работать на ВВП. И так до бесконечности. Доля в 50% здесь использована исключительно в иллюстративных целях.

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

1 + k + k2 + k3 + k4 ...

Здесь k — доля внутреннего конечного потребления. Собственно, этот общий прирост, сумма этого ряда, и будет тем мультипликатором, который мы пытаемся оценить.

Как известно из курса мат. анализа, ряд вида ∑ knи n: 0 → ∞ сходится для k<1, и его сумма равна 1/(1-k). Так, для k=0.5сумма ряда равна 2, а для того, чтобы получить сумму 10, мы должны иметь k=0.9 (WolframAlpha подтверждает).

Иными словами, если доля внутреннего потребления составляет 50%, мультипликатор для увеличения ВВП при увеличении экспорта составит 2. Сложно сказать, насколько это близко к реальному положению вещей. Однако для того чтобы мультипликатор был равен 10, внутреннее потребление должно составлять 90% всего конечного потребления, что явно не наш случай.

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

Что происходит с Angular 2

$
0
0

Вы встречали человека, у которого опытом работы с фреймворком Angular 2 больше года? Уже. Расскажу, как я туда попал.

В начале 2015 года я закончил работать над вторым изданием моей книжки по Java и, как обычно, сказал себе: «Never Again!» Работа над книгой по программированию довольно изнурительная, и после девяти месяцев обычно хочется уже вытолкать этого очередного ребенка.

Через пару месяцев мне позвонил редактор из издания Manning и стал интересоваться, чем я занимаюсь и не хочу ли я написать книжку. Yeah, right! Я стал вяло поддерживать разговор и сказал, что о Java точно писать не хочу, а сейчас занимаюсь Web фреймворками. Дело в том, что последние три года наша компания пытается найти заменитель фреймворку, который требует опального Флэш Плеера.

Весной 2015 я занимался AngularJS, хотя в отличие от остального мира веб разработчиков, мне этот фреймворк не нравился. Если честно, мне и JavaScript никогда не нравился, хотя, возможно, я так никогда и не научился его готовить.

Надо заметить, что в то время по интернету пошли слухи, что Google решил полностью переписать AngularJS, и что новая версия будет называться Angular 2. Одним словом, я предложил моему коллеге Антону Моисееву стать соавтором книги по Angular 2, то есть написать книгу о том, чего еще нет, и он согласился. После года работы, книга готова, да и Angular 2 1.0 уже вот-вот увидит свет.

As ham and hamster

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

Когда я начал изучать Angular 2, мне было очевидно, что Angular 2 to AngularJS is as ham is to hamster (да, я перефразирую популярное сравнение Java и JavaScript). Сегодня, год спустя, я продолжаю считать, что это два совершенно разных продукта.

AngularJS 1.x был и продолжает оставаться самым популярным JavaScript фреймворком, и им пользуются более миллиона (!) разработчиков. Думаю, кто-то в Google решил подсесть на раскрученный бренд и предложил подать совершенно другой фреймворк как новую версию AngularJS. Типа, Coca Cola 2. В целом это был правильный маркетинговый ход, особенно если учесть, что главным автором обоих фреймворков был один и тот же рок стар разработчик Misco Hevery. Однако разработчики создают и разные продукты, правда?

Если бы Microsoft использовал такую же маркетинговую стратегию, то они бы не назвали достаточно новый язык TypeScript, а продвигали бы его как C# 2. Оба эти языка придуманы одним автором по имени Anders Hejlsberg, ведь так? Потом они бы опубликовали руководство по миграции из C# в C# 2, которое было бы так же притянуто за уши, как и руководствопо миграции из AngularJS to Angular 2. Я уверен, что в следующем году появятся новые руководства, объясняющие, как мигрировать в Angular приложения из React, Ember и ExtJS, и эти процессы не будут сложнее, чем миграция из AngularJS в Angular 2.

Breaking changes

Ладно, хватит придираться к имени фреймворка. Перейдем к версиям релизов. Для книжки мы написали много маленьких приложений, и нам приходилось их переписывать для каждого нового альфа релиза Angular 2. Мы не жаловались, потому что знали, на что подписывались. В каждой альфе были breaking changes, и мы переписали все примеры раз 20. В начале 2016-гофреймворк пошел в бету, а в мае 2016 пришло радостное известие: вышел Angular 2 Release Candidate 1.

Когда меня спрашивали в январе, не очень ли рискованно начинать разрабатывать новое веб приложение с Angular 2, я уверенно отвечал «Да, фреймворк достаточно стабилен». Я был неправ! В своей профессиональной жизни я видел много релизов и был уверен, что альфы всегда включают новые фичи и breaking APIs. Беты — для багфиксинга, а релиз-кандидаты — для полировки продукта. Кто мог подумать, что в период между RC.1 и RC.5 и Router API и Forms API будут полностью переписаны, и появится совершенно новый API для модулей, которые поменяют и внутреннюю архитектуру фреймворка и загрузку приложений?

Если вы меня спросите сегодня (в конце августа 2016 года), безопасно ли начинать разработку нового приложения на втором Ангуляре, я отвечу так: «Если Angular 2.0 не будет зарелизан в сентябре 2016 года, не делайте этого».

Зайдите на StackOverflow, и вы увидите вопросы типа: «У меня такая-то проблема. Я использую Angular 2 RC.1». Если кто-нибудь предложит сделать апгрейд то RC.5, автор вопроса напишет «У меня нет на это времени».

Вообще, в мире JavaScript опенсорса редкая птица долетит до версии 0.5. Когда объявляется Release Candidate любого продукта, связанного с JavaScript, для разработчиков кровавого энтерпрайза это служит сигналом «Софт стабилен. Можно использовать в коммерческих проектах».

А разве апгрейд из одного RC в другой может быть многошаговым процессом? Может! Даже руководствопо апгрейду из RC4 в RC5 есть. И подзаголовок бодрячком: «Migrate your RC4 app to RC5 in minutes». Да, рассказывайте. Именно этим я сейчас и занимаюсь. У меня ушла неделя, чтобы перевести 40 маленьких приложений из RC.4 в RC.5.

Из недавнего подкаста Adventures in Angularя узнал, что, когда разработчики Angular 2 решают, включать ли breaking changes в следующий RC, они задают себе вопрос: «А улучшит ли это Angular?» Если ответ «да», то они берут ломик в руки...

Михаил Жванецкий когда-то сказал: «При чем тут борщ, когда такие дела на кухне!» Дорогие разработчики второго Ангуляра, мне нравится Angular 2 RC.5 таким, как он есть. Пожалуйста, займитесь багами и перестаньте добавлять новые ингредиенты в борщ! Очень кушать хоцца! Дайте нам стабильный релиз и уймитесь на полгода — мы тоже хотим релизать наши приложения.

The happy ending

Angular 2 — это не просто ценный мех. Это мощная платформа для разработки сложных веб и мобильных приложений. Будучи Java разработчиком, я вижу, что Angular 2 может оказать такое же огромное влияние на JavaScript комьюнити, как Spring фреймворк оказал на мир Java.

Не забывайте о 15 миллионах Java и .Net разработчиков, большинство которых еще не потрогали Angular 2, а когда потрогают, им понравится!

Я работал с AngularJS, но он мне никогда не нравился. AngularJS был (и остается) очень популярен, и не знать его было плохим тоном, но он мне не нравился все равно. Если честно, мне не нравится ни JavaScript, ни любой другой JavaScript фреймворк. Однако мне очень даже нравится дуэт Angular2-TypeScript.

В конце сентября в Лондоне пройдет конференция AngularConnect 2016, и я очень надеюсь, что кто-то выйдет на подиум и скажет: «Дамы и Господа! У нас для вас приятнейшее известие. Сегодня вышел Angular 2 1.0».

В 2017 году хедхантеры будут бегать за разработчиками, знающими Angular 2. Готовьте сани летом, if you know what I mean.

Как создать и поддерживать профессиональное IT сообщество в вашем городе

$
0
0

“Человек есть общественное животное”,
Аристотель (384–322до н. э.)

“Вместе весело шагать по просторам,
По просторам, по просторам
И, конечно, припевать лучше хором,
Лучше хором, лучше хором.”
Детская песня

Зачем люди создают свои клубы, сообщества и проводят встречи, митапы? Как организатор и инициатор около 15 клубов для Sales, PM и Ruby on Rails в Украине и Беларуси я попробую обобщить и порекомендовать конкретные шаги — с чего лучше начать, на что внимание особое уделить, чего постараться избежать.

Открытие IT Sales клуба в Днепре, апрель 2016

Любопытно, что благодаря созданной сети клубов IT Sales managers мы организуем два раза в год IT Business Conference, о которой я расскажу в самом конце. Наша конференция по Ruby on Rails RubyCon 2012способствовала в дальнейшем развитию сообществу рубистов.

Что движет “драйверов” сообществ и что это им дает

Обычно организаторами движут два вектора: общественный и личный.

Из общественных:
— Во-первых, создавая и развивая профессиональное сообщество, вы помогаете как каждому его члену отдельно, так и развитию IT-экосистемы вашего города;
— Далее, вы создаете новые связи, деловые и личные, внутри вашего объединения. За что вам будут многие благодарны;
— В-третьих, “разом і батька легше бити” — объединяясь, вы можете достигать общих целей. Например, с одним из харьковских клубов в тревожном 2014 году мы собирали совместно помощь конкретному боевому подразделению, которое защитило наш город от судьбы ДНР/ЛНР.

Из личных векторов:
— Развивая сообщество, вы всегда будете в центре событий и на виду “тусовки”. У вас будет высокое доверие и узнаваемость, что будет способствовать карьере;
— Кроме того, приглашая различных докладчиков, вы получите более простой доступ к их экспертизе в вашей сфере, так как будете публичным лицом;
— Далее, вы сможете получать дополнительные плюшки, например, от спонсоров или получить билеты, разместив рекламу мероприятия.

Как будет взаимодействовать ваш клуб

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

Каналами онлайн рекомендую выбрать два следующих:
— Skype или Slack — для быстрого общения. Моя рекомендация — начать со Skype и постепенно перетянуть в Slack. На переходном этапе и в дальнейшем можно использовать сервис Sameroomдля синхронизации. Slack позволит создать множество официальных и неофициальных каналов, а также меньше отвлекать вас на рабочем Skype аккаунте.
— Google group или Fb группа — для вдумчивых вопросов, уведомлениях про встречи. Рекомендую выбрать Google Group, позволяет гарантированно сообщать о встречах, более детально обсуждать вопросы.

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

С чего начать создание сообщества

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

Если у вас серьезные намерения и вы готовы инвестировать в развитие клуба хотя бы от $22 за полгода — есть смысл параллельно зарегистрировать митап на meetup.com, особенно если на этом сайте уже есть другие митаперы из вашего города.

В этом случае через 7 дней после оформления вашей группы митаперам из параллельных сообществ придет приглашение и в вашу. Этот сервис последнее время на подъеме, и он будет вам давать 3-10новых виртуальных членов ежемесячно.

Далее, вы создаете мероприятие в этом сервисе и таким образом собираете участников.

Как и где организовать первую встречу

Если у вас есть опасения, и вы хотите начинать плавно — соберитесь просто в один из будних вечером в кафе группой 4-5 человек.Именно так я и стартовал один из клубов. Другой вариант — найти площадку от 30-40человек и сделать все “по-взрослому”.

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

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

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

Горькая правда организаторов состоит в том, что участники идут на расписание, а в итоге на месте просто хотят общаться между собой.

Ruby on Rails meetup, Харьков, 2014 год

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

Многие стесняются приглашать местных “звезд”. Но они, как правило, не против выступить. Действительно, как написано в очень старой книге: “Стучите, и отворят вам”. Причины, по которым спикеры, как правило, соглашаются выступить:
— Желание поделиться и быть полезным;
— Общая узнаваемость в сообществах города;
— Реклама своих услуг и личности;
— Бесплатное участие во встрече :)

Что делать непосредственно на встрече

Ваша первая встреча и открытие клуба составит впечатление и определит дальнейшую активность ваших членов.

Итак, рекомендации:

— Собирайте входные платежи на мероприятии. Можете сделать “авторегистрацию”, если некому, кроме вас, регистрировать и принимать взносы. Для этого надо оставить распечатанную табличку и попросить всех.

— Снимите видео, сделайте фото — самостоятельно или просите кого-нибудь помочь. Размещение фото- и видеоматериалов (в том числе и на сайтах вроде meetup.com) помогут вам в рекламе следующих мероприятий.

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

— Необходимо загрузить презентации на компьютер с проектором до начала встречи.

— Из-за опоздания участников встречу можно задержать на 5-10 минут,но ровно в назначенное время начала следует объявить всем причину задержки и новое время начала встречи.

Встреча белорусского клуба Business IT C-level Club, весна 2016

— Если участников встречи немного, до 30 человек, имеет смысл каждому коротко представиться: как зовут, какая компания и позиция. Если у кого-то из присутствующих есть какое-то предложение для аудитории — предоставьте возможность его озвучить.

— Тайминг на встречах очень важен. Если его не соблюдать — все идет вкривь и вкось. Предупреждайте докладчиков за 10 и за 5 минут до завершения его блока. Можно заранее распечатать таблички “осталось N минут”.

Как собрать большое количество участников

Это серьезная задача даже для опытных организаторов. Но все решает знание.

После того, как у вас готова отличная программа митапа, то дело остается за малым:
— Зарегистрируйте мероприятие на DOU и AIN;
— Пишите в вашей свежей группе. Просите поставить “+” тех, кто будет, чтобы все видели — начинается движ;
— Найдите информационных партнеров по смежной тематике, с кем бы вы могли обменяться уведомлением о событии;
— Создайте событие на Google Calendar и добавьте в список приглашенных эмейлы уже зарегистрированных и тех, кому, на ваш взгляд, это интересно;
— Приглашаете лично всех знакомых.

Как развивать сообщество дальше

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

Пробуйте новые форматы встреч, чтобы участники не успевали соскучиться: панельные дискуссии по спорным темам, практические мастер-классы, пикники под открытым небом и так далее.

Открытие IT Sales клуба в Харькове, апрель 2016

Итого

Развитие клуба — это интересный и творческий процесс. На этом пути вы учитесь общению с людьми, переговорам, развиваетесь в профессиональной сфере, а также наносите “непоправимую пользу” вашим коллегам и местному IT-сообществу.

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

Успехов на вашем пути!


P.S. Чтобы познакомиться с нашей Sales тусовкой поближе, приезжайте 4-5ноября на главное событие IT Бизнеса в Украине — Outsource People 2016 Kyiv. Это результирующее мероприятие года, которым мы подводим итоги деятельности клубов, делимся идеями и планами на следующий год. Основная наша аудитория — Sales, Marketing, CEO, COO, PM и HR малых, средних, а также, в меньшей степени, крупных IT компаний.

Буду рад ответить на вопросы в комментариях. Об ошибках сообщайте в личку.

Овертаймы: менеджерские вопросы

$
0
0

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

Как это бывает в жизни

В комментариях к прошлой статье описали такую ситуацию:

ПМ: Cколько делать задачу BLABLA-1234?
Я: 2 дня.
ПМ: Ой, это много, а другие что скажут?
Вася из местного пгт. Педрищевска, приехавший в большой город без семьи: 1 день! Я смогу!
Заряженный опционами тимлид: За полдня вкручу! Но сегодня не могу. Другие дела, надо инфраструктуру крутить, тесты там, бла-бла.
ПМ: Ууу, 2 дня — это много, надо очень быстро, заказчику рекламную компанию надо делать через неделю, даю день. Раз тимлид сказал, что полдня, значит рядовой разраб за день как раз и справится.
Я: Нет, я не согласен, давайте эту задачу кому-то другому, вон, Васе, раз он день сказал. А я буду делать, только если будут учитываться мои эстимейты.

Далее конфликт — я трясу своим опытом и понтуюсь, а мне сулят кары белых господ.

Вася: Мне, мне, я смогу, я сделаю быстро, я, я, я! Хочу быть опытным и классным и поехать в США кататься на яхтах и пить смузи, мне ПЛЗПЛЗПЛЗ!!!
ПМ: Задачу Васе, пусть сделает за 1 день.
Вася: Да, я не подведу компанию, я сделаю работу, а потом компания к успеху придет, и я обналичу свой опцион и бла-бла.

Вася довольный собой садится делать задачу, делает её 8 часов (ужасно устает, так как 8 часов кодинга — это само по себе испытание), потом понимает, что она не закончена, но нужно давать ответ ПМу, который стоит за спиной и грозит карами от белых господ, поэтому он обещает сделать её «до завтрашнего утра» и остается на работе лишние 2-3 часа,обожравшись редбулла, а потом еще дописывает её перед сном из дома, потому что после редбулла спать уже не может.

На следующем митинге оказывается, что Вася сделал задачу за 1 день, которой я давал эстимейт 2 дня. Васе сказали «спасибо» и через минуту забыли его подвиг. Потом спросили меня, что делал я. Оказалось, что я в 2-3раза меньше Васи сделал, потому что я работал 5 часов над задачей и вместо овертаймов водил девушку в театр, а потом гулял по набережной и плевал с высокой горы на эстимейты, данные ПМом и селюковскими Васями, и делал работу в своем темпе.

Вывод: мной недовольны, моя работа стоит в 2-3раза больше, чем работа Васи. У Васи горят глаза, он обсуждает код на обеде, а я — театральные афиши и качество укладки брусчатки на набережной. Потом еще оказывается в частной беседе, что зарплата Васи почти в 2 раза меньше моей, потому что у меня опыта больше, а самооценки так вообще в разы. Мне начинают говорить о лояльности, ставить в пример Васю. От меня хотят лояльности, а я прямым текстом говорю, что от меня её не дождаться. Разговор заканчивается ничем, и ситуация повторяется на следующем митинге.

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

Что делать с такими Васями?
© Artem Frolov

Кейс жизненный, и очень многих зацепил. Чем же он цепляет менеджеров? Давайте посмотрим на ситуацию глазами Васиного начальника:

  • Вася работу работает, и это полезно для компании. Он кодил два рабочих дня, ужатых до одного астрономического оплаченного — это выгодно для компании. Вася растет профессионально. Поэтому Васин энтузиазм нельзя охлаждать, а нужно работать с побочными эффектами;
  • Не всегда такие Васи успевают к обещанному, частенько они задачу проваливают, а разгребать приходится менеджеру. «Разгребать» включает в себя и доделку, и будущие коррекции эстимейта, и работу со злорадством коллег, иначе Вася быстро уйдёт;
  • Если Вася всё-таки успевает, то остальные сотрудники чувствуют свою неполноценность и страх перед увольнением. Заодно привыкают, что Вася делает примерно всё. А заказчик говорит, что наконец-то есть сотрудник, который работает в почти нормальном темпе, и пусть остальные работают так же;
  • Частенько код от таких энтузиастов выходит кривой. «Ну ты же сам сказал, что нужно быстро, вот я и наговнокодилприменил костыльные решения». Технический долг и всё такое;
  • Если Вася начнет общаться напрямую с заказчиком, то хороший шанс попасть в ситуацию, когда Вася наобещает за всех, а разгребать тебе. «Если заказчик ищет волшебника, то находит сказочника»;
  • Вася может внезапно исчезнуть. Чем старше — тем больше вероятность какой-нибудь кардиологии. Ну или просто с таким же энтузиазмом влюбиться :) Или хедхантеры найдут. Он уйдет, а его эстимейты и технический долг останутся.

Реакция менеджера

Давайте рассмотрим ещё несколько больных вопросов.

«Я сам овертаймлю, как тот Вася. Почему так?»

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

Прочтите фразы ниже, и прислушайтесь к своим ощущениям — что из них вызывает внутренне согласие?
— «Я не могу останавливаться, пока вижу конкурентов. Я должен быть лучшим»;
— «Заказчик или начальник расстроится, если я откажусь. Я должен согласиться, пусть даже потом мне будет плохо»;
— «Никто не должен увидеть мою слабость, я справлюсь»;
— «В прошлый раз почти получилось, нужно попробовать еще раз».

Если эти фразы вызвали какую-то внутреннюю реакцию, то стоит погуглить по слову «попыткомен» и почитать про него и про другие жизненные сценарии. Знак реакции не так важен: и «да, это про меня», и эмоциональное «это точно не про меня» — почти одинаковы.

Еще хорошо бы задать себе вопросы:
— «От чего я бегу?»
— «Были ли трудоголики/алкоголики/запойные книгочеи и прочие эскаписты в моей семье в старшем поколении?»

Лет через 10 я в этот список допишу и игроманов.

«Я хочу, чтобы Вася не овертаймил»

Актуальный вопрос для меня: как убедить человека перестать регулярно овертаймить? © Vitaliy Litovskiy

Если все кругом не овертаймят, а Вася овертаймит — значит, причина в Васе. Что-то его к этому толкает. Причины см. выше, а вот действия — уже сложнее. Поменять Васю заметно не выйдет. Так что ты либо учишься работать с таким Васей, либо увольняешь его, либо увольняешься сам.

«Я хочу, чтобы сотрудники давали правильные эстимейты, это спасет от овертаймов»

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

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

Итак, мы хотим от программиста:
— рабочий код за вменяемые деньги. Это основное;
— эстимейты, английский, бизнес область и т.д. Это опционально;
— профессиональный рост: писать лучше код и давать лучшие эстимейты. Спорно.

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

Откуда берутся овертаймы

Давайте очень коротко пробежимся по источникам овертаймов. Это может быть:
— Заказчик. Невнятное ТЗ, доделки-переделки-согласования, медленные водянистые ответы;
— Команда. Внезапные увольнения и запои, больничные, собеседования новичков, конфликты, технический долг, митинги, тестирование, документация, рефакторинг и прочие доделки и переделки;
— Внешние обстоятельства. Глючащие внешние библиотеки, пропадавшее электричество, новая версия сервака;
— Менеджер, то есть мы. Не так заэстимейтили, не нашли нужного человека, пропустили крупную доделку без явного объявления об увеличении сроков, не учли риски.

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

Рассмотрим несколько возможных мотиваций менеджера.

«Овертаймы позволяют сотрудникам быстро учиться»

Давай проведем мысленный эксперимент: возьмем среднего программиста и посадим писать код. Будем следить в рил-тайме за ошибками. От компа дольше, чем на 5 минут, отпускать не будем. Можно с уверенностью сказать, что количество ошибок через 10 часов возрастет. Через 20 — сильно возрастет. Через 100 часов без сна ошибка станет непрерывной.

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

Так что быстрое обучение на овертаймах работает только в каких-то индивидуальных границах.

«Я хочу, чтобы сотрудники овертаймили»

Сейчас так надо, ок. Учитываем все риски и последствия — и делаем.

— Рядовой Иванов!
— Я!
— Вот вам кирпич — собьете самолет противника!
Иванов в изумлении:
— Как — кирпичом самолет?
— Иванов — вы же КОММУНИСТ!
Иванов переламывает кирпич об колено на 2 части:
— Я собью ДВА самолета!
© очень старый анекдот

Обычно так не получается. Вместо прямого приказа лучше использовать привязку мотиваторов к конкретному человеку. Теорий тут много, можно посмотреть на Ричи-Мартина, можно — на пирамиду нейрологических уровней Дилтса, а можно вспомнить Маслоу. Самое важное — это найти индивидуальный подход к каждому.

Любопытные наблюдения:
— Топ-менеджеры, когда хотят кого-то мотивировать, часто используют деньги. Иногда сложно объяснить топам, что существуют и другие мотиваторы;
— Тимлиды, PM и HR часто спрашивают, как мотивировать без денег. Почему? Потому что топы очень не любят выпускать единственный известный им мотиватор из-под контроля.

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

«Заказчик давит и требуют овертаймить. Что делать?»

Здесь нет однозначного ответа, зато есть несколько помогающих вопросов. Если у вас уже есть опыт с этим заказчиком, то всегда ли он так давит?
— Если «да», то можно использовать правило: если все задачи помечены как «важные» и «срочные», то это читается как «разное»:
— Если «нет», то хорошо бы понять, действительно ли это важно?

К тому же, нельзя забывать, что «хочу» и «хочу купить» — это две большие разницы.

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

Я, кстати, везде где мог влиять на политику, обменивал овертаймы на отгулы один к одному. Так есть хоть какой-то шанс, чтобы общий баланс личного и рабочего времени сошёлся. © Yuriy Silvestrov
В моей предыдущей компании отстояли идею, что если овертаймим, то по двойному тарифу © Philip Shurpik

Если бонусов нет категорически, значит могут быть такие варианты:
— На самом деле, заказчику это не особо важно. У него просто такая манера минимизировать расходы. Тут стоит доносить до него, что овертаймы — это дорого и в кредит, ведет к выгоранию и увольнению. Смотрите первую часть;
— У заказчика денег впритык. Это значит, что при неизбежных сложностях он может начать экономить и зажимать ваши деньги;
— Ззаказчику овертаймы важны, есть деньги, только вам давать он их не хочет. Ну ок, в первой частибыла история про цикл «плохо сделал» — вина — «работай больше» в компаниях-потогонках.

Be evil: особые случаи и вредные советы

«Доярки увеличили надои молока за счёт повышения порога жалости к коровам» © старый анекдот

В этом разделе несколько советов, что делать, если хотите реализовать схему непрерывных овертаймов. Я не советую использовать эти методики. Более того, если вы начали использовать эти методики по каким-то другим причинам, то пора задуматься.

1. Внедрите учёт времени. Кто когда пришел и когда ушел. Выход в туалет по сканированию карточки.

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

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

4. Снижайте людям самооценку. Пусть чувствуют себя виноватыми и обязанными. «Вася работает куда больше тебя», «Петя пишет гораздо лучший код», «Ваня всегда готов выйти на выходных», «Коля не был в отпуске уже три года», «Лена пишет статьи для корпоративного блога». Главное — не фокусировать внимание на том, что это совершенно разные люди.


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

Выводы

Итак, мы рассмотрели овертаймы с разных сторон:

— Бизнес-эффективность овертаймов, и почему они интересны заказчикам: выгода, неправильное понимание выгоды, тревога, страх и жажда власти.

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

— Менеджерские вопросы и особые случаи.

Понимайте, что происходит, и извлекайте пользу по максимуму :)

17 книг, которые должен прочитать менеджер по продукту

$
0
0

[Об авторе: Виталий Лаптенок — развивает свои продукты уже порядка 8 лет — начинал с проекта TUT.BYв Беларуси, где построил крупнейший финансовый сайт в стране. Затем переехал в Украину, где со-основал Генезис Медиа — занимается развитием новостных проектов по модели Buzzfeed в развивающихся странах]

Одной из самых больших вызовов в украинском IT я вижу необходимость в значимо большем количестве продуктовых компаний: в намного меньшей по населению Беларуси продуктовых компаний больше, чем в Украине. Я сам знаю, что довольно сложно найти хороший и актуальный список литературы для начинающего продуктолога, особенно на русском языке. Попробую восполнить этот пробел. Буду писать только про те книги, которые сам читал и считаю полезными, поэтому не претендую на истину в последней инстанции, а, тем более, на то, что список будет исчерпывающий. Важно отметить, что речь в статье будет идти о продукте для массового рынка, а не о enterprise-решениях или SaaS-продуктах.

Привожу названия книг в оригинале, так как не у каждой есть перевод на русский язык. К тому же, чтение на английском — это must для менеджера продукта.

Кто такой product manager

Часто эту позицию называют мини-СЕО, потому что уровень ответственности и обязанностей этого человека очень похож на то, чем занимается «большой» СЕО. Основная задача продуктового менеджера — понять, какой функционал надо разрабатывать, чтобы продуктовые метрики (вовлечение пользователей, просмотры страниц, конверсии, выручка и т.д.) выросли, поставить задачу команде программистов, проконтролировать выполнение и понять, насколько результаты лучше/хуже, чем ожидания. Затем — сделать это итеративно несколько тысяч раз.

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

Что еще интересно — у менеджера продукта, если он полностью сфокусирован на своих прямых обязанностях, нет собственного материального результата работы (написанных лично строчек кода или сделанных макетов в Photoshop).

Попробуем разобраться в чем заключает работа PM.

Практика и теория

Так чем же конкретно занимается мини-СЕО? Начать отвечать на этот вопрос стоит с эссе Бена Хоровица — одного из самых легендарных людей в IT-индустрии: Хороший PM/Плохой PM. Написано оно уже 17 лет назад, но актуальности не теряет до сих пор. Другому отличному посту от Кена Нортона уже 11 лет, но он тоже почти также актуален, как и в 2005:Как нанять менеджера продукта.

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

Если резюмировать, руководитель продукта должен:

1) Определять то, каким должен быть продукт

Собственно, самая главная часть работы продуктового менеджера — определить, в каком направлении должен развиваться продукт, какие фичи убрать, а какие нужно добавить.

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

Но есть фундаментальные книги, которые очень помогут понять, как сделать успешный продукт:

Hooked: How to Build Habit-Forming Productsи The Power of Habit: Why We Do What We Do in Life and Business — привычка является основой успеха любого популярного продукта в интернете, и правильный продакт понимает, как она работает. Также книги могут лучше понять себя и своих коллег, потому что именно привычки в основном определяют наш образ жизни.

The Lean Startup — книга, которую просто нужно прочитать. Мне неизвестен другой способ работы, кроме описанного в этой книге, который может привести к результатам в продуктовой компании.

Only the Paranoid Survive — мудрая книга о том, как работать в условиях резкого изменения внешних факторов. Так как в IT изменение внешних факторов — это константа, книгу полезно прочитать каждому PM.

Delivering Happiness: A Path to Profits, Passion, and Purpose — глубоко личная книга о том, как, следуя своим убеждениям, можно построить большой и успешный бизнес.

Thinking, Fast and Slow — фундаментальная книга о том, как мы мыслим, принимаем решения, и почему зачастую эти решения являются нерациональными.

Zero to One: Notes on Startups, or How to Build the Future — важно прочитать для вдохновения к изменению мира. В ежедневной работе поможет мало.

2) Управлять командой

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

Главный член команды правильного PM — это сам PM. Поэтому для начала имеет смысл поработать над своей продуктивностью.

Buddha, Brain and Neurophysiology of Happiness. How to change lives for the better. Practical Guide — отличная книга о том, как чуть лучше разобраться в себе.

The Willpower Instinct: How Self-Control Works, Why It Matters, and What You Can Do to Get More of It- отличная книга о том, как работает сила воли и что делать, чтобы больше контролировать свою жизнь.

Mindset: The New Psychology of Successи Grit: The Power of Passion and Perseverance — две важные книги о том, как и почему люди достигают свои цели. Если выбирать, то я бы рекомендовал Grit — она более научная и взвешенная.

Smarter Faster Better: The Secrets of Being Productive in Life and Business — неплохая компиляция способов повышения продуктивности.

Когда вопросы собственной организации решены, можно приступать к управлению командой. Но предварительно эту команду нужно собрать. В этом поможет Who: The A Method for Hiring, отличное практическое руководство по организации процесса найма. Очень важно не отдавать этот процесс на HR, а действовать самому и проактивно. Правильная команда — это как минимум половина успеха.

С точки зрения непосредственно управления, ключевой книгой является High Output ManagementЭнди Грува, CEO Intel. В ней подробно описаны ключевые активности хорошего менеджера (митинги/ревью/1-on-1s) и то, как правильно их делать.

3) Коммуницировать

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

How to Win Friends and Influence People — классика, которую нужно знать.

Influence: The Psychology of Persuasion — отличная книга о том, как распознавать и использовать техники манипуляции.

Pitch Anything: An Innovative Method for Presenting, Persuading, and Winning the Deal — несложная, но полезная книга о том, как получать результаты от презентаций и переговоров.


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

P.S.Коллеги PMы, чтобы сделать эту статью полезнее, поделитесь в комментариях книгами, которые вы считаете необходимыми к прочтению.

Вплив віз H-1B та аутсорсингу на економіку США

$
0
0

[Про автора: Василь Солощук — CEO компанії INSART, співзасновник Харківського ІТ-кластеру]

Як директор ІТ-компанії, що орієнтується на американський ринок, я намагаюсь відслідковувати тенденції, що з’являються на цьому ринку. З наближенням президентських виборів в США все частіше виникають дискусії на «гарячі» теми. Для американців, нації іммігрантів, імміграційні питання завжди важливі. Сьогодні віза H-1B, що призначена для висококваліфікованих та талановитих іноземців, одна з найбільш контроверсійних. Я дивлюсь на цю проблему з точки зору нашої IT галузі. Американські компанії, що займаються розробкою ПЗ, часто переміщують IT-спеціалістів до Сполучених Штатів, але нащо? Це спосіб отримати дешевших працівників? В США відчувається нестача висококваліфікованих професіоналів? Невже розробник, що працює за візою H-1B, працює краще за «офшорного» розробника-аутсорсера? Віза H-1B дійсно допомагає економіці США чи, навпаки, перешкоджає її розвитку?

Я вирішив уважно вивчити питання цієї візи, щоб сформувати власну думку щодо цього питання. Які плюси і мінуси візи H-1B для Америки і для решти світу? Чи варто Америці позбутися цієї візи, ужорсточити вимоги для її отримання, залишити без змін, чи спростити процедуру і збільшити кількість виданих віз? Які позиції з цього питання займають кандидати на пост президента США?

Заклики і дії

Зважаючи на президентські перегони, я зробив деяке дослідження щодо кандидатів на пост президента США — які наміри вони декларують і яке їх реальне ставлення.

Дональд Трампв своїй імміграційній реформістоїть на позиції підняття мінімальних виплат (зарплати), що сплачуються працівникам з візою H-1B, щоб змусити компанії віддавати ці бажані робочі місця вже існуючому внутрішньому резерву місцевих безробітних і іммігрантів — замість того, щоб привозити дешевих працівників з-за кордону.

Трамп стверджує:

«Ця програма H-1B ані висококваліфікована, ані імміграція: це все тимчасові іноземні працівники, імпортовані з-за кордону задля явної мети замінити Американського працівника за меншу плату. Я, як і раніше, цілком і повністю відданий ідеї ліквідації загрозливих широкомасштабних порушень правил H-1B і припинення цих обурливих махінацій... Я закінчу назавжди використання H-1B як програму дешевої робочої сили та введу вимогу наймати Американських працівників перш ніж використовувати будь-яку візу та імміграційну програму. Жодних винятків».

В той же час, Business Insider пише що, згідно даних Департаменту праці США, Трамп володіє компаніями, що намагались імпортувати принаймні 1100 іноземних працівників по тимчасовим візам, починаючи з 2000 року.

Гілларі Клінтонволіє не говоритипро візи H-1B. В 2003 році, вона зв’язаласяз Індійським гігантом, компанією «Tata Consultancy Services». Згідно угоді з «Tata», в Буффало мали з’явитися можливості для тренування, найму і створення робочих місць; натомість, «Tata» стала лідеромсеред компаній, що користуються візами H-1B: тільки за 2012-2015роки «Tata» отримала сертифікатина 45800 працівників H-1B на позиції в IT-секторі, такі як програміст, веб-розробник, інженер комп’ютерних систем тощо.

В 2007 році Клінтон заявляла:

«Я також хочу знов наголосити на своїй наполегливій праці для програми віз H-1B і для збільшення поточного об’єму квот. Іноземні кваліфіковані працівники роблять великий внесок в технологічний розвиток США».

Однак, сьогодні немає жодного згадування цієї проблеми в програмі імміграційної реформипані Клінтон.

Отже, в чому головна ідея цієї візи? Чому вона така контроверсійна? Давайте з’ясуємо деталі історії та сьогодення цієї візи.

Очікування і реальність

Створена в 1990 році, віза H-1B призначалася для подолання браку високоосвічених іноземних працівників та спеціалістів, головним чином науковців та інженерів. Максимальна річна квота була встановлена на рівні 65,000 віз. Пізніше її було збільшено: до 115,000 на 1999–2000роки та до 195,000 на 2001–2003 роки.В 2004 році, квоту візи H-1B повернули до 65,000 віз, але будо додано 20,000 віз для випускників вишів США).

Метою створення візи було допомогти економіці розвиватися і, зрештою, створити більше робочих місць для американців. Американський роботодавець, який не міг знайти людей з необхідними бізнес навичками і можливостями на ринку робочої сили США, таким чином, отримував можливість наймати іноземних спеціалістів. Закон впроваджував захист як для робочої сили США, так і для працівників H-1B; згідно H1B Visa Support, роботодавець не може звільняти найнятого працівника-американця впродовж 90 днів перед або після отримання візи H-1B для іноземного працівника, а також повинен був перед цим виконати достатні заходи аби найняти американця на посаду, для якої знайдено чужинця. До того ж, згідно Department of Labor, роботодавець має підтвердити, що рівень оплати H-1B працівника не менший за актуальні виплати іншим працівникам зі схожим досвідом та кваліфікацією або за виплати, що переважають для цієї професії — те, що більше.

За законом, працівникам H-1B мають платити принаймні $60,000 в рік. Відповідно до The New York Times, працівники H-1B отримують $60,000 або трохи більше, що набагато менше того, що кваліфіковані технічні спеціалісти-американці зазвичай заробляють. В той же час, навіть більш кваліфіковані розробники можуть працювати з-за кордону (в аутсорс-компаніях) за таку ж плату.

Розподіл заробітної платні нових H-1B працівників у 2013 році:

Джерело інформації: The New York Time

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

Згідно з The New York Times, мала кількість великих компаній, що займаються глобальним аутсорсингом, щороку заполоняють систему заявками на отримання H-1B візи. Щойно досягнуто ліміт в 85,000 заявок, заявки попадають в комп’ютеризовану лотерею, аби доля ніяким чином не залежала від кандидатів. Але, подаючи тисячі заяв, великі аутсорс-компанії значно підвищують свої шанси на успіх і таким чином витискають малі компанії. В 2014 році, топ-20 аутсорс-компанійотримали приблизно 40% наявних віз H-1B, в той час як подавали заявки 10,000 компаній.

13 ІТ-аутсорсинг компаній взяли майже третину усіх H-1B віз у 2014 році:

Джерело інформації: The New York Time

Давайте тепер подивимось на працівників, що отримують візу H-1B: хто вони, які в них навички, наскільки корисними вони можуть бути для економіки США. The New York Times пишепро випадки, коли віза H-1B використовувалась, щоб замінити працівників-американців молодшими технічними спеціалістами, переважно з Індії, які мали обмежений набір навичок, не могли спілкуватись англійською вільно, та яких спочатку треба було навчити основам роботи.

Сім’ям працівників H-1B також дозволено жити в США по візі H4 впродовж терміну дії візи H-1B. Одначе, подружжя та діти (до 21 року) тих, що отримали візу H-1B, можуть працювати, лише отримавши власну робочу візу. Це означає, що на додаток до низько оплачуваних працівників, Америка отримує ще кілька незайнятих людей.

Альтернатива

Таким чином, великі аутсорсинг компанії, переважно з Індії, стають так званими проксі компаніями, через які розробники їдуть до США по візі H-1B, а потім аутсорсинг компанія вже віддає цього працівника для найму в іншу місцеву ІТ-компанію як місцевого працівника. Порівняймо ж обидві моделі:

H-1B працівникЗакордонний працівник-аутсорсер
+Працівник H-1B знаходиться в місцевому офісі, його легко контролювати і керувати ним.Працівник з-за кордону не може бути повністю контрольований, якщо процеси в аутсорс-компанії не прозорі, і менеджмент погано налагоджено.
+Працівник H-1B знаходиться в одній часовій зоні з компанією. Часові зони між компанією-замовником і працівником відрізняються.
Заявка на отримання візи H-1B не приймається до 1-гоквітня; в травні стає відомо, отримав кандидат візу чи ні; працівник не має права почати працювати до 1-гожовтня.+Розробник з-за кордону починає працювати відповідно до термінів, передбачених в контракті.
Кожна заявка на візу H-1B коштує до $4,000. До того ж, роботодавець або працівник мають понести всі витрати, пов’язані з переїздом.+Компанія платить відповідно до договору та не несе ніякі додаткові виплати.
Працівник H-1B потребує робочий простір та обладнання.+Робочий простір та обладнання — відповідальність аутсорс-компанії.
Зарплати вищі у порівнянні з працівником з аутсорс-компанії з аналогічними навичками та досвідом.+За таку ж зарплату можна найняти більш досвідченого працівника з-за кордону.
Якщо працівнику H-1B відмовлено в отриманні Green Card, коли термін дії візи H-1B закінчується, працівник має залишити США, і компанія втрачає свою експертизу.+Аутсорс-компанії зацікавлені в довготривалих контрактах. Таким чином, працюючи з одним і тим же аутсорсером роками, експертиза компанії накопичується головними розробниками та Тім Лідами, які можуть, в разі необхідності, натренувати нових членів команди.
Якщо працівник H-1B демонструє незадовільну роботу, або з’являється будь-яка інша причина для звільнення, роботодавець має сплатитирахунок за відправлення працівника назад до його країни.+Якщо закордонний працівник демонструє незадовільну роботу, замовник повідомляє аутсорс-компанію, що потребує іншого розробника, і не несе ніяких додаткових витрат.
Якщо компанія зазнає реструктуризацію або скорочення штату, та працівника H-1B має бути звільнено, роботодавець має продовжувати сплачуватикомпенсацію такому працівнику еквівалентно виплатам робітнику-американцю.+Якщо компанія-замовник зазнає реструктуризацію або скорочення штату, аутсорс-компанію має бути проінформовано, що працівників буде звільнено, жодної компенсації немає (за винятком, якщо така компенсація встановлена контрактом).

Стосовно найму та звільнення працівника H-1B, я б хотів зосередитись на питаннях часу та вартості. Наймання такого працівника — доволі тривалий процес: компанії не можуть подавати заявки на візу H-1B раніше 1-гоквітня, а працівник, якщо отримав візу, не може розпочати роботу раніше 1-гожовтня. В розробці програмного продукта така затримка зазвичай неприйнятна. Якщо робітник H-1B не працював на роботодавця до отримання візи, його працездатність може виявитись недостатньою. В цьому випадку, роботодавець може звільнити працівника H-1B на таких умовах: роботодавець має оплатити повернення такого працівника до рідної країни, а також виплачувати зарплатню допоки Служба Громадянства та Імміграції США (US Citizenship and Immigration Services) не скасує петицію H-1B. Це доволі коштовна процедура.

З іншого боку, відносини з аутсорсерами можуть бути побудовані значно простіше. В багатьох аутсорсинг компаніях, які надають сервіс формування так званих Dedicated Teams або ODC (Offshore Development Center), процес стаффінгу виглядає наступним чином:
— Компанія пропонує клієнту пул кандидатів для виконання замовленої роботи. Один або кілька кандидатів з цього пулу можуть бути найняті. Контракт підписується, коли всі терміни узгоджено, включно з датами початку роботи розробника(ків) на проекті. Співбесіда не завжди показує справжню кваліфікацію кандидата, тому може бути надана можливість заміни розробника в разі необхідності.
— Розробники мають візу B1/B2 для бізнесу/туризму, що дійсна впродовж 10 років та дозволяєїм надавати консультаційні послуги, брати участь у короткотерміновому навчанні, розвивати ділові відносини, відвідувати заводи та офіси в США тощо.
— На початку нового проекту основні розробники відвідують офіс клієнта і працюють там протягом деякого часу від одного до кількох місяців для встановлення зв’язків, налагодження комунікацій, отримання інформації про проект та координації діяльності. По поверненню, вони передають всю зібрану інформацію команді.
— Якщо розробка проекту вимагає цього, один або кілька розробників можуть поїхати працювати до замовника на деякий час, до 6 місяців.
— Якщо розробник демонструє низьку продуктивність, замовник може замінити цього розробника іншим, який більше відповідає вимогам. Тоді компанія пропонує новий пул кандидатів, при цьому замовник не несе додаткових витрат.
— Якщо розробник залишає компанію, експертиза, здобута на проекті, зберігається тімлідом та основними розробниками. Вони можуть навчити нового розробника. Експертиза не втрачається.

Звісно, може бути багато ситуацій, в яких іноземний професіонал не може працювати з іншої країни, в такому випадку переїзд необхідний. Стосовно IT-спеціалістів, це може стосуватись мега-кваліфікованих розробників, інженерів, архітектів.

Американцям — американське

Як я це бачу, теперішня ситуація з візами H-1B недосконала. Вона, насправді, не допомагає країні, а у якомусь сенсі навіть підриває її економіку — стримує використання американської робочої сили, зростання зарплат, а також стимулює використання послуг та програмних продуктів гіршої якості. В той час як тисячі іноземців щороку отримують візу H-1B, щоб працювати в сферах науки, технології, інженерії та математики (STEM), 74% випускників американських STEM коледжів не працюютьв сферах STEM.

Система має бути змінена, це здається очевидним. Але як? Це питання до громадян Америки, їхнього майбутнього президента та лобістів. Тим не менш, не треба приймати швидких рішень щодо майбутнього цієї візи. Треба зважувати всі плюси та мінуси кожної зміни.

Якщо дійсно існує дефіцит технічних спеціалістів в США, то спершу треба впроваджувати реформу освіти — але це не є темою цієї статті. Американська економіка стає все більш пов’язана глобально. Аутсорсинг робочих місць не лише надає американським компаніям доступ до талантів по всьому світу, але й дозволяє поєднувати локальну та глобальну експертизу, технічний та міжособистісний досвід. Перші кроки, які американці очікують від політиків США, напевно, це запрошувати лише професіоналів топ-рівня, чия робота не може бути виконана з-за кордону.

Я впевнений, що можливо знайти рішення, що задовольнило б всі сторони: американських роботодавців та працівників, так само як і роботодавців та працівників з усього світу.

Стаття доступна англiйською


Про организацию действительно большой конференции: сайты для взрослых и райдер Ричарда Столмана

$
0
0

[Об авторе: Дима Малеев — Solution Architect, работает в ИТ более 10 лет. С 2014 года — директор Lviv Code School]

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

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

Про спикеров

Что главное в конференции? Конечно же, интересные спикеры. В этот раз мне хотелось совсем уж интересных спикеров, и решил я найти разработчиков сайтов для взрослых. Ну а где еще такой хайлоад, как не у них? Всякие Uber и Netflix с удовольствием делятся тем, что они у себя делают. А вот эдалтщики в данном случае довольно скупы, хоть и insights одного из самых больших порталов, с моей точки зрения — самый прекрасный пример анализа больших данных.

Организаторы меня поддержали и дали мне зеленый свет. Дело за малым — осталось найти спикера. Это оказалось невероятно сложным заданием. Вы когда-нибудь пытались гуглить... эммм... любое слово с приставкой porn или названием одного из ресурсов? Повидать пришлось многое. Да даже если зайти в LinkedIn и поискать людей, которые работают на одном из таких ресурсов, вы увидите совсем уж другую сторону этого LinkedIn. LinkedIn, не захваченный рекрутерами...

Собственно, обычный поиск не принес результатов, потому пришлось искать корни. А корни, как не странно, привели меня к компании, которая территориально организована у нашего восточного соседа и скромно называется Streaming company. Теперь вопрос казался бы легче, но все разработчики оказались в Канаде, и ожидаемо со славянскими именами и фамилиями. Крик души в твиттере таки привел меня к человеку в Украине, а именно в Харькове. Да-да, front-end одного из самых больших порталов для одиноких разрабатывается у нас. После короткой беседы кандидат отказался выступать, сказав, что разве что может прочитать тему про дизайн для одноруких. If you know what I mean :)

Самое интересное, что когда у нас было совсем мало спикеров — общались с нами не очень охотно и очень холодно. Но когда конференция начала наполняться именами с таких компаний, как Uber, Twitter или Microsoft — мы были просто завалены заявками с желанием выступить у нас. Кстати, долго спорили, нужна ли кнопка «Call for Speakers», и в тот момент, когда мы решили ее убрать, к нам пришли заявки 3-хлюдей с Uber. В общем, мы ее оставили.

Про город-партнер

«Добрый день! Я представитель мэрии г. Иннополис (Татарстан, Россия). Хотела бы узнать о возможности стать партнером конференции. Пожалуйста, свяжитесь со мной по указанному e-mail. Спасибо»

Не каждый день тебе такое пишут. Особенно из города, который называется Иннополис. Честно говоря, до этого момента я никогда про такой город и не слышал. Согласитесь, название города как будто вышло из «Электроника». Как оказалось, это какое—то Сколково-2, только в Татарстане. Население 96 человек, создан университет при содействии с Carnegie Mellon University. Проект очень амбициозный и выглядит невероятно круто, хотя и все данные мы взяли с Википедии. А как звучит? Город-партнер конференции Иннополис. Пускай даже население города приближается к количеству организаторов и волонтеров. Политическая ситуация в мире нам такой роскоши не позволила, потому мы вынуждены были отказать. Но было очень интересно узнать про существование таких проектов.

Про Ричарда Столмана

Спросить никто не запрещает. Да и Ричард у нас в стране никогда не был, а хотелось бы на этого старичка посмотреть. Еще бы, у него за спиной GNU, Emacs, и кушать что—то с ноги. Было решено отправить ему письмо. Как же я удивился, получив от него ответ. На каждое письмо я, честно говоря, отвечал с трясущимися руками. Собственно, Ричард рассматривал нас как возможное место, где он может представить одну из своих лекций о свободе информации, и даже прислал свой райдер.

Хоть и у Ричарда не получается посетить нашу конференцию, его райдер навсегда мне запомнится. Там, кроме стандартных требований к аудитории, рекламе и компаниям, спонсорство которых не кажется ему нарушение прав свободы информации, были и достаточно загадочные. Самым запоминающимся было то, что Ричард не хотел бы жить в отеле, а предпочитает поселение у организаторов в гостях. Особенно если там нет агрессивного кота. Но если кот добрый, то можно и там пожить. А лучше всего жить в квартире с говорящим попугаем. Только попугая попросил не дарить. В целом райдер занимал более 20 страниц, и, читая его, чувствуешь то ламповое тепло, исходящее от тру программистов.

Про поиск кей-ноут спикера

Это целый квест с кучей разных мнений. Особенно, когда решение принимается разными стримами. Естественно, технологический стрим хочет технологического гения, бизнес стрим — гениального инвестора, продакт стрим вообще хотел терминатора, который умеет все. Спорили мы, спорили, а потом решили, кто кого найдет. И нашли Эстер Дайсон.

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

Про жизнь

Мы ждали одного спикера. Свели его с нами наши коллеги из УКУ, и спикер согласился приехать и рассказать. Чтобы вы понимали, в Software Architecture он как Иисус в Библии. Радости не было предела, и мы прыгали от счастья. За полтора месяца до события он прислал нам письмо о том, что его жена умирает от рака, и он не может посетить нашу конференцию. Такие письма невероятно трудно читать и, тем более, найти слова для того, чтобы ответить. В такие моменты все и вся отходит на задний план и заставляет задуматься о том, что же в жизни главнее. Жизнь есть жизнь, по-другому и не скажешь.

Интересное это дело, конференции делать. Причем любые. Это невероятно много опыта вне зависимости от размера конференций: будь то Lviv IT Arena или локальный митап юзер группы. Больше конференций — хороших и разных. Но только хороших. Да, именно хороших таких, с душой :)

Як вивчитися на програміста: основна таємниця айтішної освіти

$
0
0

[Про автора: Юрій Савка — має 8+ років досвіду роботи в ІТ, наразі працює на посаді Senior PHP developer в компанії Rocket Internet в Берліні, веде блог]

Свій перший сайт я написав на третьому курсі. Нашому «мистецькому об’єднанню» потрібно було своє представництво в інтернеті, де ми мали викладати вірші, відео з перфоменсів і маніфести постмодернізму, який помер. В нашому об’єднанні були поети, режисери, оператори і актори, а програмістом був чомусь я один. Тож вибору особливого не було: я сів і почав писати сайт.

На той момент я не знав PHP, не уявляв собі, «що відбувається між тим, як натиснути кнопку Ентер, і тим, як гугл покаже тобі форму пошуку». Не знав патернів програмування, різниці між SOLID і GRASP, абстрактним класом та інтерфейсом. Я був жахливим програмістом і прекрасно це розумів, але діватись було нікуди — я сів і почав писати код.

Сайт у мене також вийшов жахливий. На щастя, початкового коду не збереглося — після чергового «апгрейду» з AJAX чатом на сервер проліз вірус і заразив, окрім нашого, ще з десяток сусідніх площадок. Після інциденту з вірусом із безкоштовного сервера нас погнали, а код (його єдину існуючу копію) витерли під нуль. Часом я мрію, щоб таке ж сталося з усіма іншими моїми старими проектами.

Код був написаний на Смарті та грішив усіма можливими помилками початківця. Тим не менше, один з моїх колег по «об’єднанню» зумів здати його чи то як лабораторну, чи то навіть як курсову роботу. Інший знайомий попросив мій код як основу для свого «стартапу», мовляв, його теперішня версія трохи поступається у функціоналі. Після двох літрів пива я вмовив показати, що в нього було на той момент. Він відкрив єдиний файл проекту. Верхнім рядком там стояв class Articles і дві фігурні дужки, більше у файлі не було взагалі нічого. «Ух ти», — сказав я йому, — «в тебе на один клас більше, ніж в мене!»

Перший комерційний проект

Після написання мого першого сайту я так само не знав програмування і так само не вмів писати код. Але, на щастя, про це ніхто не здогадувався. І мій сусід по кімнаті, коли йому пощастило десь вихопити проект за 100 баксів, пішов з ним напряму до мене.

«Проект» включав у себе правки до інтернет-магазину. Власник купив у когось флеш-рулетку, яка мала видавати знижку перед замовленням. Наша задача була в тому числі і в тому, щоб рулетка завжди видавала мінімально можливий варіант: знижку в один відсоток. Як ви розумієте, щедрістю замовник не вирізнявся, але, на щастя, сусід по кімнаті мені трапився настирний і свою половину платні відпрацював чесно — гроші ми таки отримали. Сто баксів — це було дві моїх стипендії. Половина з них — якраз одна. Досі пам’ятаю той неземний звук, яким ВебМані повідомляли про те, що на рахунок прийшли гроші. Потім я його чув ще не раз.

В той же час мій знайомий, назвемо його Ромою, підійшов до справи серйозніше. Він не хотів, як я, писати бидлокод, а натомість вирішив повчитися. На Петрівці за шалені гроші він купив три талмуди по С#. Кожного дня після пар він сідав за ці талмуди, уважно читав, підкреслював важливі моменти олівцем, час від часу піднімав погляд від книжки і тихенько шепотів — так краще запам’ятовується.

Зусилля не минули дарма. Через півроку Рома знайшов свою першу роботу. Щоправда, його зарплату я на той момент вже міг заробити за три хороші вечори, з тією лише різницею, що мені її справді платили. Коли я дізнався про затримку зарплати в півроку, я здивовано запитав: «Якого біса ти ще там?». Рома мені відповів, опустивши голову: «А хто мене ще візьме? Програміст-то я хріновий».

— Ти що, — запитав я, — не тягнеш задач, які тобі дають?
— Та задачі я тягну, — відповів мені Рома, — з цим проблем нема. Але я так і не зміг вивчити навіть третини з моїх книжок. Кому я такий потрібен?

Від фейспалму мій лоб ледь не тріснув. Я довго і нудно намагався щось йому пояснити, але марно: на всі мої питання він відповідав «ти не розумієш» і продовжував у тому ж дусі. Останнє, що я про нього чув, — були його плани перекваліфікуватися в порноактори. Надіюся, хоч до цієї професії він знайде інший підхід.

Шлях фрілансом

Після проекту з магазином я підсів на біржі праці рунету. Тоді ще можна було лишати необмежену кількість відгуків безкоштовно. Цим я і займався. Завдання я, в основному, не читав. Вихоплював з опису ключові слова і залишав коментар: «Я, досвідчений програміст, експерт з ХХХ, маю досвід впровадження YYY, готовий виконати ваше замовлення за десять баксів». Звучало дивно і смішно, але навколо бушували нульові, ми виживали як могли, і проекти мені таки час від часу перепадали.

Я рівняв верстку каталогу тракторів, завантажував прайси в магазин ювелірки, писав парсери для погодних сайтів і схеми маршрутизації для порнотрафіку. Одного разу мені навіть замовили пофіксити цілий вірус. Не знаючи, що таке згадана клієнтом «віртуалка», я запустив черв’яка прямо в себе на машині, звідки потім довго і нудно його виколупував. Клієнт, до речі, більше на зв’язок так і не вийшов.

Більшість моїх однокурсників на той час теж працювали. Хтось — так само, як я, на фрілансі, хтось — в шарагах на півробочого дня, де їхні перші проби клавіатури продавали, як роботу «сіньйорів». Дехто зависав цілими днями на топкодері, заробляв гроші на платних контестах і деколи навіть писав туди статті. Нас об’єднувало одне — ми були поганими програмістами. Але робили все, щоб стати хорошими.

Інший мій знайомий приблизно в той самий час пішов на роботу в кабельну компанію, міняти людям роутери і прибивати до стінки спеціальні кріплення. Професія програміста його досі приваблювала, тому вечорами він час від часу відкривав підручник по HTML+CSS, вчитуючись у кострубатий, наповнений канцеляритами текст. Кожного разу він зітхав і закривав його, адже 500 сторінок — не штука, одним махом не освоїш. Чи пробував він щось писати сам? Не знаю, напевне — ні, було «ще рано».

Він мене допитувався, як я зміг стати настільки крутим програмістом (мірилом крутості були зароблені гроші), і які книжки я читав, щоб досягнути того, що маю зараз. Я вигадував якісь відмазки, цитував Ейнштейна з його «найкраща практика — це теорія», але основної своєї таємниці я тоді так і не видав.

Синдром самозванця

Мій секрет був у тому, що ніяким крутим програмістом я насправді не був. Адже про системи, в які безстрашно ліз у пошуках багів, я не знав практично нічого. Пересувався наосліп в нагромадженні модулів, копіював шматки коду з одного місця в інше і міняв їх випадковим чином, аж поки вони не починали працювати. Ми ще жартома називали це генетичним програмуванням: так само працює еволюція.

Ця таємниця переслідувала мене добрий десяток років. Я страждав синдромом самозванця, чекаючи, що ось-ось усі навколо зрозуміють, що насправді я ні бельмеса не петраю в тих матеріях, про які впевнено говорю на співбесідах, недостатньо знаю про технології, які використовую в продакшні і не зможу напам’ять розповісти про 7 рівнів мережі. Часто мені снилося, як строгий вчитель викликає мене до дошки і примушує написати потрібний формат дати. А я не можу, бо я гуглю його кожен бісовий раз!

А потім я заспокоївся. Не тому, що став раптом супер-експертом і «вивчив» нарешті програмування. Натомість я зрозумів, що всі навколо такі самі телепні, як і я. Не тому, що не хочуть вчитися і спали на уроках. Просто вгледіти за всіма змінами в технології і «навчитися» чомусь перед тим, як братися за роботу, просто абсолютно неможливо. Спочатку я думав, що щось не так в айті. Але потім зрозумів: проблема набагато глибше.

Як стати кращим в сучасному світі

Все життя нам розповідали, що школа, університет чи ПТУ є необхідною ланкою в кар’єрі кожного. Там нам повинні дати сакральний набір інструкцій, як виживати в жорстокому навколишньому світі. Так звані Знання.

Насправді, колись так все і було. Світ, підскакуючи на поворотах, сонно плівся вперед. «Революції» займали сотні років і протягом одного короткого людського життя знань, отриманих у школі, було більш ніж достатньо. Покоління за поколінням селяни всипали в ту саму землю те саме насіння і тими самими серпами косили в жнива урожай. Династії працівників заводів стояли біля одного і того ж станка, на якому мінялася хіба що фарба. Ось тобі набір погодних прикмет та інструкцію до станка. Більше тобі в житті не знадобиться нічого.

Сучасний світ мчить уперед з реактивною швидкістю. Все міняється не те, що в масштабах покоління — навіть декади розділяє прірва. Мобільні телефони, інтернет, соцмережі, віртуальна реальність, автопілот автомобіля. Кожних кілька років світ підкидає вгору від чергового відкриття і тих, що не змогли втриматися, відразу відкидає на узбіччя.

Тим не менше, в суспільстві чомусь досі вважається, що школа з університетом дають якісь міфічні «знання», володіючи якими можна піти і відразу працювати. Тільки от роботодавці, паскуди, постійно вимагають цей бісовий «досвід». Або навіть не так. Проблема університетів, мовляв, у тому, що вони дають знання, але «не ті».

Насправді ж єдиний спосіб стати в чомусь кращим включає всього два простих кроки.
— Робити те, в чому ти хочеш стати кращим;
— Дивитися, як це роблять ті, хто вже кращий.

Все, більше ніяких таємниць нема.

Діти, яких готують до футбольної кар’єри, просто ганяють на стадіоні цілими днями. Часом ще тренують конкретні удари, вже знаючи напевне, коли і при яких обставинах вони їм знадобляться. А ще прикипають поглядом до екрану, коли на поле виходить їхній кумир. Навряд чи Зідан читав багато книжок з теорії футболу. Хоч їх, я підозрюю, написано чимало.

Навчання: майстер vs книжки

Мало хто розуміє, що книжка, насправді, — це сурогат. У всі часи єдиним дієвим способом справді чогось навчитися була практика в Майстра. Чаклун ти, столяр, чи коп, тебе приставляють в пару до досвідченого і вправного. Ти дивишся, як працює він. Повторюєш за ним. Профіт.

В епоху інформатизації Майстер став зовсім поруч. Його код — в публічних репозиторіях, його технічні статті в блогах, його лекції — на Ютубі та Курсері. Якщо дуже припече, можна навіть написати йому листа з питанням — і він відповість. Тепер не потрібні недолугі посередники в заляпаних крейдою старих радянських костюмах і навчальні програми, застарілі вже на етапі затвердження. Тепер не потрібні його священні послання — книжки.

Підручники з програмування — це окрема історія. Зазвичай, вони застарілі вже на момент виходу. Адже текст потрібно написати, вичитати, потім дочекатися друку, розповсюдити. Якщо ви з якоїсь незрозумілої мені причини вирішили читати не в оригіналі, про будь-яку актуальність можете забути відразу. Адже за час, витрачений на купівлю прав, власне переклад і подальшу публікацію з розповсюдженням, технологія вже встигла просунутися на кілька кроків уперед. Часто — велетенських кроків. І частина «хороших практик» вже давно перетворилися в ознаки поганого тону.

У наш час технічні книжки гарно виглядають лише на полицях. Натомість на їхнє місце прийшла документація, технічні блоги, всілякого роду конференції, онлайн-курси та інші ресурси з чітко вираженою інтеракцією. Короткі, актуальні довідники О’Рейлі, бажано з сайтом, який постійно оновлюється, дозволять швиденько вникнути в невідому раніше область, але далі доведеться тільки копати самому.

Вміння вчитись

І навіть при цьому більшість часу ти будеш працювати з тим, в чому анітрохи не розбираєшся. В цьому і є той міфічний досвід, який усі вимагають замість ваших сакральних «знань»: вміти швидко вникнути в те, що бачиш перший раз у житті.

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

Тому що інакше ніяк, і ті, хто забариться хоч ненадовго, застрягнувши в такому знайомому легасі коді, мають всі шанси стрімко вилетіти з індустрії під напливом молодих і голодних, які за потреби розберуться в усій вашій системі за кілька днів, а ще за місяць перепишуть її на Ноді. Або на Го. Або на Котліні. Головне, що вам в Новому Дивному Світі місця вже не буде.

А в порноактори, починаючи з певного віку, перекваліфіковуватися буде не так вже і легко.

Украинское IT в цифрах и фактах: мы на распутье, но знаем, куда двигаться дальше

$
0
0

[Об авторе: Игорь Беда — старший вице-президент и управляющий директор GlobalLogic в Украине. Более 15 лет работает в IT-индустрии, последние 9 лет — на руководящих должностях в компании GlobalLogic. В свободное время любит готовить, играть в сквош и отдыхать за городом]

Одной из главных тем для обсуждения на Lviv IT Arena стало исследование украинского IT от PricewaterhouseCoopers (PwC), проведенное на заказ ИТ-комитета Европейской Бизнес Ассоциации. Доклад еще раз подтвердил, насколько весомым является наш вклад в развитие украинской экономики. Мы — мощная и научно-емкая индустрия, и осознание этого делает нас еще более консолидированными. Мы понимаем, что нужно сделать, чтобы Украина ассоциировалась с высокими технологиями, а у наших специалистов была возможность реализовывать здесь свои таланты.

Место IT-отрасли в Украине и мире

По данным PwC, Украина входит топ-20 (по данным International Trade Centre — топ-25) крупнейших экспортеров IT-услуг в мире. Более 70% экспорта IT-услуг Украины составляет разработка ПО на заказ. Уже сейчас IT — ключевой драйвер экономики Украины и демонстрирует наибольший рост среди других экспортных отраслей. С 2011 до 2015 года вклад IT для ВВП увеличился с 0,6 до 3,3% (с $1,1 до $2,6 млрд). Такого роста удалось достичь благодаря молодому поколению инженеров — за последние четыре года число IT-специалистов увеличилось с 42,4 тыс. до 91,7 тыс:

Но наш вклад в экономику Украины, на самом деле, намного обширней. Ведь почти 100 тыс. украинских инженеров — это и есть пресловутый средний класс, который живет и пользуется услугами, покупает товары в Украине. Кстати, 1 специалист создает 3,6 дополнительных рабочих места в смежных отраслях:

Выбрать лучший сценарий

Исследование PwC не только показало реальное состояние нашей отрасли, но и рассмотрело три вероятных сценария развития рынка до 2020 года.

— Первый сценарий — оставить всё, как есть. Если оставить существующую налоговою ставку и не предпринимать дополнительных мер для стимулирования отрасли, то рынок продолжит расти теми же темпами. Так, количество программистов к 2020 году может вырасти до 142 тыс., а доходы государства — до 21 млрд грн. Но достаточно ли этого?

К примеру, наши страны-соседи — Польша, Румыния, Беларусь — опережают нас по темпам роста. Если за прошедший год динамика развития IT в Украине составила 7%, то в Польше — 22%, Румынии — 19%, Беларуси — 17%. Дело в том, что во всех странах-конкурентах задействованы те или иные методы стимулирования IT-сектора. Украине стоит разработать собственные.

— Второй сценарий — испортить всё.В случае резкого увеличения налоговой ставки до 20% проиграют все. Конкурентоспособность нашей страны на мировом рынку в 2020 году снизится раза в два. Количество специалистов в отрасли уменьшится до 72 тыс. — лучшие инженеры просто выедут в страны-конкуренты. И доходы государства снизятся до 13 млрд грн.

— Третий сценарий — Win-Win. Наиболее оптимистический сценарий — это планомерное ежегодное повышение налоговой нагрузки на 1% вместе с дополнительными методами стимулирования отрасли. При таком подходе украинские таланты смогут реализовывать себя в родной стране — и количество инженеров в Украине возрастет до 146 тыс. к 2020 году. При этом экспортная выручка от IT-компаний вырастет в два раза (с 2,5 до 5,1 млрд долларов), а доходы от IT в бюджет Украины составят 27 млрд грн.

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

Кроме этого, не стоит забывать, что главная причина роста нашей отрасли — это человеческий капитал. И хотя в Украине есть сильное инженерное образование, но оно сильно отстает от темпов развития мировых технологий. Нужно реформировать образование в Украине — адаптировать программы в вузах в соответствии с требованиями рынка, чтобы удовлетворить будущий спрос на высококвалифицированные кадры. Поэтому мы, IT-компании, на уровне специализированной ассоциации помогаем Министерству образования и науки совершенствовать образовательные программы.

Что в наших силах?

Украинской IT-отрасли очень важно занять свою нишу на глобальном рынке. И я считаю, что такой нишей должен стать R&D. Во-первых, наши украинские инженеры уже сегодня создают высокотехнологичные решение для мировых брендов. Во-вторых, спрос на высокотехнологические и комплексные решения во всем мире только увеличивается в связи с повсеместным внедрением интернета вещей и огромным количеством клиентов, которые ранее не были связаны с IT, но решили внедрять инновации в свой бизнес. Здесь мне очень импонирует пример Израиля, который при небольшом населении стал одним из главных R&D-центров в мире. В свое время они отказались от дешевых аутсорс-проектов и сконцентрировались на высокотехнологических разработках. Мне кажется, что схожий путь предстоит и нашему рынку.

И что важно — сегодня именно высококвалифицированные инженеры, которые составляют только 20% от общего количества IT-специалистов, обеспечивают более 40% доходов отрасли. Это как раз те специалисты, которые могут предлагать высокотехнологические решения для мировых брендов и обучать этому молодых сотрудников. Нам стоит ценить потенциал наших инженерных талантов и направлять его в нужное русло.

Украинские IT-компании инвестируют много времени, знаний и опыта для развития рынка. Так что позитивный сценарий до 2020 года, который предложили PwC — это не утопия, а реальность, которую мы с вами воплощаем уже сейчас.


От редакции: в прошлом году подобный обзорделал Виталий Нужный — управляющий директор Luxoft Восточная Европа.

Менеджерско-программистская выжимка за 17 лет в отрасли

$
0
0

[Об авторе: Владимир Железняк — пишет код, управляет проектами. Два раза дауншифтился с менеджерских позиций в чистый код, потом обратно вырастал. Вёл бесплатные курсы, консультировал джунов и бизнес, работал в офисе и удаленно].

Итак:

— Люди меняются медленно. Ты делаешь лучшее из возможного с теми, кто есть, или увольняешь, или даже увольняешься. Первое требует самообучения.

— Люди развиваются неравномерно. Кто-то качает код, кто-то разговоры, кто-то английский. Идеала не будет — ни у тебя, ни у сотрудников, ни у твоих детей.

— Найм подходящих — это твоя задача, а не рекрутеров. Они могут помочь, но не более.

— И программисты, и бизнес любят связь в своём формате: «С меня код, с вас деньги и уважение» и «С меня список задач и деньги, с вас работающая программа». Люди неосознанно избегают общения сверх этого. Чем выше человек в иерархии, тем проще ему оградить себя от тревожных сигналов и тем вреднее это для компании.

— Программисты не знают, насколько хорошо они работают (нет связи от менеджеров) — от этого нервы и выгорание/пофигизм/увольнения. Бизнес не понимает, над чем работают сотрудники — от этого страх обмана и дурные KPI. Плохая обратная связь — самая частая проблема в известных мне компаниях.

— Менять процесс нужно только в том случае, если результат кого-то не устраивает и этот кто-то готов за это заплатить. Желание должно быть не «Ну ладно, давайте попробуем», а «Мы косячим в <...>, это проявляется в <узнаваемые всеми ситуации>, я готов к сложностям времени внедрения».

— Конфликты будут всегда, и это хорошо.

— Учи на крови. Пока у тебя на руках есть горячий провал, и всё чувствуют, как это больно — тут и можно внедрить изменения. На крови гораздо проще перейти с программистами от мутного «Мы будем внимательнее» к «Любой код ревьювится», а с бизнесом от «Мы им деньги платим, пусть работают» к «Они люди. И не всегда предсказуемы, нужно вкладываться в мотивацию, отдых, резервирование критичных знаний»

Это самое важное из моего личного опыта управления проектами. Большую часть я выкладывал у себя на Facebook, сюда выношу выжимку. В этой статье — мои субъективные наблюдения и гипотезы. Я не социолог и не проводил развернутых исследований. Есть что дополнить, особенно в реальных примерах, — пишите в комментах. Я убрал всю воду, а её больше всего было на стыках.

О найме

«Пришлите пример вашего кода» — нужно спрашивать перед собеседованием. Кто пришлет код с коммерческого проекта — тех не брать на проекты с важным NDA. Кто пришлет код с публичного гитхаба — смотреть частоту коммитов и задавать вопросы про рабочий график и скорость переключения с проекта на проект.

Такой вопрос — дурная практика, не нужно спрашивать. Я вообще пока не видел ни одного хорошего способа эффективного собеседования миддл+.

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

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

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

Программист должен писать код. Это самое главное. Неумение разобраться в ТЗ, плохой английский, конфликтность — снижают ценность и зарплату, но при нехватке программистов на рынке труда не будут стопором.

Note: если сбудутся мечты работодателей, и кандидатов станет больше, чем вакансий — всё поменяется. Если за одно место будут бороться пять синьор-джавистов, то рекрутеры начнут перебирать, вплоть до: «Фи, он свою поэму на английском не проверил спеллчекером, а внимательность — важный признак для нашего сотрудника».

Фрилансеры и удаленщики.Самые лучшие и самые худшие сотрудники мне попадались именно на фрилансе/удаленке.

«С++ за 21 день, HTML за месяц» и другие сказочные курсы.После IT-курсов только от 5% до 20% поступивших находят работу. Остальные зря тратят время. Хотя вот буквально на днях слышал о результате в 60% — буду смотреть детальнее.

По моему опыту, на обучение с нуля до уровня «может приносить пользу работодателю» уходит от 400 до 900 качественных часов. Редко кто вытягивает больше 10 качественных часов в неделю на обучение без отрыва от основной работы. Больше 30 не вытягивает даже с отрывом. «Качественный час» — это когда таймтрекер останавливается при проверке почты/новостей/чай заварить, то есть любых прерываниях. У каждого есть свой предел «сколько я могу выучить/сделать для себя нового за день», при приближении к этому пределу КПД падает — и дальше есть смысл сидеть только для однотипной хорошо известной работы. Ну и бэкап заранее сделать.

Трудоустройство с нуля.Затраты на джуна — это не столько его зарплата, сколько время менеджера + рабочее место. И не важно, джун попросит 300 или 400 долларов. Фирме он будет стоить, к примеру 600 или 700. Не так уж и существенная разница, в общем-то.

О деньгах

Зарплата.Зарплата зависит от рынка труда куда больше, чем от кандидата. При растущем рынке наибольшей прирост ставки можно получить при смене работодателя. При падающем рынке — можно дольше удерживаться у старого работодателя. Примеры падающего рынка — кризис 2008-гои застывший сейчас рынок IT-труда в России.

Работодатель с удовольствием введет грейды, KPI и любую систему оценок, но... Зарплата по-прежнему будет зависеть от рынка, а не от KPI.

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

Украинским аутсорсерам удается продавать сотрудников пусть за классные $40. Выше уже заказчики начинают крутить носом и смотреть на Индию — там уровень программистов здорово подрос за последние годы, а цены куда ниже наших.

Экономика аутсорсера.Разница между внешним и внутренним рейтом обычно в два раза. Но при этом прибыльность аутсорс-компании — 10-15%.Остальное уходит на офис, отпуска, праздники, больничные, бенч, найм, менеджмент, железо, софт и еще десяток мелких пунктов.

Числа проверены из трех независимых источников. Владелец небольшой фирмы запросто получает меньше своих топовых сотрудников и несет больше рисков.

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

Мотивация

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

Тема заезжена вдоль и поперек, пошла и баяниста, как анекдоты про Ржевского. Но если собрать десяток тимлидов и PM-ов и спросить: «Что болит?», то мотивация — самый частый ответ.

Свой/чужой.Большинство программистов ассоциирует себя с программистами. Поэтому при описании любого конфликта между программистами и бизнесом, угадайте, какую сторону выбирают программисты? :) Это нормально, это естественно, эффект «защиты своих» нужно учитывать при любых действиях, которые могут выглядеть как наезд.

Топ-менеджеры и бизнес тоже друг на друга равняются.

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

Diff.Люди ведут себя по-разному. Кто-то ноет с самого начала, кто-то молча работает, кто-то прибегает с вопросом два раза в день. Не так важно, как они себя ведут, важно, если поведение меняется. Тут стоит придумать две-три гипотезы, почему так:
— Раньше ныл, теперь перестал? Может, что-то отрефакторил втихаря, а может, тупо забил и ходит по собеседованиям?
— Раньше молча работал, а теперь начал говорить на отвлеченные темы? Стал доверять? А может, хочет поделиться наболевшим, но не знает, как начать?
— Бегал с вопросами два раза в день, а теперь — раз в два дня? Либо научился, либо поставил на себе крест.

Следующий вопрос — что с этой гипотезой делать и как обрабатывать возможные последствия. Но начинается всё с отслеживания изменений.

Похвала.Нужно хвалить. Если не за что хвалить, то зачем такой сотрудник? Без похвалы за конкретные действия мотивации нет. А любое порицание воспринимается как ужас-ужас-ужас. Гуглить «Линию Лосадо».

Две смертельных ошибки менеджеров.Желание нравится всем и перфекционизм — два самых частых греха начинающего IT-менеджера.

Менеджер-хамелеон принимает ту точку зрения, которая сейчас популярна среди собравшихся. Всем кажется, что он их поддерживает, и всё идёт хорошо. Поначалу.

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

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

Перфекционизм программистов.Перфекционизм у сотрудников поганит жизнь менеджеру:
— Бесконечные доделки;
— Перфекциониста на смежную задачу не перекинешь;
— Нытье: «Аааа, мне опять не дали отрефакторить нормально!»;
— Выгорание и увольнение.

Перфекционизм самому носителю тоже мешает жить. Когда кругом есть только серое «нормальное качество» и обычное черно-депрессивное «полное Г», то радоваться жизни как-то не от чего. Кроме того:
— Вечно задач больше, чем времени;
— Нифига не успеваешь;
— Окружающие делают всё не так, приходится проверять.

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

Прерывания.Одно прерывание человеку обходится в 20-40минут рабочего времени. И не важно — вы отвлекли человека на 30 секунд, либо на один час — вспоминать задачу и разгоняться он будет всё равно примерно полчаса. Более подробно можно почитать тут — «Не будите программиста».

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

У меня получается либо писать код, либо менеджить в один момент времени.

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

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

Кстати, подавленный гнев часто вылазит в сарказм и насмешки.

Вместо выводов

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

Советы для стартапера от папочки

$
0
0

Комментарий вместо введения: последние 8 лет я работаю со стартапами, создаю с нуля команды, проекты, бизнесы в сфере высоких технологий. Поэтому сейчас я работаю над проектом askpapir.com, в котором являюсь 100% собственником, инвестором, партнером, ко-фаундером и фаундером, CEO и советом директоров.

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

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

Образ стартапера инфантилизирован до невозможности. В этой статье я пройду по основным бредовым идеям, которые ретранслируются.

«Идея — это 1% успеха»

Давайте использовать цифры там, где это уместно. Кто и как проводил анализ стоимости идеи? Если идея стоит 1%, то значит ли это, что стоимость идеи Uber составляет 1% от капитализации компании? Если ты используешь конкретную цифру, то не надо унижать читателя, принимая его за дурака. Да, стоимость идеи не высока до тех пор, пока она не реализована, но инвестору выгодно рассказывать, что идея ничего не стоит — для того, чтобы начать торговлю за долю с минимальной цены. Мы с детства знаем, что информация обладает ценностью. Идея — такая же информация, как и любая другая. В некоторых случаях достаточно идеи для того, чтобы начать бизнес, в других нужна кропотливая работа. Но инвестор или «гуру» обманывает вас, когда занижает стоимость ваших знаний о том, как можно сделать бизнес.

«Делитесь идеей со всеми подряд»

(потому что она ничего не стоит)

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

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

«Обязательно имейте ко-фаундера»

Еще один из удобных приемов. Давайте изначально создадим у бизнесмена кучу лживых комплексов, и тогда им будет легче манипулировать. «Как это у тебя нет партнера? Мы же в каждой долбанной презентации для таких, как ты, рассказываем, что тебе нужен партнер». Но при этом не подтверждают свои слова цифрами и доказательствами.

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

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

«Команда важнее всего»

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

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

«@#$^%#$%#^$ — Стив Джобс ©»

Набор букв, вырванных из контекста, оказывается, живет не только в пабличках для малолеток. Любую тупую мерзость можно обосновать многозначительной цитатой ни о чем. Ведь идиот — это читатель презентации фонда. Если за спиной человека, который хочет урвать от вас пару лет жизни, стоят Генри Форд, Джек Ма, Иисус Христос, то такому парню точно можно доверять. Ведь еда — это ты!

«[Очередная банальная истина, например: не кушайте желтый снег]»

Презентации или статьи для стартаперов на 90% наполнены рандомным количеством банальных фактов. Например:
— «Первые сотрудники так же важны, как и совладельцы» — скорее всего, вы смените сотрудников на всех постах и возможно по нескольку раз;
— «Плохой рекрутер может убить ваш стартап» — элементарное следствие из предыдущего пункта, но «я же гуру, а мне вас, болванов, окучивать еще 20 минут»;
— «Нанимайте людей лучше вас» — чем ниже ваша самооценка, тем выгоднее быть инвестором;
— «Выбирайте сотрудников, как если бы выбирали друзей» — вы просто набираете сотрудников, чтобы они работали, а не разводите детский сад;
— «Набирайте восторженных, а не опытных» — ведь лучше, когда в детском саду все веселятся, а не работают, ведь так делали в [something].com, и не важно, что они закрылись.

И т.д., и т.п.

«Нанимайте только самых лучших»

Фейсбук регулярно захлестывает волнами: «Мы ищем rockstar javascript/python/ruby/C#/etc разработчика». AIN пишет о том, что очередной стартап ниспослан нам из Омерики, чтобы забрать наших людей прямо к вратам небесным, а мы давайте завидовать божественной амброзии, которую этим людям будут приносить ангелы прямо на рабочее место.

Простите, уважаемые благодетели из США, но 100% интервью с вами заканчивается «actually, у нас был бюджет $2000, но мы можем пригласить вас stay у нас в office на пару недель (переночуете на рабочем месте)». Потому что стартаперы — это инфантильные дети, которые верят тому бреду, что впаривают вам инвесторы, и даже не удосуживаетесь понять, что к чему. Инвестор не обязан тянуть ваш проект, а большой фонд ЗП ставит вас в слишком зависимое положение и позволяет вас еще лучше контролировать.

«Берите только позитивных людей»

Мы живем в мире вранья самим себе, большинство «позитивных» настроений строятся на самообмане. Reddit до тошнотворного забит историями позитивной прухи, то котенка, то щеночка, то ветерана спасают. Критика и негативная обратная связь так же ценны, как и поддерживают настроение позитивные данные. Другое дело, что конкретно в нашей культуре вообще люди мало хвалят себя и окружающих. Те, кто вас во всем поддерживают, не очень годятся на роль людей, на которых можно опереться. Конструктивная критика может позволить увидеть проблему.

«Нетворкинг, связи, нужные люди»

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

«Создайте свою монополию»

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

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


Можно было бы продолжать еще и еще. Большинство презентаций и советов предпринимателям подаются под соусом восторженной радуги счастья, но оставляют послевкусие токсичной болотной тины. Для того, чтобы построить серьезный бизнес, надо быть серьезным и ответственным человеком. Большинство гуру, которые будут рассказывать вам о своих успехах, достигли скромных результатов и вообще делают какие-то позорные проекты. Стартаперский мир наполнен людьми, которые хотят, чтобы вы были слабым и глупым. Они транслируют свой булшит под ласковыми заголовками «Стартап советы, которые я бы дал своим детям» (типа этого, хотя на самом деле они все слишком похожи). Что это вообще за уровень общения такой? Кем надо быть, чтобы своих деловых партнеров воспринимать как детей и ставить на эту ступень общения?

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

Почему я не использую реляционные СУБД

$
0
0

«Rather than making my app easy to deploy, I’ll just do a bunch of gnarly shit in Docker» Some CEO

Если вы стартап и начинающий бизнес, то одна из первых задач, которая будет стоять перед вами, — выкатить на вчера хоть что-нибудь. Так как ~90% стартапов умирают в первый же год (цифра 90% разная в зависимости от типа исследования и источника), это требование является довольно разумным и очевидным. Нужно как можно быстрее проверить гипотезы, понять, нужен ли ваш продукт хоть кому-нибудь и попытаться подписать первых клиентов уже хотя бы на стадии MVP, в общем — продать хоть что-нибудь. В условиях постоянной спешки и постоянно меняющихся требований нет никакого смысла проектировать крутое и гибкое ядро. Эта инвестиция никогда не окупится, кроме случая, когда это ядро является самим продуктом.

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

В мире стартапов и начинающего бизнеса денег нет. Есть только немного человеческого ресурса. Спека? Пффф... Это непозволительная роскошь. Тестеры? Пфф... Девопсы? Ну вы поняли.

Все приходится делать самому. И базы данных тут сплошная помеха. И сразу по нескольким причинам.

СУБД медленные

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

Уже давно не секрет: современная СУБД 90% времени тратитна обслуживание своих подсистем — логирование, блокировки, менеджмент памяти, планировщик запросов, парсер, лог транзакций и т.д. И лишь 10% собственно на выполнение нужного клиенту запроса. То есть огромное количество ресурсов тратится впустую. Просто потому, что для большинства приложений из прошлого это было необходимым функционалом.

Каждый раз, когда вы делаете:

userDao.save(user);
//insert into users (id, name) values (?, ?);

Я делаю:

try (BufferedWriter writer = Files.newBufferedWriter(fileTo, UTF_8)) {
  writer.write(user.toJson());
}

Я храню все данные в файловой системе, как простой json файл. Это очень быстро, просто, и это отлично работает.

Запросы — это дорого

Если решить вопрос с медленными СУБД еще возможно переходом на заточенные под конкретную задачу решения, то с выполнением самого запроса уже труднее. Даже если у вас есть пул соединений, и вы не тратите ресурсы на их открытие.

Только представьте себе длину пути всего запроса в типичном java приложении: request → ORM → jdbc driver → network → DB, и в обратную сторону.

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

Каждый раз, когда вы делаете:

user.setName("'Peter'");
userDao.update(user);
//update users set name = 'Peter' where id =  ?;

Я делаю:

user.name = "'Peter'";

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

RAMа так много, что диск нужен лишь меньшинству

Люди инертны, но мир меняется очень быстро. И он уже изменился. Смиритесь с этим. В то время, когда Amazon запускает сервера с 2 ТБ RAM, а средний java сервер — это 32 ГБ RAM, люди добавляют в проекты СУБД просто, чтобы сохранить там 1-2 ГБданных.

Вы можете хранить все в памяти. Для многих приложений этого будет более чем достаточно. Как минимум, этого будет достаточно для ~90% стартапов, которые умрут, так и не став звездой единорогом. Прикрутить базу вы всегда успеете — когда попадете в те 10%.

Каждый раз когда вы делаете:

User user = userDao.get(name);
//select * from users where name = ?;

Я делаю:

Map<String, User> users …;
User user = users.get(name);

Все пользовательские данные я храню в памяти. Конечно, данных может быть очень много, и все не уместить. Например, в моем случае в памяти хранится все, кроме данных репортинга — так как их действительно много. Их дешевле писать/читать напрямую из диска. 100К активных пользователей — ровно столько я могу обслуживать с 1 ГБ RAM на виртуалке за 10 у.е.

Схемы, схемы, схемы

Чтобы начать работу с СУБД, мне нужна схема. Без схемы я ничего не могу сделать. Я не сажусь писать бизнес-логику — я сажусь и описываю мапинг, зависимость между классами и на основе мапинга генерю схему (ну хоть на этом спасибо ORM). Но бизнес не интересует схема. Ему нужно сделать на вчера. Я мог бы спроектировать крутую нормализованную схему как на рисунке ниже. Но зачем?

Схему нужно постоянно поддерживать. Когда у вас нет продакшена — это легко. Но как только у вас появился первый клиент, вы в тупике. Luiquibase, flyway — классные тулы. Но вы их используете, когда вы уже в тупике. Вы не можете сделать изменение в модели, ничего не поломав. И еще вам нужны роли, пользователи, разграничение прав доступа, разные базы данных. А бизнесу нужно на вчера.

Когда вы пишите:

@Entity
@Table(name = "Users")
public class User {

    private Long id;

   @Id
   @GeneratedValue(generator="increment")
   @GenericGenerator(name="increment", strategy = "increment")
    public Long getId() {
        return id;
    }
}

Я пишу

public class User {
   public long id;
}

Нет БД? Это несерьёзно

«Это несерьёзно» — фраза, которую я постоянно слышу от матерых сениоров. И это забавно, ведь в большинстве случаев сениор даже и близко не подозревает о потребностях бизнеса.

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

Если бизнес спрашивает: «Какую БД вы используете?» — вы общаетесь не с бизнесом. Бизнесу это не интересно. Клиента интересует лишь то, решает ли система его проблему. И если решает, то по какой цене. Остальное никого не интересует. Ни один наш бизнес-клиент не спросил: «Какая у Вас БД?» И это при том, что все наши клиенты — технические компании!

Когда Вы делаете:

create table users;

Я пишу бизнес-логику.

Базы данных нужно поддерживать

В аутсорсе было хорошо. Мой код — моя ответственность. Все что дальше — не мое дело. Мне легко было добавлять postgres, redis и sharding для них. Сегодня, когда я все делаю сам, я понимаю, что у каждого дополнительного модуля системы есть цена деплоя и стоимость поддержки. Я не буду добавлять БД в проект, пока без нее могу решить бизнес-задачу минимальной ценой.

Добавить БД в проект легко. Но потом ее нужно развернуть локально, развернуть в тестовой среде, развернуть на стейджинге, развернуть на продакшене. А это все работа.

БД нужно мониторить. Она может упасть, там может закончиться диск, выполнение запроса может «подвиснуть», процесс может скушать 100% CPU, БД может начать тормозить, delete может не очищать диск и нужно выполнять vacuum, данные могут быть испорчены и т.д.

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

Пока вы делаете:

https://github.com/docker-library/postgres/blob/e4942cb0f79b61024963dc0ac196375b26fa60dd/9.6/Dockerfile

Я делаю:

java -jar server.jar

О проекте.Наш проект Blynk — IoT платформа с мобильными приложениями. 30К MAU. Текущая нагрузка на систему — 4500 рек-сек. Почти 3000 девайсов постоянно в сети. Всего периодически подключается около 10К девайсов. Аптайм 99,99% за полтора года. Вся система обходится в 120$ (50$ из них Geo DNS) в месяц. Запас прочности — 10х на текущем железе; + 10х возможность вертикального роста. Проект опенсорс, глянуть можно тут.

P. S.Я не призываю вас отказываться от БД. Есть класс задач, где без БД никак, и они действительно упрощают жизнь. Но не стоит бездумно лепить БД в проект лишь потому, что вам нужно сохранить данные на диск.

P. P. S.Статья пролежала в черновиках полгода. Сейчас мы уже используем Postgres (как backup систему) и Redis для лоад балансинга (не бизнес-логика). Все это входит в 120$. Тем не менее, система успешно просуществовала без баз данных 2,5 года.

Менеджерско-программистская выжимка: обучение, мотивы (не мотивация) и софт скилы

$
0
0

[Об авторе: Владимир Железняк — пишет код, управляет проектами. Два раза дауншифтился с менеджерских позиций в чистый код, потом обратно вырастал. Вёл бесплатные курсы, консультировал джунов и бизнес, работал в офисе и удаленно].

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

Обучение

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

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

Примечания:
— Платить ежемесячно. Ежегодные абонементы сгорают;
— Сумма должна быть заметной для человека;
— Платить не отчислениями с зарплаты, а живыми деньгами. Должен быть явный «я хочу».

Аналогично с корпоративами. Бесплатный корпоратив — обязаловка и форма субботника. Лучше добровольный и за деньги.

Disclaimer:всё вышенаписанное — личное наблюдение, не подтвержденное серьезными исследованиями. Если у кого-то есть статистические данные из отделов обучения Ciklum, GlobalLogic, Epam, DataArt и т.д. — жду комментов. Ниженаписанное, если не указаны первоисточники, — тоже мысли. Формат научного исследования с доказательствами и проработкой особых случаев — это не здесь и не сейчас. Здесь — максимум обезвоженный текст.

Garbage Collector для знаний.Если ты думаешь: «Каким же я был глупым год назад» и «Какой же корявый код я писал» — это значит, что за этот год твой профуровень вырос. Куда хуже, если такой мысли не возникает.

Обучение и новые знания имеют смысл, только когда ведут к изменению поведения. Неиспользуемые знания быстро стираются. «Широкий кругозор», «умение учиться» имеют смысл, когда куда-то применены. Без этого — это неиспользуемый потенциал, вроде «этот фулстек весит 87 кг, у него большой потенциал по E=m*c2».

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

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

Автопилот у программистов.Человек за день принимает какое-то количество разумных обдуманных решений. Их количество велико, но всё-таки ограничено. Всё остальное время человек работает на автопилоте: пишет привычный код, привычно разговаривает, привычно реагирует. Это очень хорошая и правильная стратегия при нехватке ресурса выбора.

Image via Imgflip GIF Maker

И как у всякой оптимизации, у нее есть минусы:
— Автопилотом можно управлять снаружи. Человек при этом легко подписывается на плохие условия. «Ты закончишь эту задачу до понедельника?» — «Да...» — «Ну я тебе ТЗ пришлю через несколько дней, ближе к пятнице».
— Автопилот включается сам. Особенно — когда человек устал или погружен в какое-то дело.
— Автопилот можно включать снаружи. Есть масса «сервисных кодов», большей частью невербальных, которые за это отвечают. Они и близко не всемогущи, не верьте НЛП. Они работают, иначе бы на рекламу деньги не тратили.

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

Краткая форма «Прочти вот это» тоже может применяться в совершенно однозначных с точки зрения собеседника ситуациях.

Авторство идеи тоже зачастую стоит отдать кому-то еще.

Корпоративное обучение.Кто-то из топов замечает проблему и говорит HR: «Опять они постеснялись спросить и снова изобрели велосипед, а заказчику он не нужен. Придумай обучение какое-то, что ли».

HRы обычно куда более общительны, чем программисты. Для них проблема «сложно спросить» выглядит примерно как для программиста проблема «у меня компьютер не работает». Что делает HR? Придумывает и согласовывает список требований и ищет тренера.

Тренера могут быть двух видов — айтишные и неайтишные. Айтишные хотят много денег («А за сколько ты, <username>, готов потратить несколько выходных?») и учат по книжкам и небольшому личному опыту. Неайтишные стоят дешевле и гораздо больше в теме, но очень далеки от айтишной специфики. Участникам тренингов часто сложно принять их авторитет. Айтишный тренер, который несколько лет проработал именно тренером, всегда получит фразу: «Аааа, ты уже не настоящий айтишник, я тебе не верю!»

Чему учить?Продвинутый учебник китайского лично мне даст ровно ничего, мне бы букварь. Люди могут учиться только в зоне близкого развития. Это вечная проблема на тренингах/курсах, где знания участников распределены по широкому диапазону. И кому-то нужно на примерах показывать, что плохое общение — это проблема, а кому-то нужны продвинутые техники более правильного задавания вопросов.

Нет, это не про термально-ректальный криптоанализ.

Люди и мотивы

«Реклама и мотивация на меня не действуют». Фразу «Реклама и мотивация на меня не действуют» я буду рассматривать всерьез только от ЗОЖников со стажем больше года, да и то только от тех, у кого родители ЗОЖ не поддерживали.

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

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

Похвалы тоже не хватает, но это понятно. Старый принцип «За работу деньги платят, так что хорошую работу я буду игнорировать, а вот плохую — я буду критиковать; ведь человек станет от этого лучше работать!» — плох и приводит только к конфликтам.

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

Изменить уже принятое решение.Люди меняют решения и убеждения с большим трудом. Даже если суметь продавить другое (пусть, правильное) решение с помощью логики или силы — всё равно будет сопротивление и может быть какая-то месть потом. Ну, не «месть». Маленькая такая месть. Мстюлька. А на мстюльку очень захочется ответить своей. Ну и дальше, понятно, — цепная реакция. Гуглить по слову «групповые сопротивления».

С устаканившимися убеждениями — политика, религия, iOS vs Android, язык программирования — вообще что-то сделать сложно. Зато на них удобно опираться в мотивации.

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

Топы.Топ-менеджеры обычно не хотят разбираться в мотивах сотрудников. Сотрудники обычно не хотят и не могут знать о финансовом состоянии компании. Менеджер должен понимать и стыковать все стороны.

Чем мотивируют топы?

xxx: (анекдот про взятие платы на вход на работу)
ууу: Да что там анекдот! У меня начальница (та, которая племянница шефа) на полном серьезе (!) предлагала мне взять кредит(!!), чтобы нанять няню(!!!), которая будет вместо меня(!!!!) помогать моей жене с двумя маленькими детьми, а я в это время смогу (!!!!!) задерживаться на работе до ночи.
ххх: без дополнительной оплаты?
ууу: естественно

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

Менеджеры мотивируют других тем, что важно для них самих.

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

Деньги и престиж.Недавно говорил с программистом из Германии. На Django он зарабатывает меньше, чем его брат официантом. Это об элитности нашей профессии.

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

Дети и суперы

Прогресс и одиночки.Когда я только начинал работать в 1999 году, коммерчески востребованные проекты делались на Delphi за несколько месяцев одним человеком. Команды из двух-трех встречались, но одиночек было больше. При этом обходились без тасктрекеров, систем контроля версий, интернета и т.д. Сейчас таких проектов почти нет, для самых маленьких проектов уже нужно минимум два человека, а большинство — требует команд из восьми специалистов четырех специализаций. Время супер-одиночек в IT прошло и, вряд ли, вернется.

Раньше для успешности стартапа хватало идеи и грамотного технаря. Сейчас, похоже, начинать нужно с маркетинга и продаж, а уже потом думать про технологии.

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

Работодатели и менеджеры, учитесь работать с теми, кто у вас есть!

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

Дети на проекте.Если много сотрудников ведут себя как дети, значит рядом есть давящий родитель. Если никого найти не получается, то поищите в зеркале.

Суперспец.Рядом с суперспецом часто остальной команде работать не хочется. Важно вовремя заметить формирование команды «суперзвезда в окружении джунов» — это часто заканчивается бизнес-катастрофой.

Софт скилы

Расщепление программиста и найм части.Классный программист может быть косноязычен и сильно злиться, что его никто не понимает. Обалденный продажник часто не способен долго обдумывать сложную стратегию. Великолепный ИТ-менеджер запросто может забыть regexp и джойны.

Когда ты выбираешь человека, ты берешь его целиком — со всеми его плюсами и минусами. Универсалы бывают, только проигрывают узким спецам на их поле. Есть только одна область, где бывает наоборот: фантастика, Голливуд и прочие сказки. Эти сказки здорово тешат самолюбие и соотносятся с реальностью примерно никак.

Нефиг рассчитывать, что плюсы человека увеличатся, а минусы исчезнут. Скорее всего, будет какой-то эволюционный рост и не более того. Инсайты и скачкообразное развитие бывают — к ним обычно ведут долгие пологие тропы с особыми условиями в конце. Непредсказуемо.

Всё это относится и к сотрудникам, и к жёнам/мужьям, и к президентам.

Минусы.О связке умения и желания общаться — «Не хочу, поэтому не умею» и «Не умею, так как избегаю»:

«Меня окружают идиоты, которые нифига не понимают. Мне проще написать код, чем объяснить им, что именно я хочу сделать».
© сборный образ классного синьора
«Они же совсем-совсем не хотят общаться! Я им много раз говорил, чтобы задавали вопросы, если непонятно или есть сомнения, — и всё без толку».
© сборный образ директора и заказчика

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

Изменения.Люди сопротивляются любым изменениям.

«ИТ-директор пугает договорников: «Если сейчас же не согласуете договор на Микрософт, то куплю вам МойОфис и пересажу на Линукс» — «Ой! Только не это! Нет-нет, ни за что!»
(Из жизни госкорпораций) Stas Makarov

Сопротивления любым изменениям тоже можно использовать для движения. Важно слова подобрать.

Конструктивная критика.Улучшайте работу других грамотно.

Критика часто болезненна :)

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

Гнев.Гнев дает +10 к силе, +5 к нечувствительности и к боли, +15 к реакции, −10 к широте восприятия, −20 к запоминанию происходящего, −100 к логике. Гнев — лучший помощник в офисных конфликтах :)

Гнев — это химия в крови. Перестать злиться усилием воли — это как протрезветь усилием воли. Особенно, если кому-то говоришь «Протрезвейуспокойся, мне с тобой по-нормальному поговорить надо».

Жалобы.Люди часто жалуются на проблему не тем, кто может её решить. Например, на неудобный стул можно пожаловаться техлиду в курилке. Но ни в коем случае не тем, кто занимается мебелью. Эрик Берн это хорошо описал в своих Играх. В результате, о проблеме наверху не знают, и она не решается. Знаю одного классного программиста, который не смог на своем уровне решить проблему кондиционера и просто уволился. Решение: таки проводите one-to-one.

Если человека спросить: «Что тебе не ок?», и нет доверия, то тебе выкатят вторую(!) по важности проблему. И ты можешь очень мощно вложиться в решение полной фигни. «Комп слабый», а на самом деле «фреймворк у нас ужас, его в резюме нельзя будет упоминать». Решение: зарабатывайте и подтверждайте доверие и не вкладывайтесь в сложную проблему, если вас не долбят ей.

Тренинг.Хочу провести однодневный тренинг в Киеве по самым полезным навыкам, которым я научился за 17 лет работы с людьми в IT. Несколько практических техник на умение понять «что происходит на самом деле», и эффективно донести свою мысль. Предварительная запись со скидкой — здесь.

Выводы

В этой части мы рассмотрели темы обучения и чуть-чуть задели отношения. Часть про корпоративные отношения разрослась и будет позже.


Структура сознания и лучшие практики организационного дизайна

$
0
0

[Об авторе: Михаил Завилейский — Organisational architect в DataArt. До прихода в компанию 10 лет работал программистом и менеджером].

Эта статья написана по мотивам моего недавнего выступления, на которое меня во многом вдохновила книга «Thinking, Fast and Slow» (на русском выходила под названием «Думай медленно... решай быстро»). Написана она психологом по образованию, лауреатом Нобелевской премии по экономике Даниэлем Канеманом, и посвящена работе нашего мозга, разума или сознания. Базируется книга на исследованиях, которые как раз и принесли ее автору Нобелевскую премию. Их главный вывод — большую часть времени за нас думает некая автоматическая интуитивная система. «Thinking, Fast and Slow» описывает и то, каким образом можно скорректировать себя, принимая решения на основе рационального размышления. Книга стала бестселлером еще в 2011 году и породила множество пересказов и компиляций — надо сказать, тоже достаточно полезных, поскольку в них описываются и другие психологические эксперименты, подтверждающие выводы Канемана. Я же предлагаю рассмотреть его теорию применительно к важнейшим аспектам жизни любой компании.

Что такое организация

Поскольку речь в статье пойдет об организационном развитии, начнем с того, что я понимаю под словом «организация». Я бы определил ее как группу людей, которые пытаются перейти из одного места в другое. Организация всегда движется вперед, по крайней мере, во времени — и пока у нас есть время, мы можем выбирать направление движения. Представим это в виде фазового пространства. У нас есть множество параметров: измеримых и неизмеримых, осязаемых и неосязаемых, которые нашу организацию описывают. Иногда мы их изменяем, иногда они меняются сами по себе — в этом случае мы можем не знать, что именно происходит с нашей организацией в данный момент. Но, если выписать все эти координаты, они опишут область в пространстве, в которой мы находимся, перемещаясь при этом в другую область. Нас несет течение времени, но мы можем предпринимать определенные действия для того, чтобы оказаться в той фазовой области, которая нам нравится больше. Что делает организация для управления этим движением? Вначале, если это небольшая группа людей, они могут просто договориться и определить направление вместе. Или же на этапе старта все могут ждать, что начальник единолично укажет, куда следует двигаться. Но по мере роста группы понять направление общего движения становится все сложнее.

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

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

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

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

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

Две системы

Теперь вернемся к упомянутой книге «Thinking, Fast and Slow», которая многое в нашем контексте объясняет. О двойственном устройстве нашей головы часто рассуждают на разных лекциях и бизнес-презентациях: кто-то называет это интуицией и рациональным мышлением, кто-то лимбическим мозгом и неокортексом, вообще терминов для того и другого хватает. Мне нравится позиция Канемана: отказаться от хитрых словосочетаний и называть их просто — «Система 1» и «Система 2». Неоригинально, конечно, зато практично.

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

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

Система 1 учится на коротких циклах: приложив руку к горячему чайнику, тут же привыкаешь его опасаться. Если через год скажутся последствия прогулки по радиоактивной поляне, первая система одно с другим не свяжет. Система 2 умеет учиться и на длинных циклах, но иногда придумывает их сама, например, приобретая суеверие.

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

Система 2 ничего подобного не содержит, но она способна программировать Систему 1, причем делать это очень эффективно. Все наверняка видели ролик, в котором на переднем плане игроки передают друг другу мяч, а на заднем проходит обезьяна. Те, кто исправно считают передачи, обезьяны не видят. Потому что по заказу Системы 2, которой приходится вести подсчет, Система 1 включает фильтрацию. То же самое происходит, когда мы в любой ситуации приходим к важному и умному решению. Первую пришедшую в голову идею, которая нам показалась хорошей, Системе 2 критиковать трудно — она просто требует от Системы 1 подтверждения удачи. И та отфильтровывает все, что противоречит нашей гипотезе, и подгоняет факты, которые ее поддерживают. Так мы с необычайной легкостью по одиночному событию приходим к систематической теории вместо того, чтобы применять статистический подход. Это работает и с негативным опытом. Кто, наступив на грабли, проверит еще пару раз, не выйдет ли из этого чего-нибудь хорошего? А стоило бы, ведь без статистического подтверждения удар в лоб ни о чем не говорит.

Но самое интересное в том, что Система 2 контролирует нашу речь. Система 1 тоже обслуживает процесс говорения, поэтому и случаются так называемые оговорки по Фрейду. Но именно Система 2 очень близка к процессу коммуникации, поэтому наш коммуникационный канал, построенный на речи, работает очень эффективно — он создал цивилизации. Но все слышали, что через другие модальности мы получаем информации намного больше, чем через слова. Приходит кандидат, говорит какие-то правильные слова, а мы ему не верим. Например, у него глазки бегают, а в детстве нам рассказали, что человек с бегающими глазками — преступник. И все интервью, которое он прошел блестяще, вдруг теряют свое значение. Такие проблемы возникают из-за того, что Система 1 принимает за нас массу решений, а Система 2 включается, только если мы сделали сознательное усилие для ее использования. Собственно, достаточно толстая книга Канемана в основном и состоит из примеров, призванных убедить нас в необходимости разумного использования Системы 2. Нельзя заставить ее работать постоянно, на это не хватит никаких человеческих сил, но, чем чаще вы к ней прибегаете, тем больше толку.

Вопросы стратегии

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

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

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

Обратимся к инструментам бизнес-планирования. Они представляют собой подпорки для Системы 2, т. е. просто не дают нам забывать ее включать, заставляют тренировать ее. Наверняка многим знакомы традиционные инструменты бизнес-планирования: SWOT — распределение по квадратам по принципу плохое-хорошее, потенциала и угрозы и т. д. Диаграмму Ганта многие тоже видели. Все они хороши тем, что позволяют для решения задачи использовать Систему 2. Однако если их использовать неправильно, Система 1 с легкостью подменит те вопросы, которые вам на самом деле нужно исследовать, чтобы, например, определить конкурентную программу компании, более простыми. Тогда вместо того, чтобы действительно подумать о возможностях и угрозах для нашего бизнеса, мы заполним все нужные квадраты правильными словами и получим красивую картинку. Далее на основании этого зыбкого фундамента сделаем далеко идущие выводы, потому что выводы делать мы все любим, а погружаться в суть вещей и пытаться анализировать мир нам тяжело.

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

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

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

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

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

Организационные шаблоны

Организационные шаблоны делятся на традиционные и симбергические. Слово «симбергический» пришло от Ицхака Адизеса, соединившего слова «синергия» и «симбиоз». Мне это очень нравится, потому что синергия — это то, о чем мы все мечтаем — создавать вместе нечто большее. А симбиоз значит, что мы друг без друга просто не можем. Вот в DataArt симбиоз оказался тем, что удерживало ядро компании на протяжении длительного времени. Не было выдающихся людей, которые были бы одинаково хороши во всем, и мы, иногда раздражая друг друга, оставались друг другу нужны. Когда есть доверие, понимание и взаимная благодарность, появляются шансы, что такой симбиоз возникнет. К сожалению, эти детали теряются в традиционных системах организационного построения.

Пример традиционного организационного шаблона — MBO, Management By Objectives, в рамках которого устанавливаются цели, делаются регулярные ревью и т.д. Когда-то наши предки выяснили, что наличие иерархии позволяет эффективнее взаимодействовать. И мы теперь при наличии амбиций пытаемся занять в ней более высокую позицию, хотя если это у нас получается, обычно подлаживаемся под существующий порядок. Как почти любые живые существа, люди генерируют агрессию, которую нужно куда-то направлять. Плохая иерархия поддерживается перенаправлением агрессии сверху вниз. Более развитые системы не хотят встраиваться в такую примитивную схему — энергия сублимируется, возникают новые иерархии. И MBO, бывает, помогает, когда в организации все устраивается благополучно, но чаще этот шаблон воплощается в классических ритуалах подчинения. Кто-то кому-то постоянно докладывает о том, что собирается делать, потом о том, что ему удалось, и ждет оценки. При этом в большинстве компаний, занятых в сервисах по разработке софта, большого смысла в такой модели не находится. Хотя бы потому, что цели, установленные год назад, успевают устареть.

Заменой Management By Objective может быть консенсус, в рамках которого мы прежде всего договариваемся, что находимся на одной стороне. Консенсус, по сравнению с постановкой целей и дальнейшей ретроспективой, хорош тем, что основные эмоции тратятся еще до начала активной деятельности. Все поругались, выдохлись, поговорили, пришли к соглашению и пошли вперед. Инструмент сильный, однако под воздействием неудачного консенсуса можно действовать непродуктивно на протяжении долгого времени. Трудно достигнутое решение живуче, даже если оно оказалось неудачным. Именно поэтому консенсус, которого достигли усталые или, например, голодные люди, оказывается неэффективным.

Симбергический шаблон предполагает сбалансированную сеть, где по функциональным цепочкам перенаправляется та же агрессия и ресурсы, при этом все координируют друг друга. Традиционные системы подразумевают наличие BDM — Business Decision Makers — лиц, принимающих решения. В симбергической системе ту же функцию могут выполнять координационные группы, которые с меньшей долей вероятности принимают плохие решения, если не изматывают сами себя.

Интересно посмотреть и на понятия «целеполагание» и «нормирование». Допустим, мы ставим цель в следующем году увеличить наш доход в два раза. Но если случился кризис (кто же его ждал?), обойдемся и цифрой поскромнее. О чем же мы договорились на самом деле? Просто о том, чтобы максимально увеличить доход. Компания должна быть очень структурированной, а ее процессы должны быть очень четко организованы в виде повторяющихся циклов, чтобы можно было измерить отдачу каждого человека, а количественное планирование имело значение. В типичной профессиональной компании, выполняющей большое количество проектов, люди успевают поменять свой уровень квалификации в течение каждого из них, и построить хорошее измерение просто не на чем. Поэтому гораздо интереснее мерить, что именно в данный момент происходит с компанией — все ли идет хорошо в целом. Если нет, нужно думать, как исправить систему. А существование исключительно в рамках цифр, меняющихся раз в год, может быть очень расточительным — так можно полгода двигаться в никуда вплоть до следующего проведения измерений.

Ролевая модель — традиционный шаблон, согласно которому, в типичной команде, например, должен быть один менеджер проекта, от трех до семи разработчиков, три QA, Scrum Master и сбалансированное представление о том, кто есть кто в Scrum-команде. Ролевая модель неплоха, но в ней часто как-то исподволь возникает спор, кто в конечном итоге главный. Зонные модели говорят о наличии какого-то количества зон активности, которые должны быть покрыты командой. При этом в одной команде я могу быть QA, а в другой PM, и зависит это только от того, есть ли в проекте человек, способный сделать что-то лучше меня. Т.е. зонный подход ориентирован на твою ситуативную нужность и не сбивает никого на самоидентификацию.

Обучение — само по себе очень хорошо, но только если мы четко знаем, чему нужно учить людей. Если же область, в которой сотрудникам требуются знания, оказалась cutting edge для организации, чем-то абсолютно новым, важным оказывается научение, то есть возможность научиться. Для этого люди должны получать доступ к новой непрепарированной информации и фидбэк непосредственно от клиента, а не от внутреннего менеджера. Последний, общаясь с заказчиком, может думать: «Сейчас я приду и расскажу команде, в чем они виноваты на этот раз». Такой разрыв научение перечеркивает, потому что люди научаться всего лишь подстраиваться под проджект-менеджера, который в данном случае совершенно не нужен. По этой причине мы не работаем с агентствами в качестве клиентов. Агентства обычно ставят своих управленцев, для которых единственный способ сохранить контроль над ситуацией — становиться посредине коммуникативных цепочек, разрывая их.

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

Самый простой способ стандартизации процессов — назначить одного начальника. Если он будет не слишком продвинутым, у него в голове будет четкое представление, что такое хорошо, которое и станет стандартом организации. Он скоординирует всех и заставит их действовать так, как ему кажется правильным, но этот способ крайне примитивен. И если задача, стоящая перед организацией, слишком сложна для одного человека, без взаимной подстройки не обойтись. Классический вариант по Генри Минцбергу — кто главней на съемочной площадке: молодой режиссер или кинозвезда? Формально — режиссер, но у исполнителя главной роли по этому поводу может быть другое мнение. И если они не научатся mutual adjustments, результата не будет. Именно взаимная подстройка, а не стандартизация, позволяет собрать в одном месте многих талантливых людей.

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

Управление эмоциями

Кто не сталкивался с проблемой раздражения по отношению к коллегам по работе? Однажды меня очень долго расспрашивали, как справиться с человеком, который сживает со свету, щелкая ручкой. Я ввел в поисковой системе «clicking pen» и увидел, что 90% изображений посвящены страшному раздражению по этому поводу. Я никогда на такие вещи не обращал внимания, но тут вдруг понял, что почти все ненавидят эту привычку. Почему же мы вообще начинаем раздражаться? Ведь даже самые лучшие собеседники, которым я доверяю и в порядочности и интеллектуальных возможностях которых не сомневаюсь, иногда раздражают. За долгие годы в менеджменте я сделал по этому поводу определенные выводы.

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

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

Играет роль и обычная физиология. Канеман описывает работу судей в апелляционном суде в Израиле — они рассматривают дела о досрочном освобождении. У них есть определенная норма, скажем, одобрить 25% поданных заявлений на УДО, значит, по умолчанию, 75% они возвращают обратно. У судей — три перерыва на еду, и почти все положительные решения происходит после одного из них. Потому что отпустить преступника на свободу — всегда риск, ведь пока он в тюрьме, никто не скажет, что решение суда было неэффективным. А толерантность к рискам зависит от уровня глюкозы в крови, хотя сам судья и думает, что анализирует обстоятельства конкретного дела. Это ужасный, но подтвержденный статистикой факт. А сколько людей в компании следит, чтобы все участники совещания были сытыми и довольными, чтобы они хорошо выспались, прежде чем начать решать важную проблему? Да никто не следит.

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

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

Привычная боль

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

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

Иди туда, не знаю куда

Многие сталкивались с ситуацией, когда у заказчика нет конкретных требований, но при этом вам все же нужно написать софт, который решит его проблемы. На уровне компании я давно для себя сделал вывод: возможно, мы этих требований просто не знаем. Когда требований действительно нет? Когда не существует и самого процесса, а мы пытаемся придумать его параллельно с созданием софта, или хуже того, предполагается, что процесс мы изобретем уже под написанный нами софт. Еще один вариант — стартап и визионарий, который видит что-то в грядущем и раздражается, услышав вопросы о деталях: «Ребята, уж это вы сами додумаете». Это не значит, что история безнадежна: люди, живущие в далеком будущем, если у них есть деньги, тоже имеют право на воплощение своей мечты. Но мы должны знать, что требований у них и вправду нет.

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

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

Могу с уверенностью сказать, что считать деньги умеют очень и очень немногие. Я видел в жизни множество людей, которые не зарабатывают ни копейки, но имеют мощную репутацию больших экспертов. Их зачастую очень трудно призвать к ответу, потому что у них всегда есть объяснение: «Конечно, все мои проекты оборачивались потерями, но посмотри, что я делал. Ведь проекты я брал самые ужасные и сэкономил компании кучу денег! Если бы я действовал иначе, мы бы потеряли в десять раз больше. Поэтому лучше заплати мне премию». Это неприятно признавать, но при оптимизации важнее оказывается не попытка написать хороший код, а забота о собственной репутации.

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

Работаем все лучше, а нам все хуже

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

Еще одна проблема с улучшением процессов — использование знаменитого цикла PDCA (Plan-Do-Check-Act): запланировали, сделали, проверили и скорректировали. Идея в принципе правильная, но зачастую, обращаясь к ней, мы идем от частного к общему. Для того, чтобы цикл работал, в большинстве случаев надо прокрутить его несколько раз. Но мы при каждой неудаче делаем масштабные изменения, при каждой удачной попытке отливаем в бронзе успешный паттерн. А процессы в нашей области стохастические, изменчивые, подверженные множеству обстоятельств. Разные люди, разные клиенты, разные типы софта, разные уровни сложности — и одна единственная попытка не может быть источником надежной информации.

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

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

Стабильность как признак мастерства

Слово «sustainability» в нашей компании в последнее время стало самым любимым, поскольку говорит оно, как жить в балансе с экосистемой. Лучше всего учитывать в работе все заинтересованные группы, это обеспечивает стабильность, а значит сокращает возможную нервотрепку. Всегда быть чемпионами — сложная судьба в силу регрессии к среднему, ведь если сейчас все получается очень уж хорошо, дальше будет хуже. Были такие книжки «От хорошего к великому», где описывались компании, порвавшие конкурентов в группе сравнения. Прошло 15 лет, и компании в контрольной группе перемешались с теми, о которых эти книги были написаны — исследование оказалось бесполезным. Все потому, что те, которые были хороши, скатывались вниз, а те, кому раньше не везло, ловили свою удачу. Науки здесь в итоге не нашлось.

Как оставаться sustainable? Есть классические ценности, о которых многие писали лучше меня: уважение, доверие друг к другу — нужно идти на взаимные уступки и помогать компании эволюционировать. Мы постоянно должны помнить о mindfulness и стремиться к полной осознанности каждого из своих действий: необходимо постоянно подключать Систему 2 к процессу принятия любого решения. Ведь многие люди, управляющие даже очень большим бизнесом, в благополучные периоды сидят, затаив дыхание и боясь спугнуть фортуну. Вот это совершенно бессмысленно — как рассчитывать разбогатеть, играя в рулетку.

На пороге катастрофы

Представьте ситуацию, где катастрофа неминуема. Вы видите, что заказанный софт работать не будет, клиент не заплатит, и лично вам предстоит отчитываться за этот крах перед начальством. Что нужно делать? Экспериментировать — хорошая идея, в итоге можно остаться довольным хотя бы самим собой. Пофигизм — тоже неплохой вариант, мы ведь помним, что нас, кажется, не убьют. Можно ли извлечь пользу из катастрофического проекта для себя лично? Что мы можем укрепить на выходе из самого безнадежного проекта? Репутацию. 300 Спартанцев, например, укрепили — о них до сих пор вспоминают. Я не знаю ни одной страны, которая бы не делала из своих поражений великих побед. Историю пишут не победители, а выжившие. Кто выиграл Бородинское сражение? Для французов это великая победа, для русских — героическая ничья. И сколько я бы ни путешествовал, например, по Польше или Германии, везде найдутся места, связанные с эпическими поражениями и их героями, которых воспевают потомки.

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

Еще очень важно сразу привлекать внимание к проблемам, чтобы все смирились с тем, что дела в проекте пойдут плохо. Но, если при этом мужественно сохранять лицо, вам будут сочувствовать, вас будут уважать, перед вами будут чувствовать себя виноватыми, вам откроют новые двери. Интересно, что я редко наблюдаю такое, казалось бы, рациональное поведение в реальной жизни. Хотя ситуация неминуемой катастрофы проста, и мы уже перечислили, что делать — да что угодно, результат все равно один. Это страшно интересно, страшно весело, но большинство почему-то мучительно барахтается, страдает от стресса и мучается давлением. Но здесь, как почти во всех парадоксальных ситуациях, достаточно включить ту самую Систему 2 и посмотреть на процесс рационально.

Как мы проводили #годинакоду во Львове

$
0
0

[Об авторе: Дима Малеев — Solution Architect, работает в ИТ более 10 лет. С 2014 года — директор Lviv Code School]

Всем привет, решил написать, как мы проводили #годинакоду во Львове и подключили несколько маленьких городов, и даже немного Киева:) Ну что? Вперед!

Что такое Hour of Code

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

1. Рассказать насколько важна сейчас компьютерная грамотность.
2. Показать молодым людям, что программировать — это не так, чтоб уж очень сложно и страшно.
3. В целом популяризировать информатику среди молодежи.

В США, где эта инициатива и началась, это событие поддерживает огромное количество известного народа, начиная от Билла Гейтса и заканчивая Эштоном Кетчером. Самый известный урок, конечно же, произошел, когда президент Обама пришел к детям и написал 11 строк кода вместе с ними. Вроде мелочь, а круто.

Немного нашей истории

Все началось три года назад. Вернее все началось намного давнее, но для себя мы открыли Hour of Code именно три года назад. При чем открыли мы его благодаря нашему восточному соседу. Тогда там сняли достаточно классные ролики, в которых многие известные IT-специалисты рассказывали о том, насколько круто программировать, и потом шли к детям в школы проводить уроки информатики. Будучи под впечатлением о том, что там делают, и, вспоминая то, что уроки информатики у меня вел преподаватель ДПЮ, в кабинете, где компьютеры были самыми старыми участниками процесса, мы загорелись. Сказано — сделано.

Первый, еще тогда Час кода, во Львове был проведен для приблизительно 20 участников. Информация распространялась через Facebook. В следующем году Hour Of Code был проведен уже для более чем 120 участников, сразу в двух локациях. В этом году мы получили поддержку властей города и запустили этот проект уже с ними.

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

#Годинакоду 2016

Инициатором #годинакоду в Украине, как оказалось, была компания Microsoft и BrainBasket ¯\_(ツ)_/¯. Не спрашивайте, почему, я не знаю. Но так говорят.

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

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

Что нужно, чтобы популяризировать событие? Было решено сделать видео, в котором известные люди мотивировали ребят попробовать себя в программировании. Честно говоря, делали мы все это силами Facebook и личных знакомств. Ни один человек, участвовавший в видео, не получил ни копейки, за что им огромнейшее спасибо! В результате вышло вот что:

Что нужно еще? С помощью городских властей был написан указ от Министерства образования, в котором говорилось, что в период с 5 по 11 декабря должны быть проведены уроки информатики по программам code.org (основная база Hour Of Code). Школ у нас в городе ~ 130. Было решено, что менторы будут проводить уроки в старших классах, и грубый гвестимейт подсказал, что нам понадобятся приблизительно 300 менторов, которые будут кочевать по школам и проводить уроки. Начался безжалостный рекрутинг приблизительно в конце лета. К началу акции мы набрали около 270 менторов. Цель была почти достигнута, хоть и ожидалась немного большая поддержка от коммьюнити, которое так любит на форумах говорит о том, какая ответственность за государство у нас на плечах ¯\_(ツ)_/¯. Очень радует, что руководители больших компаний сами изъявили желание провести уроки в рамках этой акции и нашли время в своих суровых расписаниях.

Конечно же, мы не могли оставить в стороне младшие классы, потому было решено провести тренинг для всех учителей информатики, в котором было рассказано, как использовать материалы code.org, что такое Scratch, и как всей этой радостью пользоваться. В течении 12 дней, наша Юля (работает в LITS с младшими детьми) целыми днями проводила показательные выступления для учителей средних школ в нашем офисе. При грубом подсчете оказалось, что Юля за время подготовки учителей провела более 30 #годинкоду, потому я уверен, она многие игры из code.orgможет проходить просто по памяти. Так же мы перевели материалы, которых не было на украинском языке для того, чтоб учителя могли их использовать во время проведения уроков.

Тренинги для менторов проводила сама Анна Косарева, которая в LITS занимает позицию CEO. Тренинги проходили приблизительно в течении двух недель, по несколько раз в день. В начале мы думали сделать эти тренинги в какое-то определенное время, но потом оказалось, что многие не могут, заняты и работа, потому тренинги проводились в течении всего дня. Будь-то для одного или целой группы менторов. Для тех, кто никак не может найти время было записано видео.

Кстати, всех менторов просили никак не упоминать нашу школу. Не хотелось делать на этом рекламы, да и цель ивента все-таки не рекламировать, а провести уроки. Некоторые школы, как показывает Facebook, приходили даже со своими банерами. Ну ок.

Коммуникация

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

Расписание

Любому работающему в IT будет очень трудно потратить весь день в школе на проведение урока. Все-таки работа и обязанности. Потому, наша розововолосая Оксана сидела на постоянной связи со школами, менторами и городскими властями, чтоб создать самое оптимальное расписание. Оркестрировала все процессы и быстро решала любые возникающие вопросы. Если вы запланируете #годинакоду у себя в городе — выбирайте мозговой центр. :) У нас это была Оксана.

Неделя до #годинакоду

У всех начался приличный мандраж. Совершенно внезапно оказалось, что в некоторых школах нет интернета, а то и вообще нет компьютерных классов. Город в начале учебного года купил 2000 компьютеров и распределил их по школам. К сожалению, не во всех школах эти компьютеры установили. Но власти постарались, и к началу нашей недели #годинакоду во многих школах замигали синими огоньками новые компьютеры. В этот момент мы даже немного выдохнули, потому как даже если #годинакоду провалится — в этих школах появились компьютерные классы, а значит все уже не зазря. Был составлен первый вариант расписания для менторов. Школы подрегулировали свои расписания. Вроде бы все устаканивалось.

После прохождения заданий каждый ученик должен получить сертификат. Естественно цветной принтер в школе — большая редкость. Потому, были найдены партнеры, которые распечатали 16к сертификатов, и все они были разосланы в разные школы, чтоб никто не остался обиженным! :)

Неделя #годинакоду

Тут-то началось самое интересное.

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

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

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

Мне больше всего запомнился преподаватель, который мне рассказывал, что днем он учитель информатики, а вечером фрилансит для того, чтоб денег заработать. И звучало оно как-то так:
— А нафига?
— Ну а кто?

Эти люди действительно понимают, что если не они, то вряд ли детей в школе кто-то будет учить. Золотые люди.

Во многих школах на уроки к менторам приходили директора. В одной школе директор даже делал селфач:) Были случаи, когда ментора приходили кормить, угощая обедом со столовой. Иногда предлагали и «по пятьдесят»:) В целом, уровнем оборудования в школах, дружелюбностью и стремлением меняться средние школы очень сильно удивили.

Кстати, будучи в школе, взял я учебник для 11 класса и был очень приятно удивлен. Там и основы баз данных, и введение в алогритмизацию. Думаю — круто. Потом вчитался. Попробуйте термины все перевести на украинский язык. Жесть. HTTP2 перевели как Интернет2. И это один из примеров, который я запомнил. Читать учебник с таким вот переводом, а потом применять в реальной жизни будет невероятно сложно.

4. Менторы. Мы переживали, что менторам не понравится, и просили после проведения урока написать в слаке небольшой отчет о том, как все происходило.
Вот примеры отчетов:

«Я сьогодні провела 2 уроки в Оріяні — враження супер! В мене був нульовий і перший уроки, і коли прийшла, то вчитель вже навіть запустив програму на усіх комп’ютерах, лишалось тільки Start натиснути. Було чотири нових комп’ютери, і вони працювали краще, але тим не менше всі були зацікавлені і з терпінням робили свої завдання на старих. Одна дівчинка аж заплескала і запищала, коли чувачок в грі постриг вівцю!»

«Було дуже кльово працювати з дітьми 6-7 класів,особливо з хлопчиками маленькими, мені дуже сподобалося, як в них загорілися оченята після проходження останнього рівня minecraft, трошки бісило, коли мене 9-класники-гопняки кликали „тьотя Маша“. А загалом 4 уроки пройшла, як 1».

«Є 2 комп’ютерні класи з доволі пристойними комп’ютерами. Школярі розумні, десь половина доходила до кінця Пригод за 30 хвилин; є олімпіадники. Школа має спеціалізацію на IT, тому більшість 11-класниківготується „поступати на програміста“. Вчать VBA й Pascal. Мене знову хотіли нагодувати».

Очень многие менторы за день до урока созванивались с контактными лицами в школах и уточняли количество компьютеров, наличие интернета, проектора и так далее. В течении подготовки был даже создан Виховатор v0.1 для проведения #годинакоду в мобильном режиме!

«Я називаю його набір „Виховатор v0.1“ забезпечує високу підготовленість ментора #годинакоду із реальністю освітньої системи. Наша патентована система антісаботаж дозволить швидко розгорнути проектор, переносну колонку та забезпечити швидке занурення в освітній процес».

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

И если понедельник у нас начинался с фразы: «Срочно нужен ментор в школу XXX», то ближе к среде сообщения имели характер типа: «Могу подсупортить завтра утром!» или «Дайте мне еще пару классов».

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

5. Дети. Мы не знали, как будет проходить #годинакоду. Мы не знали, как воспримут учителя. Что скажет директор. Кто еще интересный может войти в этот процесс. Мы решили на все это наплевать, и делать дело для детей, как и гласит code.org. Конечно, мы не были уверены, как все будут воспринимать дети. Но все прошло просто чудесно. Очень малое количество детей были не заинтересованы. После прохождения первых пары уровней незаинтересованных почти не оставалось. Все с огромным удовольствием садили траву, стригли овец и добывали уголь. Куча вопросов, куча идей, куча предложений. Даже если то, что мы делали поменяет жизнь хотя бы десятка детей — все это было не зря.

Бонус

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

Результат

Благодаря совместной работе с городской мэрией мы:
1. Провели #годинакоду в 104 школах;
2. Провели более 1000 #годинкоду;
3. Провели несколько #годинкоду в школах в Киеве;
4. Провели несколько #годинкоду в школах для особенных детей;
5. Сняли видео со звездами;
6. Очень круто пофанились.

Выводы

1. Помогать людям нравится всем. Пускай есть засранцы, но в целом — люди хорошие.
2. В школах надо менять программы. Учителя готовые подтянуть и подстроиться под программы есть. Программ нет. Вернее есть, но видно переводили и создавали их люди, у которых интернет заканчивается браузером и минером.
3. #годинакоду — это важное и правильное событие, и должно оно поддерживаться на государственном уровне. К примеру, у нашего восточного соседа — это часть государственной программы, и в этом году участие берет аж 7 миллионов!!! школьников.
4. Кто первый инициатором назвался — тот и инициатор :) Но в целом, очень круто, что первая леди страны тоже приняла участие в такой акции.

Ролевые игры и эффективность для менеджера и программиста

$
0
0

[Об авторе: Владимир Железняк — пишет код, управляет проектами. Два раза дауншифтился с менеджерских позиций в чистый код, потом обратно вырастал. Вёл бесплатные курсы, консультировал джунов и бизнес, работал в офисе и удаленно].

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

Ролевые игры на проекте

(Программисты против QA) * (все вместе против заказчика). Людям свойственно объединяться между собой по какому-то признаку.

Я много слышал о конфликтах между программистами («Я закончил задачу») и QA («Какая глюкавая альфа в этот раз»). Ни разу не был на таких проектах, хотя однажды был на проекте, где один человек смог объединить команду против заказчика. Проект умер, но об этом подробнее как-нибудь в байках.

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

Щаз. Зачастую там еще спрятано 0.8 аналитика, 0.4 девопса и 0.2 UX. Это не говоря еще про менеджера (диспетчера), переводчика, конфликтолога, HR и бухгалтера с маркетингом и саппортом. И это еще меняется в зависимости от времени и того, какой семинар просмотрел заказчик на этой неделе.

Средние коэффициенты для каждой роли можно с оговорками посмотретьпо результатам большого опроса на DOU.

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

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

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

Если узкое место «везде» или «непонятно где» — значит либо разработка хорошо сбалансирована, либо нифига не понятна менеджеру.

Если дедлайн и «особый период, когда нет времени на отпуск и выходные» — то см. цикл про овертаймы.

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

«Суровая реальность такая, что при назначении тебе говорят: «Да, конечно, 2 часика тимлид, а 6 часик попедалишь», а потом IRL: «А чего это твой таск на 6 часов не закончен уже 2 дня, а при этом джуны не выпашены?!»
© Sergiy O. Movchan

Отсюда появляются фуллстеки, бэкендеры+админы, фронтендеры+дизайнеры, QA ручное+автоматизация, техлиды для переговоров с заказчиком и представители заказчика для менеджмента чисто программерских задач. Бизнес к этому толкает, иначе и разориться можно. Да и дробные доли рабочих мест тоже очень даже не способствуют.

Note: Жадностьэкономность бизнеса — это не единственная причина появления универсалов. Может быть переквалификация, желание знать всё, да ещё миллион других причин.

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

Сумоист и балерина в одном лице.Я думаю, что есть сложносовместимые роли. Как, к примеру, в одном человеке не совмещаются роли сумоиста и балерины.

IT-примеры:
— Product Manager + TechLead. PM должен думать о балансе фич и скорости их выхода, а техлид — о долговременном качестве кода;
— PM + Sales. Продажник уговаривает клиента — ему нужно пусть не врать, но верить и убеждать себя в том, что мы предлагаем лучшее на рынке решение. А PM должен хорошо знать свои недостатки и трезво их взвешивать;
— QA + менеджер. Одна половина тянет в качество, а вторая требует «релизиться сейчас».

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

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

И за скобками осталось время, затраченное на принятие решения.

Эффективность

Эффективность сотрудников.Измерять нужно по бизнес-пользе, а не по часам на работе. Точнее, по соотношению бизнес-пользы к полной стоимости сотрудника. Многие работают удаленно. Некоторые отечественные фирмы экспериментируют с безлимитными отпусками и больничными.

Хочу написать лонгрид про KPI, но потом. Сейчас скорее, напишу сборник баек «Как меня увольняли, и другие увлекательные истории из моей жизни».

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

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

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

Что можно делегировать? И почему не выходит.Менеджер должен делегировать всё, кроме стратегических вопросов, наймов и повышений до двух ступеней ниже себя, денежных потоков — процентов на 80-90.

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

Эффективность и счастье.Счастье и эффективность — разные вещи. «Быть самым богатым человеком на кладбище» и всякое такое. Увы, очень часто у детей и бывших детей есть установка: «Только самые богатые/лучшие могут быть счастливы» с выводами типа «Поэтому нельзя отдыхать», «Нужно радовать других», «Старайся» и прочими. Это закладывается в детстве и меняется примерно так же легко, как «похудеть». Так что хорошо бы это уметь узнавать и использовать.

Вместо выводов

В этой части мы посмотрели на роли и эффективность. Еще есть черновики про корпоративную культуру, сборник баек, процесс разработки, да и про общение с конфликтными людьми тоже есть что сказать. Хорошо бы еще переварить результаты тренинга и подготовить посты на FB. Так что будет дальше — посмотрим.

Уходим, чтобы вернуться

$
0
0

[Об авторе: Эдуард Рубин — директор компании Telesens. С ноября 2015 по декабрь 2016 занимал пост и.о. ректора ХНУРЭ, до этого был директором Харьковского компьютерно-технологического колледжа НТУ «ХПИ»]

Год моей работы на посту руководителя ХНУРЭ завершен. Завершен... увольнением с должности, которое последовало после того, как вуз поднялся в рейтинге Webometrics со 152-гоместа на 14-е,а в национальном рейтинге — с 46-гона 13-е.После того, как мы на фоне «абитуриентского кризиса» провели суперуспешную вступительную кампанию, заполнив все бюджетные места и в 1,5 раза увеличив число контрактников. После того, как вышли на первое место в Украине по приему иностранных слушателей. Нет, это не крик о том, что кругом «зрада» и «всёпропало». Когда я шел в ХНУРЭ, то просто не представлял себе масштабов бедствия в высшем образовании. Теперь представляю. И проигранной считаю битву, но не войну.

А пока редакция DOU попросила меня подробнее рассказать о том, что сделано в ХНУРЭ за год, учитывая, что вуз является базовым для всей ИТ-отрасли Украины. Рассказать обо всем, поверьте, невозможно: за этот год мы как будто прожили три, очень много работали и очень мало спали. Но обозначу наиболее значимые штрихи, ведь скоро наш опыт будет чрезвычайно полезен для многих.

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

Наступление на коррупцию

По итогам аудита, проведенного в ХНУРЭ, оказалось, что предыдущее руководство нанесло ущерб вузу на сумму более 20 млн грн. Это примерный уровень коррупции в одном среднего размера вузе за пару лет. Один из вопиющих фактов: продукты для столовых покупались в полтора-два раза дороже, чем стоили на рынке, в фирме, родственной одному из проректоров.

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

Оздоровление финансов

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

Мы взяли курс на увеличение собственных доходов за счет привлечения контрактников и набора иностранных студентов.

Доходы университета складываются из двух фондов — общего, который наполняется из бюджета, и специального, который вуз пополняет за счет собственных заработков. Так вот, размер специального фонда нам удалось увеличить за год почти на 30%, а общего — на 10%. В результате ХНУРЭ стал зарабатывать суммы, соизмеримые с теми, которые получает из казны: размер спецфонда составил 70% от объема общего фонда. Именно за счет этого удавалось улучшать финансовое положение сотрудников. Среднемесячная зарплата профессорско-преподавательского состава выросла почти на четверть и вышла на уровень 7000 грн, это лучший показатель среди харьковских технических вузов.

Система управления

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

Была утверждена новая структура, а также новый Устав. Два года до этого ХНУРЭ жил без основополагающего документа — старый Устав не отвечал требованиям обновленного законодательства, а значит, любое наше решение могло быть признано нелегитимным, а над самим вузом висела угроза отзыва лицензии.

Система управления качеством в ХНУРЭ сертифицирована на соответствие международным стандартам ISO. Мы стали одним из первых технических вузов страны, кто провел такую сертификацию, а это позволяет нам всерьез выходить на международные рынки в поисках финансирования.

Международная деятельность

Активизация международного сотрудничества стала одной из наших главных «фишек», поскольку мы понимаем, что в конечном итоге позиционирование ХНУРЭ не ограничивается Украиной, так или иначе нам приходится конкурировать и сотрудничать на глобальном рынке.

В этом году было рекордное количество международных переговоров — 28 по сравнению с 5-юв прошлом году. Мы подписали 18 рамочных соглашений с международными компаниями, научными и образовательными центрами, заключили 8 новых соглашений о двойных дипломах с иностранными вузами-партнерами. Мы первыми среди украинских университетов/вузов открыли представительство за рубежом (в Марокко) и подготовили почву для еще одного — в Египте.

С нами начали активно работать иностранные консультанты, в частности, профессор из Германии провел очень большую подготовительную работу по внедрению в ХНУРЭ системы дуального образования.

По итогам недавней выставки под эгидой МОН наш университет признан лидером среди украинских вузов по развитию международных связей.

Инвестиции

К концу года мы вышли на подписание нескольких инвестиционных контрактов. Один из них — с крупнейшей частной компанией Израиля по разработке и модернизации различных видов вооружения, в том числе систем наведения и радиолокации. Другой — с американским венчурным фондом Phoenix Venture Capital Fund по коммерциализации разработок и технологий ХНУРЭ и капитализации объектов интеллектуальной собственности. Наконец, в моем портфеле — еще один проработанный контракт с польской компанией. Общая сумма трех соглашений — около 50 млн грн.

Кроме того, мы провели предварительные переговоры с инвесторами о создании пространства под коворкинговый центр ХНУРЭ, а также о проекте создания принципиально нового современного университетского спорткомплекса.

Открытость и доступность

С самого начала был взят курс на прозрачность нашей работы, и университетская пресс-служба работала с предельной нагрузкой. Соответственно многократно возрос поток упоминаний ХНУРЭ в СМИ, и не только в сетевых, но и на телевидении. Это дало огромный плюс к репутации университета и повышенное внимание со стороны абитуриентов.

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

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

Основные индикаторы

Рейтинги и результаты вступительной кампании — самые объективные оценки деятельности вузов и их позиций на рынке. Вот наши данные в нескольких основных ранжирах.

Как я уже сказал, в мировом рейтинге Webometrics 2016 ХНУРЭ переместился на 14-еместо среди всех украинских вузов (в 2015 году — 152-еместо!). По версии августовского издания Webometrics ХНУРЭ после такого впечатляющего рывка немного откатился назад и сейчас занимает 35-еместо.

По результатам глобального рейтинга University Web Ranking 2016 ХНУРЭ переместился на 27-еместо среди украинских вузов и впервые стал вторым в Харькове (в 2015 году — 33-еместо в Украине и 5-ев Харькове).

В консолидированном рейтинге вузов УкраиныХНУРЭ впервые поднялся на 13 строчку (предыдущий показатель — 46 место) и стал четвертым среди вузов Харькова (в 2015 году — 10 место).

Что касается результатов вступительной кампании, мы попали в ТОП-20 университетов Украины по числу заявлений от абитуриентов.

Мы заполнили все до одного бюджетные места, в полтора раза увеличили набор контрактников, получив конкурс даже на контрактные места в магистратуре.

Впервые за свою историю ХНУРЭ стал лидером в Украине по числу иностранных студентов, принятых на довузовское обучение (420 человек).

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

Почему уволили?

Наверное, это главный вопрос, которым задаются многие. Думаю, все дело в пункте первом — старые коррупционеры нашли возможность «решить вопрос» на уровне МОН. Поводом стал первый тур выборов, в котором я занял второе место. На первом с приличным отрывом — бывший советник Януковича Валерий Семенец, главным достоинством которого для коллектива является его многолетний опыт на руководящих постах в ХНУРЭ. То, что вся программа этого кандидата сводится к двум словам «назад, в прошлое!», никого не смущает.

Не смущает это и министерство, которое в упор не хочет замечать, что действующая система выборов в вузах консервирует «болото» и делает нашу высшую школу абсолютно неконкурентоспособной в большом мире. И даже если воюющая страна найдет вдвое больше денег на образование и науку, это ничего не изменит в инертной системе высшего образования. Здесь нужны настоящие реформы, но стратегия реформ в МОН отсутствует.

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

Как меня увольняли и прочие байки

$
0
0

[Об авторе: Владимир Железняк — 17 лет в отрасли, много всякого повидал, был многократно уволен, взлетал и падал.]

Здесь я собрал лёгкое новогоднее чтиво в формате коротких историй. Часть из них смешная, часть — грустная, часть — полезная. И здесь будут личные и болезненные истории, чем поделиться для меня было сложно.

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

Скучная вводная

Школу я закончил забитым аутсайдером из бедной проблемной семьи. Я убегал от реальности в компьютер, друзей у меня не было, и всё чему я научился в общении и прочим софтскилам — это уже целенаправленно после школы и ХНУРЭ.

Первую прогу я написал в 1991 на МК-61, потом были ZX, Агат-7, Корветы и прочие БК0010-0100. Потом ВУЗ и первая работа.

Вместе к Марсу

В начале 1991 я вышел в финал всесоюзного конкурса «Вместе к Марсу». Сто человек финалистов лет по 13-16,представители НАСА и живые космонавты. На сцену выходит девочка, суть её проекта «как бы не заразить Марс земной микрофлорой».

Она произносит: «Нужно по дороге на Марс космонавтов стерилизовать». Зал замирает, космонавты краснеют. Она видит, что что-то пошло не так, и торопливо добавляет: «А на обратном пути стерилизовать еще раз!».

Мне кажется, присутствующие космонавты не одобрили.

Свидание на работе

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

Так вот, к нашему синьору, суперспециалисту, пришла поздно вечером девушка. Очень красиво выглядела, вкусно пахла и, вообще, я ему завидовал... Он начал показывать ей особенности работы Excel и пару багов в работе Delphi 1.0 c различием с MS VC. Видать, она ожидала чего-то совсем другого от этого вечера, я до сих пор помню её ошарашенное выражение лица.

Конфликт ожиданий — страшная штука, что в личной жизни, что на работе.

Комп не включается

Как-то осенью прихожу в офис первым, в офисе, как всегда, холодно. Клац обогревателем, клац компом. Комп не грузится, пишет про проблемы с питанием. Лезу в биос, там жалоба на температуру проца. Нипонял? Говорит, минус два. Врёт, говорю грузиться и пофиг на температуру. Клац чайником — а там лёд! Таки комп не врал — холодные окна и холодные батареи сыграли свою роль.

Конечно, потом от старших товарищей нагорело за такое принудительное включение.

Зима близко

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

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

Девушки

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

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

Лифт

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

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

Игра с ИИ

На первой работе мне сказали: «Мы пишем игру, а ты должен написать искусственный интеллект для неё. Юниты должны сами познавать мир и выводить законы этого мира, нейронные сети, генетические алгоритмы, всё такое». Интернет уже какой-то был, что-то нашёл, прочитал, сделал. Как-то додумался (джун), что несмотря на красивые слова в описании нейросетей, начинать нужно с малого. Ок, ставим в ряд десять генномодифицированных юнитов, не знающих физику, и даем задачу кидать камни в мишень. Рассчет был на то, что они экспериментально выведут закономерности баллистической траектории, а на следующем этапе — нейросеть вообще будет управлять не углом и силой броска, а непосредственно мышцами.

Так вот, все десять юнитов кинули камни строго вверх, и, спустя короткое время, погибли. Мораль — рандомизируйте исходные.

Задача для железячников

Приходит дизайнер к тимлиду: «Что-то у меня глаза сегодня болят, пойду-ка я домой». Тут сразу несколько человек хором: «И у меня тоже сегодня такое!» Начинаем разбираться — на всех мониторах раз в две секунды изображение на долю секунды расфокусируется. Практически незаметно, очень быстро, но каждые две секунды. У всех в команде высшее образование, ТОЭ, радиотехника и прочие доставшиеся с трудом редкоиспользуемые знания. Ессно, сразу же думаем на наводки — ЭЛТ мониторы к ним чувствительны. Эксперименты показали, что глючат все мониторы синхронно, а переход на UPS от беды не спасает. Здание — обычное жилое в центре, на первом этаже — наш офис и магазин. Вызов трех разных бригад электриков тоже ничего не дал.

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

Экономика игры

У нас не было ни тасктрекера, ни репозитария — про них тогда вообще никто у нас не слышал. PM сконцентрировался на технологии, её и пилил. Многие идеи опережали конкурентов на годы. Но у нас даже общей концепции игры не было. Мы демократически спорили, какого жанра она должна быть — шутер, стратегия и т.д. Демократически договориться не получалось, мы откладывали решение дальше и дальше...

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

Владельца у нас было два: один наш интеллигентный вариант Нового Русского и американец. Первый как-то сказал: «Ну сколько разработка потянет? Ну 10к зелени? Если не выгорит — то столько за день зарабатываю. А если выгорит — то будем миллионерами». Про 10к — преувеличивал, конечно, но пофигизм к нам точно был.

Тут пришёл крах доткомов, и американец вышел из проекта. Оставшийся владелец напрягся и выдал: «Денег есть на полгода, максимум — год. Релизьтесь быстро!» Мы целыми днями спорили о геймдизайне, а разработка почти остановилась.

На 13:00 30-едекабря назначили большое совещание с задачей чётко сформулировать цель. В 13 начальника нет. В 14 — нет. В 14:30 таки отправили sms, очень дорого было. В 15 он появился: «Биг босс заболел, провел две недели в больнице с воспалением лёгких. К моменту выздоровления у него родственники отжали 5/7 собственности. Денег и помещений на проект больше нет. До 18:00 — забэкапить, отформатировать, сдать железо, получить последнюю зарплату». Так меня уволили в первый раз. Как сейчас бы сказали, стартап лопнул. Шок, ужас перед возвращением в бедность, неуверенность ни в себе, ни в будущем.

Купи-продайка

Звонит друг: «У тебя же диплом по защите информации? Тут у моих знакомых база полетела, отчет сдавать через неделю, а у них разработчик уехал то ли в Австрию, то ли в Австралию».

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

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

Переездец

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

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

Электростанция

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

Но был один нюанс — электростанция рядом с российской военной базой. Кстати, жить как раз на этой базе. Рядом — военная база НАТО. Кругом — Ирак и затухающая «Буря в Пустыне».

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

Тогда я понял, что не все деньги стоит зарабатывать, — и отказался.

Нулевая розетка

В новейшем офисе класса А было холодно. Автономная бойлерная пыхтит вовсю, кодим в перчатках. Тепловики говорят: «Мы рассчитывали на нормальные стены».. Строители: «Мы рассчитывали на нормальное отопление». Измерили температуру в розетке за гипсокартоном — ноль. По итогу, зимой промальпинисты обшивали здание утеплителем за большие деньги.

Не только в IT бывают нестыковки и кривое проектирование, и исправление часто дорого стоит.

Джуниор в возрасте

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

Загадка раскрылась чуть позже. Человек понимал, что такое переменная, операторы, циклы... Но концепцию массива мы донести не смогли. Пробовало несколько человек — никак. Уволили через неделю. Редчайший случай, когда терпения и труда не хватило для преодоления низкого IQ. Редчайший.

Книжное знание

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

Не спать!

Был сотрудник, вполне толковый парень. С одним недостатком — безынициативный. Совсем. Если не дать ему задачу вовремя или не проконтролировать выполнение — так и сидел без дела. И поймал его как-то директор на сне на рабочем месте. Разбудил, рассказал, что на работе спать нельзя, и ушел.

Сотрудник понял и осознал. На следующий день я его поймал за тем, что он смотрит немигающим взглядом на пустой десктоп.

«Время на рабочем месте» — самый популярный и один из самых дурных KPI.

Гений

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

Этот коллега видел на много ходов вперед и был на грани гениальности. При этом он раз в час ходил курить минут на 20-30и забирал при этом с собой своего друга. За внешностью не следил даже по айтишным стандартам и с удовольствием лез на конфликт с обществом. Например, он дочку назвал в честь прошлого проекта и с гордостью показывал паспорт с её именем. Имя необычное, я больше таких ни разу не слышал.

Через полгода его уволили, и никакие навыки программирования не смогли перевесить его стиль общения.

Подоконник

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

Начали выяснять, есть ли какие-то условия, при которых он согласится? Например, если по зданию будет ползать ядовитая эфа, и подоконник будет единственным способом спастись?

Слово за слово, и выяснилось, что за месячную зарплату он таки согласится. Еще и за свои деньги купит в альпмагазине обвязку и веревку для страховки.

Категоричность — это всегда ужасная ошибка! ;)

Пароль на тестовый сервер

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

Примерно через час подошли к нему. Как и ко всем остальным, просто на всякий случай.

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

Сиквел

Парня из предыдущей истории мы таки взяли. Работа с ним требовала особых умений. Главное — не ошибиться в исходных и часто контролировать. А это — время.

Умение задавать вопросы — для меня это один из критериев для разделения синьоров и мидлов. Синьоры обычно знают свои силы и не боятся выглядеть глупо. А тут...

С другой стороны — он не боялся нудной работы. Мог неделями выполнять однообразные действия и не уставать. Иногда у меня вообще было желание взять у него кровь на анализ. Вдруг — не человек?

Переспорить верующего

Был у нас истинно верующий — новообращенный в одну из экзотических ветвей христианства. Мы его как-то вопросами и логикой загнали в угол. Он и сказал: «Я не знаю, как это совместить непротиворечиво». Умный парень. На следующий день он сходил к своему наставнику и притащил нам ответ: «так, так и так. А хотите подробнее — вот книжка с развернутым ответом. А еще лучше — давайте я наставника к нам в офис приглашу». Мы еле отмахались.

После этого я с интересом слушаю споры C++ vs Pascal, Linux vs Windows, Android vs Apple etc. Обычно предмет спора меняется быстрее, чем мнение фанатов.

Верующего не переубедить логикой. И не важно, во что он верит.

Почему так долго?

На одном продуктовом проекте у нас эстимейтинг выглядел так: команда подготавливает оценку сроков, а директор затем проверяет, задает вопросы и уточняет. Хорошая идея, а вот реализация звучала как «Тю! почему так долго?! Вы что, вот в этой фигне будете копаться целую неделю?!» Эти слова действовали, и сроки сильно сокращались еще на этапе планирования.

Потом мы не успевали к назначенному сроку, и я получал выговор. Я переживал по этому поводу и за несколько лет очень здорово приловчился записывать эстимейт на старте проекта и сравнивать с реальным результатом. Да, это трудоемко, но с числами в руках проще разбираться в причинах. Всегда получалось соотношение около 1 к 3. Для меня это было ужасно, и я старался каждый раз на старте предусмотреть все нежданчики. А потом узнал, что на соседних проектах такой же коэффициент выходит, и успокоился. Держал два эстимейта — для директора и для себя. Большого бизнес-смысла в оценке всё равно не было — продуктовая компания всё-таки.

ИБД

Знаете, есть такая модная идея — работать стоя? Так вот, на соседнем проекте PM освоил практику работать лёжа. Для этого достаточно сесть в обычное офисное кресло, облокотиться на спинку и чуть-чуть сползти вниз. Потом еще чуть-чуть. Продолжать до тех пор, пока лопатки не окажутся на сидушке.

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

Этот PM вовсю практиковал Имитацию Бурной Деятельности по запросу начальника. Т.е. он всегда мог рассказать, почему эта задача занимает именно столько и пойти дальше читать книжку. Он вообще гордился своими навыками ИБД.

Это продолжалось несколько лет, потом он сменил работу и ИБД забросил. По отзывам — сейчас очень неплохой менеджер.

Три по пятьдесят

Была у нас такая практика — приходит сотрудник к директору и говорит: «Хочу больше зарплату», и если таки да, то директор отвечал: «Ну ок, со следующего месяца у тебя будет +$50, еще через месяц — еще +$50, и потом еще +$50». По числам само +$150 тогда было вполне хорошо. Вот только получал ты их в полном объеме через три с половиной месяца. Вроде и повысили, а вроде и фигвам. Демотивировало жутко.

Note: я не знал экономического состояния фирмы. Может, там выше просто нельзя было.

Код, который можно петь

Нашел коммерческий код со своего старого проекта в публичном доступе. Причем на баше. Очень необычное чувство.
Этот кусок кода можно не только читать, но и петь...

Param := TDAParam.Create(TParams(Params));
Params.AddParam(Param);
TParam(Param).Value := AValue;

Сложные переговоры

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

Были и проблемные места, по которым я много спорил с директором. Задолбало меня это уже очень сильно, я уже года три был в состоянии внутреннего увольнения. В итоге, я подготовил ультимативный список из трех организационных пунктов типа «нанять админа на 40 человек», ну и до кучи — попросил прибавки процентов в 20. По первым трем пунктам мы месяца три спорили и практически обо всём договорились, хотя и без четких сроков.

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

Работу нашел. Плюс 25%. Говорю директору:

— Через две недели я выхожу на новое место. Как передать дела?
— Так особо и некому, все заняты. А давай я тебе таки дам +20% через два месяца?

Я уже принял новый оффер и ушел со старой работы с криком «Я свободен!»

А мой коллега-заместитель получил +много к своей зарплате и через месяц получал вдвое больше, чем моя старая зарплата. Дальше гуглить по слову bus-factor.

Delphi

Так получилось, что я был на Delphi с первой беты. Первая версия была классной. Вторая — супер. Третья — лучше второй. Четвертая — прогресс. Пятая, шестая — замечательно. Седьмая — примерно как шестая. Восьмая вышла с задержкой и была глюкава до полной бесполезности. Девятая, десятая, одиннадцатая — очень и очень слабы.

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

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

Выбор

На Delphi предложений работы почти не было. За несколько лет рынок труда для делфистов схлопнулся.

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

В другом месте предложили за ту же зарплату должность Junior .Net developer. Это сразу после Product Manager. Дауншифтинг резкий, зато без всяких заморочек.

Я колебался. Чашу весов переломил встреченный в коридоре первой фирмы старый знакомый — он там менеджерил. Он мне не нравился, и я задал себе вопрос: «готов ли я с ним работать даже на соседних проектах?». Не готов.

Я таки выбрал дауншифтинг. Читая потом отзывы на первую фирму, я понял, что это было очень правильное решение. Кстати, они звонили: «Вы нам отказали из-за зп? Ну давайте еще +15%». И это после того, как вы мне объяснили, что и прежнюю мне даете авансом?!

На новом месте было очень непривычно — зона ответственности схлопнулась с «за весь проект» до «вот тебе задача, пили её вот таким способом». Да и коллектив был дружным, хотя я в него так и не смог влиться. Софтскилы подкачали.

MMORPG и эффект домино

На проекте был синьор. Он был хорошим программистом и яркой личностью. Однажды он не получил четкого ответа от заказчика на вопрос о текущей задаче. Поэтому в ожидании ответа тихо запустил онлайн-рубилово. Так он ждал день, а ответа все не было, ждал два — а заказчик молчал... Синьору очень не хотелось задавать вопрос повторно, ведь при этом пришлось бы рассказывать о том, что он два дня ничего не делал. Ждал неделю, а заказчик так и не вспомнил. А может, вообще не понял, что от него ждут ответа. Синьору уже совсем не хотелось говорить с заказчиком. Через две недели заказчик начал домогаться результатов работы. Сначала аккуратно, потом все настойчивей. А их не было. Совсем не было. Ну не считать же результатом переход на 76-йуровень? В итоге, после нескольких проигнорированных попыток достучаться до синьора, заказчик спросил напрямую коллегу «А здесь ли Вася?» — «Да, здесь» — «Попроси его взять трубку». Тут Вася громко и вслух послал Заказчика и с криком «та не хочу я с ним общаться», выбежал из комнаты.

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

В конце кризиса фирма была продана, а все руководство, включая директоров этого филиала, — были уволены.

Выводы:
— Я не был непосредственным участником. Я пробовал достучаться до PMа где-то на третий день, но он был занят и на домыслы джуна не отвлекся. Не знаю, чтобы было, если бы я обратился к директору. Наверняка, ситуацию тот бы вытянул. С другой стороны — стукачество у нас не любят, а пока гром не грянул — ситуация выглядела как мелкая шалость.
— «Имей мужество признать свои ошибки» — банальщина, но абсолютно все бывают в пассивно-депрессивно-убегающем состоянии. В нём сложно принимать конструктивные решения.
— Менеджерам таки нужно следить за происходящим. Те же стендапы должны были предотвратить ситуацию. Да и чем человек занят — тоже хорошо видно, даже если у него монитор хорошо спрятан.

Точка контроля

На долготянущемся небольшом проекте PM/техлид был по совместительству с другим проектом и не особо вникал в этот. Всё общение с заказчиком взял на себя QA.

В принципе, хорошая практика — QA из первых рук узнавал требования. Но был один нюанс...

QA считал заказчика неспециалистом. Хуже того, заказчик действительно плохо разбирался в разработке софта. Еще хуже — QA загонял вопросами заказчика в ловушку, находил противоречия и объяснял заказчику, почему тот не прав. Ну и заодно обсуждал с командой все провалы заказчика.

Я не был в курсе переписки, но, как мне кажется, — QA было важно доказать, кто здесь настоящий специалист и кто должен принимать решения. А заказчику наверняка казалось, что его саботируют и над ним издеваются. В итоге, он проект закрыл.

С моей точки зрения, если бы вместо фиксации на проблемах и противоречиях была фиксация на «можно сделать так и так, или вот так» — то проект можно было и вытащить.

Legacy-код

К нам зашел на допиливание проект — написанный несколькими командами до нас огромный комок кода, отягощенный баглистом, и без всяких тестов и доки. Одних только проектов в сборке было 14. Мы очень-очень осторожно начали его фиксить, потихоньку выпиливая ошибки. Понять этот код было нереально за короткое время, поэтому все действия — на касаниях, как при разминировании. Любые идеи «а давайте отрефакторим» жестко пресекались — без понимания было очень страшно трогать. Через несколько недель тимлид нашел константу — количество дней в месяц. «30». Ой, а как же февраль и т.д.?" — подумали мы и дописали баг в тасклист. На следующий день мы нашли константу «месяцев в году». «13». ТехДир озверел, заперся в кабинете и на следующее утро в сборке осталось 6 проектов из 14 — остальные вообще не использовались никак.

Оптимизация

Пришла жалоба от юзера на то, что один отчет генерируется больше десяти минут. Да, отчет редкий. Да, проект второстепенный. Закапываюсь — а там дикое месиво из SQL и десятки тысяч запросов к серваку. Иду к PM:

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

Английский

В нашей столовой приехавшие познакомиться с командой заказчики выбирают еду. Рядом же директор и PMы с техлидами — все с отличным английским. И тут заказчики начинают задавать вопросы «а что это за блюдо? из чего оно сделано?». И тут внезапный провал — топ-менеджмент не знает таких слов. Учили давно, ни разу не использовали.

То, что ты специалист в одной области, еще не значит, что ты крут даже в соседних.

(Не)везение

Дорос я в этой компании до техлида. Вообще, для меня это характерно — прийти программистом и дорасти до менеджера. И в середине кризиса-2008 мне директор говорит, что вот этот проект сейчас заканчивается, и, похоже, следующего для тебя не будет. В общем, будет тебе выходное пособие и время на подучиться перед следующей работой.

Тревожно, страшно, жена беременна вторым ребенком. Работу я таки через пару месяцев нашел.

А через еще месяц наш филиал внезапно продали. У покупателя уже был офис в нашем городе, и ему был нужен только один большой проект, ну еще может пару других мелких-вкусных. А остальные — не нужны. Поэтому 2/3 всех сотрудников — на выход прямо сегодня, включая директорат. Корпоративный счет заблокировали одновременно с покупкой, директор смог выцарапать последнюю зарплату для сотрудников только спустя несколько месяцев. Про выходное пособие или предупреждение об увольнении заранее и речи быть не могло. Особенно сильно влипли те, кто был в загранкомандировке. Внезапно обнаружить, что у тебя заблокирована карточка, нет юридической поддержки и туманное будущее — это шок.

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

Многоэтапное собеседование

Устраиваюсь в одну небольшую фирму. Сначала устное собеседование на час по телефону, потом личное техническое собеседование в офисе, потом домашнее задание на сутки, потом еще одно личное собеседование. «О, как в гугле, круто!» — подумал я.

На втором собеседовании:

— Мы ищем самых лучших сотрудников, которые будут с нами в течение долгого времени. Насколько надолго Вы готовы к нам?
— Если я приму оффер, то как минимум на год.

Прошел техническое, прошел дз. Финальный разговор-оффер:

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

Я согласился. Несортированный список того, что повлияло на мое решение:
— Кризис — сложно найти работу. Беременная вторым ребенком жена и маленькие накопления усугубляют ощущения.
— Лесть — «мы берем только лучших, и вы нам подходите».
— Коммитмент — «я уже столько вложил, жалко отступать».

Обратите внимание на ловушку: я обещал работать долго, а они оставили за собой право уволить меня в любой момент.

Многоэтапная ловушка

Опыт работы в этой компании я использовал в разделе «Вторая бизнес-модель»про овертаймы. Это цикл «даешь задачу — продавливаешь жесткий эстимейт — человек проваливается — давишь на чувство вины — человек работает больше — ошибается — давишь на вину еще».

Особенности работы:
— Обратная связь — каждый день.
— Скайп — только корпоративный. Экраны видны всем. Идея посмотреть личную почту воспринимается как преступление.
— Проекты на несколько человеко-месяцев.
— Есть ядро из 4 человек: дир, зам-HR, бух, техдир. Остальные быстро меняются.
— Обед желательно «пока компилируется».
— Очень хорошо поставлена работа с PR. Похоже, HR не реже раза в день ищет в сети новые упоминания фирмы.

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

Я там за два месяца написал два проекта. Первый провалил — не справился с утечками памяти в IE при написании расширений. Второй сделал в срок, заказчик даже принял его с опережением.

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

Продолжение следует

Итак, за примерно десять лет я прошел от интерна до Product Manager и дауншифтился в Junior .Net Developer. Писал на C++, Delphi и C#. Был программистом в лопнувшем стартапе и менеджером во взлетевшем, пощупал продуктовую разработку и аутсорс.

На этом первую часть заканчиваю, продолжение следует где-то через неделю-две.

Viewing all 499 articles
Browse latest View live