Основно ръководство за избора на подходящ технологичен стек за работа с клиенти

Снимка на Робърт Анаш на Unsplash

Разбирането на въздействието на избора на подходящ технологичен стек е основен фактор за успех за разработчиците на свободна практика. Това ръководство изследва ключови въпроси, на които трябва да отговорите, когато избирате най-добрите технологии за приложението или уебсайта на клиента си. Настоятелно ви призоваваме да я прочетете, преди да прескачате небрежно върху най-новата рамка на JavaScript.

Както повечето разработчици, които имат малко опит, знаят, че изграждането на софтуер в професионален план не се състои само в бързата доставка. Освен това става въпрос за оптимизиране на поддръжността, мащабируемостта и сигурността и нивото на всеки зависи от бизнеса на клиента.

Правилният анализ на проекта ще диктува кои технологии трябва да използвате, а не обратното. Този прост принцип ще насърчи страхотни, дългосрочни бизнес отношения.

Въздействието на вашите технологични избори ще се усети на почти всеки слой от бизнеса - от HR към финанси, от управление до маркетинг. Липсата на визия може да съсипе репутацията ви - актив, който никой не трябва да прави компромиси.

За да съставим следния списък, ние интервюирахме старши разработчици на свободна практика относно важните въпроси, които си задават, преди да напишат един ред код. Разделихме резултатите в 3 блока: разбиране на проекта (бизнес перспектива), избор на стека (техническа перспектива) и предаване на факела (HR перспектива).

Да започваме.

Разбиране на проекта

Задължително е да разберете визията на продукта, бизнеса на клиента и срока на проекта.

Какъв е обхватът, бюджетът и срокът на проекта?

Вашият клиент има нужда от всичко, доставено за 2 седмици, за да оцелее, или това е дългосрочен проект, който изисква стабилност и максимална поддръжка?

Трябва да знаете:

  • Кога трябва да се достави?
  • Колко от часовете ви могат да платят?
  • Какъв е очаквания резултат?

Отговорите ще определят грубата рамка за следващите въпроси. Това е също много добър начин да разберете дали вашият клиент има реалистични очаквания преди да започнете (за повече информация относно сигналите за идентифициране на ужасни клиенти, прочетете тази публикация).

Това е едновременен или дългосрочен проект?

Краткотраен проект, който ще бъде незабавно претърпен след събитие или определен етап, не трябва да се подхожда като проект, дълъг десетилетие.

Няма смисъл да преразглеждате архитектурата на прототип - това е просто чудесен начин да се хаби ценния бюджет. От друга страна, ако клиентът планира да наеме 20 разработчици през следващите 5 години, за да повтори вашата кодова база, ще трябва да изградите стабилни стълбове по широко тествани технологии.

Могат ли да се справят с техническия дълг?

Клиент, който е подложен на натиск да генерира приходи, ще толерира малко технически дълг, за да стигне до пазара ASAP. Ако събирането на маркетингови данни е основната цел, те няма да се грижат за непрекъсната интеграция и процент на покритие на теста. Бизнес цели първо, технически цели второ.

Тук може да се наложи малко образование. Ваша отговорност е да ги накарате да разберат последиците от натрупването на технически дълг в дългосрочен план. Демонстрирането на такава прозорливост е добър начин за изграждане на доверие.

Колко сигурно е необходимо?

Сега помислете за полето на дейност на клиента си за секунда. Има вероятност чувствителността на техните данни да варира, нали? Е, технологиите, които ще изберете, трябва да отразяват тази уникална реалност. Няма да ви трябва 4096-битова RSA и DDoS защита за уебсайта на местния фестивал.

Но интегрирането на експериментален плъгин с известни подвизи за приложение, хостващо финансова информация? Малко рисковано, приятелю.

И все пак, нишка леко, когато става дума за клиенти, обсебени от сигурността. Някои от тях чуват истории на ужаси извън контекста, които ги поддържат през нощта:

„Но съм убеден, че тези руски хакери, които съм виждал по телевизията, ще откраднат пощенския списък на нашия ресторант.“

Не, скъпи клиенти. Вероятно няма да

Мога ли да се справя с проекта?

Избирането на проект, който е над вашето ниво на умения, почти сигурно ще се окаже в каша.

Вашите необразовани избори ще натоварят работния процес и важни етапи ще бъдат пропуснати. Не бъдете безразсъдни с парите на клиента си - правните последици никога не са твърде далечни.

Ако имате някакви съмнения относно способността си да изпълните проект, уверете се, че сте направили своите изследвания, преди да се качите на борда.

