Должен ли я использовать язык, на котором мне удобнее, или компанию «стандарт»

18

Я собираюсь разработать интранет-сайт для своего конкретного предприятия, и стандартом нашей компании для веб-разработки является IIS + ASP.Net + VB.Net + Microsoft SQL Server (обратите внимание, что у нас более 10 установок). Сайт Интранет будет использоваться только моим заводом, и я единственный, кто будет его поддерживать. Я гораздо опытнее с настройкой LAMP , и я мог бы быстрее разрабатывать и решать проблемы с PHP, чем с ASP.Net. Несмотря на то, что «стандартом» компании является ASP.Net/VB.Net, большая часть деятельности компании в целом заключается в приобретении стороннего программного обеспечения (которое обычно основано на Java ), и очень, и я имею в виду очень мало людей в компания даже знаетVB6 , не говоря уже о ASP.Net/VB.Net.

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

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

  • Опять же, это только для моего завода, и я единственный, кто когда-либо будет поддерживать его, если я не уйду из компании, и тогда моя замена будет поддерживать его. Никто другой уже в компании.
  • В любом случае, компания очень мало разрабатывает свои стандарты.
  • Вряд ли какая-либо из существующих компаний использует программное обеспечение по своему стандарту.
  • Если я выберу стандарт компании, мне придется использовать версию Microsoft SQL Express и ОС Windows 7. Судя по моим прочтениям, версия Express подходит для использования в бизнесе, но размер базы данных ограничен.
Дрю Чапин
источник
25
Ключевое слово здесь - нарушать . Вы выбрали правильное слово, и простое чтение собственного вопроса должно сказать вам, что это довольно глупая идея. Они выбрали стандарт по причине. Если вы не согласны с этим выбором, вам следует официально направить его вверх.
Джоэл Этертон
3
«Я имею в виду, что очень немногие в компании знают VB6, не говоря уже о ASP.Net/VB.Net». Я действительно не вижу, что это имеет отношение к чему-либо. VB6 - уродливый устаревший код - тот факт, что никто не знает, что это действительно хорошая вещь.
DeadMG
1
@DeadMG, проблема в том, что никто из них не знает VB.Net. Итак, какое это имеет значение, какой язык я использую? Им все равно придется нанять кого-то другого, чтобы поддержать его, если я уйду.
Дрю Чапин
3
SQl Server Express поддерживает базы данных до 4 ГБ. Этого обычно достаточно, если это не так, тогда нужна какая-то другая база данных, и вам, вероятно, следует обсудить это с соответствующими людьми (специалист по информационным технологиям, начальство и т. Д.)
Holger
3
@Baboon, да, это не так, как сайты, подобные Facebook, когда-либо использовали бы что-то столь не по-деловому
SWeko

Ответы:

38

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

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

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

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

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

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

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

Дуг Т.
источник
4
+1: вы будете поддерживать это, пока вы там работаете. Однако, если вы уйдете, кто-то еще будет поддерживать его.
unholysampler
1
Это хороший ответ, но я хотел бы добавить, что ОП должен поговорить со своим менеджером о компромиссах, чтобы увидеть, насколько строгими они считают стандарт, и одобрят ли они его / ее использование другого стека для этого проекта.
Майк Партридж
Не думайте, что вы единственный, кто поддержит это : также, таким образом, люди могут повторно использовать код друг друга, вместо того, чтобы заново изобретать колесо каждый раз, когда нам нужно что-то катящееся.
Конерак
2
Самый быстрый способ застрять в позиции - это сделать себя незаменимым. Если вы не можете быть заменены, вы не можете быть повышены.
Бурхан Халид
9

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

Это управленческое решение. Сообщите им о своих опасениях и формально настаивайте на переменах.

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

Фабиан Эредиа Монтиэль
источник
Важно отметить , что в контексте вопроса ( с учетом уровня детализации имеющихся) ASP.NET и PHP являются как правильный инструмент для работы в том , что оба очень способные платформы
Murph
1
ASP.NET, пожалуй, более способный, просто он знает php лучше.
Кевин
1
@Kevin, Единственная причина, по которой я могу утверждать, что ASP.Net более эффективен, чем PHP, состоит в том, что он лучше интегрируется с безопасностью AD / Windows, даже если все еще можно интегрировать PHP с безопасностью AD / Windows. Помимо этого я не видел преимуществ ASP.Net над PHP.
Дрю Чапин
По вашему собственному признанию, вы знаете php намного лучше, так что неудивительно, что вы так сказали бы.
Кевин
8

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

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

