Найти тему
Small Entropy

StartUp эйфория

Оглавление
Startup. Источник Яндекс.Картинки
Startup. Источник Яндекс.Картинки

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

Ну и немного о том, откуда я знаю состояние рынка - я достаточно часто провожу собеседование и активно работаю с соискателями разного уровня. В том числе на должность junior разработчика. И то, что я вижу каждый день - просто пугает. Если раньше я нанимал человека и мог требовать понимание технологии уже на базовом уровне, то сегодня - вынужден смотреть, может ли человек в принципе понять IT и его паттерны.

Ниже привожу проблемы, которые повлияли на ситуацию на рынке. Для ленивых - вывод будет простой: "Рынок не здоров. И будет только хуже. Бизнес сам себе наступил на гениталии и не может слышать проблем".

Хипсторы в IT

Хипсторы. Источник - Яндекс. Картинки
Хипсторы. Источник - Яндекс. Картинки

Когда-то знание языки Си - была стандартом для рынка. Считалось, что человек который учился программированию на таких языках как Basic - потерян для профессии, так как он не понимает как работает ПО и знает только абстракции высокого уровня.

С ростом популярности IT и улучшения средств разработки бизнес пришёл к простой и понятной аксиоме: "Лучше сделать быстрее и начинать продавать первым, чем сделать хорошо и опоздать".

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

Почему так получилось:

  1. Добились успеха компании, продукты которые были собраны буквально на коленке. Успех Uber, Facebook и подобных продуктов стимулировали появления какого-то подобия "золотой лихорадки". Сегодня люди не мечтают сделать хороший продукт, который сделает их "королями" рынка. Они мечтают собрать прототип и найти инвесторов, которые сделают их богатыми.
  2. Стартаперы часто не понимают процесс разработки и IT. Чаще всего - это люди, которые знают пару странных ребят, которые сидят вечно за компьютером и делают что-то не понятное. У них нет принципов Силиконовой Долины ("Хорошему продукту не нужен маркетинг - он будет продавать себя сам"), они взрощены инфоцыганами поколения SMM. Им не нужен продукт. Они продажники, а не созидатели. Они хотят быстрее продавать.
  3. Среди инженеров культивируется больная культура разработки (можете почитать об этом тут).
  4. Работать в IT стало просто много. Открылось море курсов инфоцыган от IT, которые обещают получение знаний для трудоустройства, большие зарплаты. На фоне дестабилизации рынка труда и повышения интереса из-за COVID19 - на рынок хлынуло море "непрофильников", которые прошли курсы "программирование для чайников" и просят деньги сопоставимые с людьми, которые учились на IT специалистов.

Основной причиной я бы назвал пункт 2, который и стал следствием дальнейшего коллапса рынка. Я бы назвал, что сегодня мы пришли к этапу всемирного Упрощения, подобно героям книги "Гимн Лейбовицу".

Быть бородатым инженером и понимать сложное, делать качественно - стало не модно, не востребовано. Собирать прототипы из "фекалий и пало" - то, что нужно, чтобы быть успешным специалистом. Глубина знаний не имеет значения. Главное - скорость, с которой можно начать продавать.

Как на это отреагировал рынок? Правильно, дал инструменты.

Лучшее враг хорошего

Ребёнок собирает кубики. Источник - Яндекс.Картинки
Ребёнок собирает кубики. Источник - Яндекс.Картинки

Почему многие программисты с хорошим бекграундом любят такие языки как Lisp, C, Erlang, Smalltalk, Ocaml?

Они простые. На самом деле простые. Чтобы писать на них - не надо изучать большое количество сложного материала, язык "растёт" вместе с потребностями программиста, предлагая решение проблем и задач, когда специалист доходит до уровня таких работ. Просто нужно временами смотреть в стандарте языка, как решить задачу.

Минусы хороших языков

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

А ещё на мощных языках не так много "батареек". Большая часть задач решается не установкой пакетов, а стандартными средствами языка/стандартной библиотекой. Простой пример - Common Lisp и почти полное отсутствие на нём ORM. Зачем она, когда у языка мощная система макросов, которая позволяет написать генераторы SQL?

Что же нужно компаниям?

Чтобы вчерашний выпускник курсов "для чайников" смог сделать "болванку" проекта, который можно продавать инвестором. Желательно - минимальное знание синтаксиса языка и возможность собирать из кубиков. Главное - быстрее продавать, а не делать качественно. "Кто первый, того и тапки".

Что получают в результате пользователи?

Однотипный интерфейс назовём унификацией и будем убеждать пользователей, что так будет удобнее (такое имеет место быть, но далеко не всегда).

UI/UX инженеры - это долго, дорого и замедлит скорость выпуска продукта. Поэтому от их услуг отказываемся, берём какой-нибудь "материальный дизайн" и тулкит заточенный под него. Любая кастомизация пойдёт под нож.

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

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

Неутешительные итоги

Печальный котик. Источник - Яндекс.Картинки
Печальный котик. Источник - Яндекс.Картинки

Как итог - мы имеем рынок, который наводнён продуктами низкого (то, что раньше называлось pre-alpha), с отвратительным UI и туманными перспективами по доработкам (ведь цель - не сделать хорошо, а сделать доходным).

В своё время, один из авторов SICP сказал, что перевод курса на #Java - был худшим, что было с образованием программистов. После введения #Python он забрал свои слова назад.

Сегодня, когда я собеседую человека по Python, JS или другой модной технологии, то стал узнавать - что он ещё знает. Если человек пишет на #Django и только на нём - сразу в утиль, мне не нужны микросервисы, инфраструктура которых стоит дороже процесса разработки.

Знает frontend фреймворки, но не понимает как работает var? \Туда же - он не программист на JS, а кубикоскладыватель на React, Vue, etc.

Получается - IT рынок сегодня имеет гораздо более лучшие инструменты, чем лет 13 лет назад, когда я только начал работать. Но в то же время - качество разработчиков стало ниже, т.к. в IT культивируется не здоровая культура разработки (подробнее можно почитать тут), мода на те или иные технологии, языки.

Простите, за то, что статья не столь содержательная. Я пытался.