Избор на правилния стек

Сега да преминем от загрижеността за управление на проекти. Нека да поговорим за това, което наистина има значение: стека. Избирането на правилните технологии трябва да идва съвсем естествено, ако имате малко опит и ясна визия за това, което трябва да изградите.

Как не мога да кодирам?

Стотици рамки и хиляди плъгини се поддържат от активни общности на разработчици. Не губете ценното си време, преработвайки нещо, което вече е полирано през годините.

Може би дори не се нуждаете от сървър! Щедрите и страстни хора се опитват да улеснят работата ви - не пренебрегвайте техните усилия. Преосмислянето на колелото е глупаво.

Времето за разработка винаги трябва да се фокусира върху това, което прави проекта уникален: персонализираната бизнес логика. Преди да напишете един ред код, уверете се, че той добавя стойност към проекта.

Това е Overkill или Under-powered?

Клиентът ви планира да продава тениски по поръчка на местни клиенти чрез малка електронна търговия? Не се нуждаете от висока наличност, балансирано натоварване, клъстериран, без SQL механизъм за кеширане на предния край, готов да подкрепи милион едновременни клиенти. Това би било като преместване от вашия апартамент с товарен кораб.

От друга страна, опитите да свалите бик с прашка не е много ефективно. Клиент, който планира да продава хиляди артикули ежедневно, ще ви възмути за избор на безплатно CMS решение, разположено на евтин екземпляр.

Изберете правилния инструмент за работата.

Добре ли са документирани и подкрепени тези технологии?

Копаенето в японска кодова база без коментари, защото тайнственият плъгин изведнъж спря да работи не е най-добрият начин да прекарате нощ. Уверете се, че има активна общност около всяка избрана от вас технология. Ако последната актуализация на хранилището е била преди 4 години, бъдете притеснени.

Това усещане за безпомощност, когато получите 3 безполезни резултати от Google за вашия технически въпрос, е още по-лошо, когато клиентът ви крещи по телефона.

Разбирам ли рисковете, свързани с новата технология?

Тази тенденция на HackerNews вероятно не е била тествана правилно. Може да се почувствате остър, за да го използвате като централен стълб на производствен проект, но просто знайте, че той добавя много ненужен външен риск.

Ако все още се чувствате небрежни, поне експериментирайте с него, за да знаете дали той поддържа случаите на използване на вашия клиент. Те няма да се грижат вашата рамка да получи 300 гласа, ако трябва да я промените в деня преди важен етап.

Предаване на факлата: това не е само за вас

източник

Не обичам да го разбивам по този начин, но клиентът ти не иска да разчита на теб завинаги. Разбира се, вашият стек може да е здрав, добре документиран, сигурен и светкавичен.

Но ако само малка общност от разработчици по света знае как да накара да работи, вие създавате безизходица. Клиентите мразят задънените пътища.

Ще успеят ли да намерят разработчици, които да работят с вашия Stack?

Възможно е, защото вече не можете да работите с тях, или защото те искат да мащабират екипа, или може би искат да репатрират вътрешно усилията за развитие. Но в крайна сметка клиентът ви ще се нуждае от друг разработчик, който да натисне код към кодовата база.

Ако трябва да преминат през всеки един борд за работа в света, за да намерят един разработчик с конкретна експертиза, познайте кой ще бъде обвинен?

Ще имат ли пари да платят за такива разработчици?

Ако единствените хора, които могат да наемат, за да работят на вашия прекалено сложен технологичен стек, са скъпи гурута с 20-годишен опит, може би е по-изгодно някой друг да направи всичко с основните технологии.

Не виждайте тунелните усилия за развитие, не става въпрос само за вас.

заключение

Надяваме се, че тази кратка статия ще ви помогне да избегнете ужасни истории, стресиращи нощи и неудобни дискусии. Прибързването на технологичните решения, преди да отговорите на ключови въпроси, няма да ви спести време в дългосрочен план. Това е опит в говоренето.

Отделете време, за да прецените правилно ситуацията, дори ако чувствате, че вече отваряте IDE или редактора на кода.

Щастливи клиенти = Повтаряне / насочване на бизнес = По-малко усилия на Bizdev = Разработване на повече време.

Забележка: Този пост беше създаден в тясно сътрудничество с Филип Барклай, мой добър приятел. Фил от години произвежда дигитални продукти и сега строи страхотни неща в Mirego и Picks.

Кажете ни, ако сме пропуснали някакви ключови въпроси в коментарите!

Първоначално публикуван в блога Snipcart и споделен в нашия бюлетин.