Если вы решите использовать стандарт, вы не будете продолжать поддерживать продукт, если (если) появится возможность для продвижения или другого проекта.

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

mattnz
источник
+1 за последний абзац - тем более, что с точки зрения возможностей платформы вы не можете обосновать выбор PHP вместо ASP.NET. Может быть аргумент для изменения стандарта, основанного на возможностях команд разработчиков ...
Murph
5

У компаний есть стандарты по какой-то причине: если существует официально установленный стандарт, в котором говорится, что нужно использовать x, то вам нужно обосновать y.

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

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

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

jmoreno
источник
1
Стандарты компании иногда связаны с маркетинговыми соображениями, а не с эффективностью или техническими соображениями.
Мистер Смит
@Mister Smith Несмотря на это, вам все равно нужно поговорить с вашим менеджером или кем-то, кто обладает полномочиями принимать решения, чтобы проверить эти причины. Смотрите мой ответ на этот вопрос.
Майк Челлини
1
@MisterSmith: действительные маркетинговые причины так же важны, если не больше, чем большинство технических соображений. Если вы не знаете причину, вы не знаете обоснованность причины.
Jmoreno
Да, но, читая вопрос, у меня сложилось впечатление, что у него нет менеджера для этого проекта, и что никто не заботится о соблюдении стандартов. Если бы это было правдой, я не вижу смысла слепо следовать стандартам вместо того, чтобы просто выбирать более известную технологию.
Мистер Смит
@MisterSmith: это не слепое следование стандартам, это слепое следование стандартам компании. Есть разница И если никому нет дела, то должно быть достаточно легко получить разрешение нарушить или даже изменить стандарт.
Jmoreno
2

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

Майк Накис
источник
-1 Это, имхо, ужасный совет. С тем же успехом можно попросить людей написать некрасивый, непонятный, запутанный код без документации (или, что еще хуже: неправильно), чтобы сделать себя незаменимым. Знайте, что если вы сделаете себя незаменимым, вы никогда не сможете продвинуться в компании, но застрянете делать то, что вы делали, и поддерживать свой собственный (дерьмовый) код целую вечность!
Конерак
@ Konerak Ну, ты прав. Я не был серьезно относиться к этому. Я отредактирую свой вопрос, чтобы ты был счастлив.
Майк Накис
Извините, Майк, я не получил иронию;) Я был рад увидеть ответ об обязательном, потому что это дало мне возможность реагировать, и люди читали об этом.
Конерак
1

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

Одной из проблем, которая может привести к скучности работ, было бы, если бы вы ушли, и HR пришлось искать вашу замену. Учитывая, что они либо активно пытаются понять, что вы сделали, и нанимаете в соответствии с необходимыми навыками - или - просто посмотрите на оригинальный документ, в котором описана политика IIS / ASP.NET / и т.д. и слепо нанимать кого-то с этими навыками для поддержки вашего кода LAMP (по принципу «потому что он так говорит»), я думаю, что последний гораздо более вероятен.

Самая простая вещь (в долгосрочной перспективе) - это сделать то, что рекомендовал fabianhjr, и изменить стандарт. Измените его, чтобы включить Microsoft и LAMP, если они устойчивы к полному переключению.

jonsca
источник
фактически официальная публикация моей работы не требовала никаких знаний в области программирования / веб-разработки.
Дрю Чапин
1
@druciferre Все больше причин для того, чтобы все переделывать. Если этот проект станет большой частью вашей ответственности за работу, и в некоторой степени они могли бы переназначиться на основе вашего первоначального описания работы, они бы подошли к руслу (не то, что вам придется позаботиться об этом, но только для их ради).
Джонса
1

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

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

Помимо языка, вы должны рассмотреть внутреннюю поддержку для сервера LAMP. Кто собирается администрировать Apache? Как насчет MySQL? Программное обеспечение компании работает на другой базе данных? Будут ли администраторы готовы администрировать новую платформу. Даже если вы планируете управлять этими службами, обязанности могут в конечном итоге упасть на кого-то другого. Если вы планируете администрировать сервисы, позволят ли вам сетевые администраторы или серверы?

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

Майк Челлини
источник