Чи варто використовувати мову, якою мені найбільше подобається, або компанію «стандартну»


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 та ОС Windows 7. З моїх читань, версія Express нормальна для використання в бізнесі, але розмір бази даних обмежений.

25
Ключове слово тут - порушення . Ви вибрали правильне слово, і лише прочитавши власне запитання, вам слід сказати, що це досить німа ідея. Вони обрали стандарт не просто так. Якщо ви не згодні з цим вибором, вам слід офіційно направити його вгору.
Джоел Етертон

3
"Я маю на увазі дуже мало людей у ​​компанії навіть знають VB6, не кажучи вже про ASP.Net/VB.Net." Я насправді не бачу, що це стосується нічого. VB6 - це некрасивий спадковий код - той факт, що ніхто не знає, що це дійсно гарна річ.
DeadMG

1
@DeadMG, Проблему там ніхто з них не знає VB.Net. Отже, що неважливо, якою мовою я користуюся? Їм все одно доведеться найняти когось іншого, щоб підтримати це, якщо я поїду.
Дрю Шапін

3
SQl Server Express підтримує до 4 ГБ баз даних. Цього зазвичай достатньо, якщо його немає, тоді потрібна якась інша база даних, і ви, мабуть, повинні взяти це з відповідними людьми (IT guy, начальниками тощо)
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. Оскільки ви вирішили не дотримуватися стандартів компанії, це буде вашою проблемою, що ніхто більше в компанії не може підтримувати ваш код.

Якщо ви вирішите скористатися стандартом, ви не несете відповідальності продовжувати обслуговувати продукт, коли (якщо) з’явиться можливість просування чи іншого проекту.

Інший спосіб поглянути на смішну аналогію. Я переїжджаю в країну, де вони їздять ліворуч, однак я набагато більше звик їздити праворуч, я вважаю за краще їздити праворуч, через це я краще в ньому і можу їхати швидше. Чи слід їхати праворуч?


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

5

У компаній є стандарти з причини, якщо існує офіційно визначений стандарт, який говорить про використання x, то вам потрібно обґрунтувати y.

Це не означає, що ви не можете використовувати y, це означає, що ви повинні зрозуміти міркування, що стоять за стандартом, і отримати схвалення, перш ніж його порушувати.

Можливо, після того, як ви зрозумієте, чому ви більше не хочете його порушувати, можливо, ви побачите, що його потрібно змінити або списати, або що він не застосовується в цьому випадку, так що використання y не є проблемою.

Якщо воно застосовується, то, якщо ви не зможете змінити його, слід дотримуватися його. Стандарти компанії не зовсім на одному рівні з прямими замовленнями, але ваш роботодавець розумно очікує, що ви будете слідувати обом, якщо вони не порушують закон.


1
Стандарти компанії іноді пов'язані з маркетинговими причинами замість ефективності чи технічних міркувань.
Містер Сміт

@Mister Smith Навіть так, вам потрібно все-таки поговорити зі своїм менеджером чи кимось, хто має владу прийняття рішень, щоб перевірити ці причини. Дивіться мою відповідь на це питання.
Майк Челліні

1
@MisterSmith: вагомі причини маркетингу так само важливі, якщо не більші, ніж більшість технічних питань. Якщо ви не знаєте причини, ви не знаєте обґрунтованості причини.
jmoreno

Так, але читаючи питання, у мене склалося враження, що немає менеджера над цим проектом, і ніхто не переймається питаннями дотримання стандартів. Якби це було правдою, я не бачу причин сліпо слідувати стандартам, а не просто обирати більш відому технологію.
Містер Сміт

@MisterSmith: Це не сліпо слідувати стандартам, це сліпо слідувати стандартам компанії. Є різниця. А якщо нікого не цікавить, то це повинно бути досить легко отримати дозвіл на порушення або навіть зміну стандарту.
jmoreno

2

Все залежить від того, звільняєтесь ви чи ні. Якщо ви збираєтеся звільнити, не робіть цього. Якщо ви не збираєтеся звільнятись, то, безумовно, продовжуйте це робити.


-1 Це, імхо, страшна порада. Ви також можете сказати людям писати некрасивий, незрозумілий, затуманений код без жодної (або ще гірше: неправильної) документації, щоб зробити себе незамінним. Знайте, що якщо ви зробите себе незамінними, ви ніколи не зможете просуватися в компанії, але зациклюйтеся робити те, що ви робили, і зберігати свій власний (шалений) код на віки!
Конерак

@Konerak Ну, ти маєш рацію. Я не ставлюся до цього серйозно. Я відредагую своє питання, щоб залишити вас щасливими.
Майк Накіс

Вибачте, Майк, я не отримав іронічної частини;) Я був радий бачити відповідь про незамінну, тому що це дало мені можливість реагувати, і люди будуть читати про це.
Конерак

1

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

Одна з проблем, яка могла б перешкодити роботі, полягала б у тому, як ви виїжджаєте і HR доводиться шукати заміну. З огляду на те, що вони або активно намагаються зрозуміти, що ви робили, і наймайте відповідно до необхідних навичок - або просто подивіться на оригінальний документ, який специфікував політику IIS / ASP.NET / тощо. і сліпо наймайте когось із цими навичками, щоб підтримувати ваш код LAMP (за принципом "тому, що це так говорить"), я думаю, що останній є набагато більш імовірним.

Найпростіше (з часом) зробити те, що рекомендував fabianhjr, і змінити стандарт. Змініть його, щоб включити як Microsoft, так і LAMP, якщо вони стійкі до повного перемикання.


фактично офіційна публікація для моєї роботи не вимагала жодних знань з програмування / веб-розробки.
Дрю Шапін

1
@druciferre Тим більше причин поважати все тоді. Якщо цей проект стане значною частиною вашої посадової відповідальності і виникли певні випадки, коли вони перейдуть на основі вашої оригінальної характеристики роботи, вони будуть витікати (не те, що вам доведеться піклуватися в цей момент, а просто для заради них).
jonsca

1

У цьому випадку потрібно слідувати стандарту. Якщо стандарт, схоже, не застосовується, вам потрібно поговорити зі своїм менеджером про те, як це зробити іншою мовою.

З усіх стандартів, яких слід дотримуватися в розвитку, я особисто вважаю, що вибір мови є найважливішим . Ігноруючи стандартний вибір мови на користь одного, вам зручніше, якщо колеги та / або спадкоємці залишають струмок без весла, оскільки вони можуть не мати навичок працювати над вашим проектом. Рішення щодо найму компанії засновані на виборі мови, тому такі рішення можуть мати великий вплив. Введення ще однієї платформи / мови може змусити компанію потрапити до місця, коли вони почнуть наймати інших людей.

Крім мови, ви повинні врахувати внутрішню підтримку сервера LAMP. Хто збирається адмініструвати Apache? Як щодо MySQL? Чи працює програмне забезпечення компанії на іншій базі даних? Чи будуть адміністратори готові адмініструвати нову платформу. Навіть якщо ви плануєте адмініструвати ці послуги, обов'язки можуть врешті-решт лягти на когось іншого. Якщо ви плануєте адмініструвати послуги, чи дозволять адміністратори мережі / сервера робити це?

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.