Менеджер vs Программист

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

** Программист**

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

*Плохой программист *

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

*Менеджер *

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

*Плохой менеджер *

Есть на свете и не настоящие менеджеры – те, которые занимаются только руководством вверенной системы. Они не вносят никаких изменений, не особо анализируют показатели, а просто руководят. Распределяют задачи, дают пинка, ставят сроки, ходят на совещания и т.д. Плохие менеджеры знают несколько «кнопок» в системе, и более-менее умеют ими пользоваться. Но, правильнее сказать, не умеют, а имеют право. Например, могут увольнять и нанимать людей, заставлять выходить на работу в выходные, менять приоритет задач, немного повышать зарплату, выписывать небольшие премии, орать и материться. Никому, кроме плохого менеджера, эти инструменты не подвластны. Применение этих инструментов не вносит изменений в систему, это вроде вынесенных наружу пользовательских настроек. Такими же настройками пользуется плохой программист. Это несколько рычажков и кнопок, иногда – ползунков, регулируя которые, можно немного менять поведение системы. Значительных изменений с помощью этих инструментов совершить нельзя. Радикальные изменения кроятся внутри системы, но внутрь плохой менеджер не заглядывает. Он предпочитает имитировать изменения – например, затевая сокращение затрат или персонала. Со стороны это, действительно, выглядит как бурные изменения, но суть системы от этого не меняется. Наиболее простой и доступный рычаг – это персонал. Потому наиболее популярным способом изменения среди плохих менеджеров считается расширение штата. Если вышестоящее начальство ругает плохого менеджера за недостаточные результаты, он обычно ссылается на персонал. В большинстве случаев – просит добавить штатных единиц. Плохие менеджеры ничего не могут, не умеют делать с эффективностью, т.е. стоимостью результата, или КПД. Если у него в отделе 3 человека, работающих с определенным КПД, то единственный путь увеличения общего результата отдела – увеличение штата. КПД при этом либо не меняется, либо немного падает из-за проблем с управлением, но общая результативность системы повышается. Хороший менеджер в такой ситуации может применить усилия, и изменить КПД, тем самым получив аналогичную результативность, но без изменений численности персонала. Плохой менеджер так не может, потому что КПД, или эффективность – это свойство системы, оно внутри, а не снаружи. Нет снаружи системы рычажка с названием «Эффективность», который можно было бы подкрутить. Точно так же нет в настройках информационной системы рычажка «Производительность», который мог бы отрегулировать плохой программист. Некоторые, псевдорычажки, конечно, имеются, но кардинального влияния на производительность они не оказывают.

*Итого *

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

*Резюме *

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