Как хорошему разработчику не стать плохим менеджером - [40]

Шрифт
Интервал

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

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

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



Кейс "Менеджер-программист"

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

Алексей был опытным разработчиком (Java/Scala developer/Data Engineer с опытом в C++), но его поставили на проект с абсолютно незнакомыми ему технологиями (web + Python + Front End). Причём времени на “раскачку” ему не дали, и ему сразу пришлось принимать важные технические решения, вроде выбора технологического стека для проекта и решения проблем с производительностью. Из-за этого Алексей иногда делал задачи дольше, чем мог бы, а его оценки были неточными.

Алексей старался закрыть пробелы в своих знаниях курсами, статьями и видео, но у него недавно родился ребёнок, и поэтому вне работы свободного времени было немного.

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

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

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

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

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

Алексей ушёл думать. Он решил докопаться до сути и погрузился в исследование решения Игоря. Почему оно проще и быстрее? Вскоре Алексей выяснил, что менеджер вместо работы с базой использовал заранее приготовленные файлики JSON с нужными данными и показывал только первые 1000 записей. Поэтому и производительность была нормальной. Когда эти хаки убрали, решение менеджера стало тормозить так же.

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

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

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


Анализ

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

Самое интересный вопрос тут, это зачем менеджер полез в код? Он хотел ускорить работу разработчика? Зачем тогда он делал это втайне, и почему не взял ответственность на себя? Менеджер (а скорее тимлид) может перевести на себя какую-то задачу, если видит, что разработчик не сделает её. Но тогда нужно делать это полноценно, по процессу, доведя задачу до конца.


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

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


Диагностика способности к общению

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


Не умирайте, если вы не читали книг Фоменко и Носовского

В своей публикации мне хочется обратиться к открытиям исследователей российской истории, создателей «Новой хронологии» А.Т.Фоменко и Г.В. Носовскому (в сокращении: ФН), уже не один год будоражащим российское общество, которое, тем не менее, вовсе не проникается к ним заметной благодарностью.Скорее наоборот: смелые и даровитые приверженцы истины получают болезненные упрёки от обывателей и записных академиков то в фальсификациях и подделках, то в дилетантизме и жажде денежной поживы.


Телевидение

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


Эмиссары любви. Новые Дети говорят с миром

Хотя эта книга читается как увлекательный роман, его содержание — необычный личный опыт Джеймса Тваймана, сопровождавший его знакомство с Детьми Оз — детьми с необычайными психическими возможностями. Объединяет столь непохожих между собой детей вопрос, который они хотят задать каждому из нас. Приключение, которое разворачивается перед нами, оказывается не просто увлекательным — вдохновляющим. И вопрос этот способен круто повернуть жизнь каждого человека на этой планете.О чем же спрашивают нас эти дети?«Как бы выглядел наш мир, если бы мы все немедленно, прямо сейчас осознали, что все мы — Эмиссары Любви?»Такую книгу вы захотите подарить вашим друзьям — не только взрослым, но и детям тоже.


Учебник гипноза. Как уметь внушать и противостоять внушению

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