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

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

Примечание. Я работаю удаленно, что создает определенные трудности для общения.


Быстрый фон:

Я работаю в небольшой компании (менее 10 человек), у которой есть несколько собственных проектов FileMaker, которые существуют уже около десяти лет. Большая часть того, что они имеют или делают, зависит от выбора технологий и практики, застывших в середине-конце 2000-х годов (что само по себе не так уж и плохо). Я работаю с клиентами над созданием, исправлением или изменением их приложений C# или asp.net. Я пришел из места, где я мог находить и решать проблемы организационного уровня с помощью инструментов и программного обеспечения, которые я и моя команда создавали, с почти полным творческим и архитектурным контролем. Это привело к тому, что «развитие, основанное на продажах», стало довольно скучным и демотивирующим существованием. Я действительно не могу использовать свои знания в области разработки или делать много приятной работы.

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

О Фреде:

В свое время, работая здесь, я знал, что Фред очень упрям ​​в использовании инструментов и фреймворков, с которыми он знаком. Даже если они очень старые и требуют много времени. Вплоть до того, что Фред считает, что любимый инструмент может все, даже если его практические пределы очень ясны. Это включает в себя приверженность старым предположениям и идеям о том, как обращаться с пользовательскими данными, безопасностью, а также о том, как и где хранить и управлять вашим кодом (т. е. без контроля версий, без сертификатов HTTPS, без проверки электронной почты, учетные данные пользователя в виде открытого текста, учетные записи администратора). с паролями 123нам нужен только FTP для всего... и т.д.)

Сведения о проблеме

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

Я признался, что не знаю, зачем мы проделываем эти упражнения с FileMaker, и оказалось, что Фред уже твердо настроен на то, чтобы я создал весь веб-API, обработку данных и прием данных в FileMaker. Что для меня, как для full-stack разработчика, звучит как ужасная идея. К такой системе предъявляется множество требований, которые FileMaker не может обеспечить, и она, как СУБД, не справляется с задачей обработки таблиц, потенциально содержащих миллиарды строк. Не говоря уже о том, что создание REST API и управление им даже не поддерживается этим инструментом.

Я выразил эти опасения, но получил ответ, что «FileMaker может это сделать».


Заключение

Генеральный директор хочет, чтобы я сделал его REST API для приема больших объемов данных из социальных сетей и предоставил платным клиентам возможность использовать этот API для своих нужд. Это достаточно сложный, многогранный и крупный проект. И это то, что я кусаю немного, чтобы сделать. Тем не менее, он настаивает на том, чтобы я сделал это с помощью FileMaker, несмотря на то, что мой опыт заключается в комплексной разработке многих разновидностей. Предлагаемое мной решение — использовать Asp.Net Core и СУБД, например MS-SQL, MySQL/MariaDB или PostgresSQL. Поскольку это инструменты, в которых я могу быстро развиваться, а другие в офисе знают C#, включая генерального директора. Мне удобно использовать практически любой другой основной язык и веб-фреймворк для выполнения работы. Только не файлмейкер.

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

Вопросы

  • Как мне принять участие в процессе принятия решений, которым Фред занимается в одиночку?
    • Есть ли какой-нибудь профессиональный способ указать ему, что он принимает решения на основе неполных или устаревших знаний и предположений?
  • Что я могу сделать, чтобы убедить его, что это, скорее всего, затормозит проект? Как с технологической точки зрения, так и с точки зрения мотивации разработчиков.
  • Как мне эффективно сообщить, что этот инструмент не обеспечивает функций или гибкости, необходимых мне для реализации этого проекта?
  • Как мне профессионально и вежливо сообщить, что я не заинтересован в инвестировании в FileMaker? Поскольку это не тот навык, который я считаю полезным в своих личных проектах, или это навык, который можно будет использовать в других работах/компаниях, которые меня интересуют.

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

Даунвотер, не хочешь объяснить?
Ух ты! FileMaker все еще существует? Я сомневаюсь, что он получит много людей с хорошим знанием FM, если вы выиграете в лотерею.
Почему вы там работаете? Я не вижу причин оставаться, значит, я что-то упускаю. Если бы я работал на такого человека, я бы нашел другую работу.
@DavidThornley Потому что сменить работу - хлопотно, и если я чему-то и научился, так это тому, что на другой стороне трава редко бывает зеленее. И я работаю над своим личным продуктом, чему способствует гибкий график. Хотя мне пришло в голову, что я, возможно, захочу начать искать другую одежду, я периодически просматриваю и подаю заявки.
Спасибо, что разъяснили, что "босс" = генеральный директор, так что убедить босса в том, что он босс, не получится.
@gnasher729 правильно! Я ищу методы или понимание того, как я могу повлиять на босса/генерального директора, чтобы он передумал или, по крайней мере, открыл их точку зрения, чтобы они увидели, что их выбор технологии не соответствует задаче. Или как я могу участвовать в процессе принятия решений, который он делает самостоятельно.
Готовы ли вы рискнуть своей работой ради этого? Когда вы прояснили это, варианты, открытые для вас, стали намного яснее.

