В предыдущей части этой еженедельной серии статей Архитектура Premier HealthTech в Лондоне: часть I мы изучили результаты нашей работы. Достижение более 15 000 клиентов и отличный рейтинг на TrustPilot в течение чуть более шести месяцев с момента запуска.

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

Какой стек/язык лучше всего подходит для моего стартапа?

Сначала это кажется довольно невинным вопросом. Некоторые инженеры могут забежать вперед и назвать Django или Python лучшим выбором. Другие будут решительно защищать другой, начиная от Ruby и заканчивая PHP, JavaScript и даже Go и Rust. На всякий случай добавьте немного Haskell.

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

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

Без сомнения, старший инженер JavaScript со временем научится профессионально работать с кодовой базой Python или Go или наоборот. Тем не менее, вы должны учитывать, не принесет ли снижение производительности переквалифицированного инженера больше вреда, чем пользы, особенно в условиях сжатых сроков.

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

Глядя на CHT, Covid Home Test, мы запустили и добились экспоненциального роста более чем 15 000 клиентов примерно за полгода. Хотя технология, стоящая за платформой, впечатляет, ее всегда можно улучшить, имея достаточно времени и ресурсов.

В качестве упражнения для размышлений: если бы CHT потратила шесть месяцев только на разработку, что является вполне нормальным сроком для запуска MVP большинства стартапов, мы потеряли бы более 15 000 заказов из-за других более динамично развивающихся конкуренты. К сожалению, это путь, по которому идут многие стартапы, тратя слишком много времени на создание решений, но слишком мало времени на оценку их жизнеспособности в реальном мире.

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

В результате неизбежно получается мощная распределенная разработка программного обеспечения, объединяющая опыт инженеров, работающих с Python, JavaScript и Ruby. Каждый из этих языков занимает первое место в нашей многосистемной координации, обрабатывая обширную сеть компактных оптимизированных микросервисов.

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

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

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

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

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

На следующей неделе мы расскажем, как проектировать безопасные, мощные и распределенные микросервисы, включая конвейеры CI/CD, глубоко интегрированные в рабочий процесс каждого разработчика.

Узнайте больше о Covid Home Test

Предыдущий пост: Архитектура лондонского поставщика медицинских технологий на дому: часть I

Вы хотите присоединиться к одной из самых быстрорастущих компаний в области здравоохранения в Лондоне? Мы ищем блестящих инженеров, свободно владеющих Python и JavaScript. Смотрите наш портал открытых вакансий.