Вот небольшая предыстория: мой менеджер работает в этой компании более десяти лет. Похоже, он очень малому научился за то время, что был здесь, и делает все так, как делали всегда. Он инженер/программист, поэтому работает с C++, SQL Server, .NET, JavaScript и подобными технологиями. Он также занимается разработкой внешнего интерфейса, поэтому он также занимается HTML и CSS.
Перенесемся в наши дни: я UX-аналитик, визуальный дизайнер и веб-разработчик. Я бы сказал, что мой визуальный дизайн и веб-разработка на данный момент сильнее, чем мой UX. Я давно занимаюсь веб-дизайном и разработкой. Я всегда читаю и пробую новые технологии, такие как препроцессоры CSS SASS/LESS, языки шаблонов, такие как Liquid, и инструменты для компиляции/окружения, такие как Jekyll и Vagrant. Я использую их, чтобы оптимизировать рабочий процесс, ускорить разработку и сделать мой код чистым, эффективным и простым в обслуживании.
Я рассказал об этих технологиях и инструментах своему руководителю, а он в них не разбирается. Он думает, что новые технологии похожи на Dreamweaver (думаю, у него был неудачный опыт работы с Dreamweaver, как и у ВСЕХ нас, и он считает, что инструменты, не связанные с ручным кодированием, каким-то образом загрязнят код). Он постоянно выдвигает против них аргументы, например, что они несовместимы с разными браузерами и внедряют вещи, которые раздуют код. Когда я говорю об одном, он поднимает что-то другое. Я думаю, он просто не хочет учиться? Я физически показал ему довольно надежный набор пользовательского интерфейса, который я разработал за последние несколько дней, и он не был впечатлен и серьезно подорвал работу, сказав, что, по его мнению, я использовал редактор перетаскивания, поскольку я дизайнер, а не разработчик (но я разработчик, просто не такой разработчик, как он). Когда я рассказываю ему об этих новых технологиях и о том, как они помогут нашему рабочему процессу, повысят производительность и значительно сократят время разработки, он либо отключит меня, либо придумает несколько оправданий, чтобы не использовать их. Он говорит, что я могу их использовать, но ему нужны только выведенные HTML и CSS, ему не нужны "другие вещи".
Итак, как я могу двигаться дальше, если мой непосредственный начальник не понимает моих навыков или работы? И если он не сможет понять мою работу, как он увидит ценность, которую я приношу? Я попытался усадить его и объяснить ему эти технологии, какую пользу они нам принесут, насколько их легко освоить и использовать и как они сэкономят нам время, затраченное на разработку. Он просто слушает вполуха, а затем объясняет, почему он не хочет их использовать. Я выслушал его и искренне пытался решить каждую из его проблем, но у него этого не было. Он просто отключается и дает те же оправдания. Что здесь можно сделать?
Я был в похожей ситуации несколько лет назад, и это то, что я узнал из этого, хотя я больше разработчик на стороне сервера.
Производительность в разработке программного обеспечения не должна быть единственным критерием при выборе программной технологии. На самом деле обслуживание программного обеспечения имеет гораздо большее значение.
В то время как некоторые новые технологии разработки программного обеспечения действительно повышают производительность, многие новые технологии представляют собой просто захватывающую чепуху, которая на самом деле снижает производительность в долгосрочной перспективе, хотя в данный момент может показаться, что они все упрощают. Они новые, захватывающие, модные, и люди, которые их используют, считаются умными, а те, кто ими не пользуется, считаются отсталыми и оторванными от мира. Это давление побуждает людей перенимать последнюю моду в программном обеспечении. Чтобы принять их, не нужно думать больше, чем решить надеть эти очень узкие джинсы или эти очень низкие брюки, которые демонстрируют нижнее белье.
Опытные разработчики прошли через несколько циклов повального увлечения программным обеспечением. Они даже видели, как идеи в индустрии программного обеспечения выходят из моды, ненадолго возвращаются в моду и снова выходят из моды, как брюки клеш. Поэтому они склонны искать методы и идеи, которые принесут долгосрочную пользу, а не просто легкое возбуждение. Это объясняет подход вашего менеджера.
Я многому научился у своего менеджера, у которого были те же идеи, что и у вашего менеджера, и команда, в которой я сейчас работаю, пожинает плоды его подхода.
В вашей должностной инструкции указано, какой стек технологий использует ваша компания?
Если нет, то вам нужно признать, что это не ваша работа, чтобы изменить этот аспект компании.
Есть причины, по которым компания может предпочесть придерживаться старых технологий, которые она уже использует, — первое, что приходит на ум, — это нежелание рисковать.
Тем не менее, вы все еще можете привести аргументы своему менеджеру, у которого есть роль, чтобы вносить изменения в стек технологий. Похоже, вы уже это сделали. Вы также должны признать, что это может быть именно то, как компания, хорошо это или плохо, хочет работать.
Вместо того, чтобы пытаться изменить свою текущую компанию, чтобы она соответствовала тому, как вам нравится работать, вы можете подумать о том, чтобы найти другую компанию, в которой уже есть культура и набор технологий, которые вам подходят.
Как и многие программисты, вы действуете с менталитетом инженера. Вы логически пытаетесь решить проблемы, и даже когда вы знаете, что что-то должно работать, но это не работает, вы продолжаете и вносите изменения до тех пор, пока это не сработает.
Однако вы редко делаете это, когда имеете дело с менее технически подкованными людьми. Вы основываете что-то на технических/логических достоинствах и не понимаете, почему люди не подчиняются, когда они могут даже прийти к такому же выводу. Вы должны продолжать в том же духе. Это не обязательно означает придерживаться той же проблемы. Ваш босс будет раздражен, если вы это сделаете.
Подумайте, как вы можете по-другому относиться к этим типам предложений. Вам придется продать идею. Технических достоинств недостаточно. Поскольку у вас это не очень хорошо получается, потребуется время, пока вы не найдете правильный подход и не научитесь быть убедительным.
Получение этого навыка будет лучше для вашей карьеры и здравомыслия. Не ждите, что все будут думать так же, как вы. Адаптируйся и учись.
Обычно я не считаю обязанностью менеджера знать каждую технологию в стеке. Гораздо важнее, чтобы менеджер знал, как... ну... управлять командой и выпускать продукцию. Жаль, что он сопротивляется всему этому новому. Может быть, лучше честно (не конфронтационно) обсудить это с ним? По моему опыту, большинству менеджеров на самом деле все равно, что вы используете, при условии, что это добавляет ценности. Иногда может помочь четкая документация с изложением сравнительных преимуществ того, что вы хотите использовать, по сравнению с тем, что уже используется. Может, стоит выяснить, не из таких ли он менеджеров. Судя по тому, что вы говорите, мне кажется, что он вообще не будет возражать, если будет заключено соглашение, и ему не придется иметь с ним дело.
Что касается форматов ваших результатов, действительно ли это так важно, если ему нужны только HTML и CSS? Возможно ли, что вы так сильно хотите, чтобы он принял вашу позицию, что не хотите идти на компромисс в этом (сравнительно) небольшом вопросе? Если ему нужны HTML и CSS, просто дайте ему их. Лично я бы избегал битв за готовый формат и приберег свой политический капитал для чего-то другого.
Я думаю, у вас есть хороший ответ, но есть кое-что, что нужно было. Надеюсь, это добавит ценности.
Одно не похоже, что ваш босс собирается переехать, и вы не собираетесь его заставлять.
Будьте довольны тем, что вы можете использовать инструменты, а он просто хочет HTML и CSS.
Это не он не понимает ваших навыков. Он просто не хочет узнавать что-то новое.
Похоже, ваш менеджер просто не двигался какое-то время. По крайней мере, это не C, а C# просто более производительный. Я думаю, мы можем быть уверены, что HTML5 — это не причуда.
папарацци
Дэн Хендерсон
Брандин
Дэвид К.
Франсин ДеГруд Тейлор
IDRinkandIKnowThings