Ответы (4)

Примечание. Я не знаком с FileMaker, но предполагаю, что все ваши утверждения верны.

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

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

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

Например, я столкнулся с менеджером, который хотел избежать рефакторинга, как чумы. Одна проблема заключалась в отправке ненужных 5 КБ данных при каждой загрузке страницы. Так что я сделал математику. Я отслеживал загрузку страниц в течение двух недель, умножал это на 26 (чтобы получить год), умножал на 15 КБ и умножал на стоимость полосы пропускания (это было приложение Azure). Это будет стоимость в год . Стоимость рефакторинга проблемы, даже для моей (относительно высокой) зарплаты подрядчика, составляла <20% от годовой стоимости полосы пропускания.
И это приложение будет размещаться не менее 10 лет. Увидев разницу в цене, мой менеджер немедленно убедил меня выслушать мое предложение. Делал ли я технически его работу за него? Конечно. Но теперь он самостоятельно проводит аналогичный анализ затрат, чего раньше не делал. Я просто помогал ему в пути.

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

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


Однако, если возникают серьезные проблемы, которые вы не можете легко решить, поговорите со своим начальником. Он окончательно решил использовать FileMaker, так что он может знать, как это исправить. Цитирую дядя Бен:

С большой властью приходит большая ответственность

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

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

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

Вы говорите, что будете делать проект, но не в FileMaker.

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

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

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

Я действительно не могу использовать свои знания в области разработки или делать много приятной работы.

В свое время, работая здесь, я знал, что Фред очень упрям ​​в использовании инструментов и фреймворков, с которыми он знаком.

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

Генеральный директор хочет, чтобы вы использовали FileMaker для приложения, для которого оно не предназначено. Вы не хотите.

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

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

Если все это правда, то, похоже, пора искать новую работу; тот, который, я думаю, не потребует от вас использования FileMaker таким образом.

Конечно, все более тонко, чем вы пытаетесь свести к этому. Я делаю хорошую работу, у меня есть мотивация и чрезмерный драйв. Только не для этого конкретного элемента, и я знаю, что отсутствие мотивации в качестве разработчика часто приводит к плохой работе. Это реальность вещей. Вместо того, чтобы выбросить полотенце, я пытаюсь разобраться с этим и ищу совета, и предоставил как можно больше контекста, не будучи слишком многословным. Я не верю, что find a new jobкогда все становится рискованно, это здоровое отношение.
@DouglasGaskell Бывают случаи, когда вам приходится использовать этот маршрут. Я лично много сделал с FileMaker. Это фантастическая маленькая платформа, но когда вы ударяетесь о ее потолок, вы сильно ударяете по ней, и она не сдвинется с места. Масштабы, указанные на постере, явно превышают возможности FileMaker. Я бы не хотел, чтобы мое имя было прикреплено, чтобы кто-то пытался взломать его, как этот проект.
@WesleyLong Спасибо. Я согласен, что всегда наступает момент, когда нужно идти по этому пути. Тем не менее, я думаю, что есть еще некоторые методы, которые я мог бы использовать, чтобы повлиять на этого человека. Я надеюсь получить некоторое представление от других, кто был в подобных ситуациях, чтобы я мог знать, как двигаться вперед, оставаясь в этой компании.
Я думаю, что этот ответ упрощает ситуацию. Пока есть место для следования прямому приказу; есть также место для осмысленной и уважительной беседы. OP пытается сделать последнее, и ваш ответ неявно предполагает, что первое - единственный вариант. Вы фактически утверждаете, что ни один сотрудник никогда не должен делать осмысленных предложений, а вместо этого должен просто уволиться.
Кроме того, намерение ОП повлиять на менеджера не является признаком отсутствия драйва или мотивации. Наоборот, ОП стремится улучшить работу. Немотивированные работники, как правило, перестают раскачивать лодку или задавать вопросы, а просто вкалывают свой день.
@Flater Кто-то, должно быть, взломал его аккаунт. Такого тролльского ответа я еще не видел.
@Flater Я думаю, что Джо принимает во внимание заявление ОП о том, что «моя мотивация и стремление к проекту почти испарились».
@Flater, и он не «утверждает, что ни один сотрудник никогда не должен делать осмысленных предложений», потому что ОП уже сделал такие предложения, есть такая вещь, как понимание, когда вы порете мертвую лошадь
@motosubatsu: вопрос OP оставляет открытым вопрос о том, правильно ли он сообщил/поддержал причину перехода. Я бы не стал слепо следовать предложению, если оно не подкреплено какой-либо актуальной аргументацией. Есть смысл выпороть дохлую лошадь, но этот ответ опускает эту часть и предполагает, что единственный вариант — уйти, основываясь на том, что «генеральный директор хочет, чтобы вы использовали FileMaker. Вы не хотите».

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