.и в продакшен
2.47K subscribers
9 photos
3 videos
107 links
Фаундер-технарь - канал основателя www.jitbit.com, Alexander Yumashev @jitbit

Как быть CTO/CEO одновременно, как растить bootstrapped-стартапы и прочая айтишечка.
Download Telegram
​​Две моих любимых американских поговорки.

1) The best time to sell is when you don't need to sell.

(это про продажу бизнеса). Красиво и понятно. Держите ее в голове.

Но самая любимая - вторая:

2) You're the average of the 5 people you hang out with.

Окружайте себя крутыми людьми. Быть «самым тупым в комнате» очень полезно для здоровья.

Если смотреть назад, на график наших взлетов и факапов, самые большие скачки наш стартап делал тогда, когда мы с моим СТО - два дибила - вдруг случайно оказывались в гуще крутых людей. На удачной конференции, кампусе, инкубаторе и просто тусовках с теми, кто на голову выше

(и желательно делать это вне зоны комфорта: в незнакомой среде или вообще в чужой стране)

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

И тут мы приходим к третьей охуенной поговорке:

3) There's no silver bullet
Посраться с Apple из-за АппСтора, кажется, становится делом чести для любого уважающего себя разработчика. Сегодня там забанили WordPress (пожалуй, самая популярная в мире CMS), правда, по совсем уж идиотской причине:

iOS-приложение WP позволяет рулить не только своим локальным вордпрессом, но и тем вордпрессом, который хостится на wordpress.COM. А там можно купить себе, например, домен. За который - ну вы уже догадались - Эпл хочет свои 30%.

Коллизия интересна тем, что WordPress - ащета опенсорсный проект. Живущий на wordpress.ORG. А хостинг wordpress.COM - всего-лишь один из "клиентов" этого опенсорса и наверняка вообще другое юридическое лицо.

🍿🍿
​​"Чтобы произвести 1 килограмм говядины в воздух выбрасывается 60 килограмм CO₂"

Ребята из Our World In Data сделали невероятно интересный график - какие продукты дороже всего обходятся экологии. Люблю такие data-driven подходы в неожиданных местах.

Интересно, что у орехов отрицательный баланс дефорестации (обезлесения) потому, что сельхоз-поля превращаются в ореховые леса.

А еще интересно, что транспортные расходы в пищевой цепочке - мизерны. И в следующий раз, когда очередной эко-истерик закричит "спасай планету - ешь продукт локальных фермеров!" плюньте ему в глаза.

PS. кофе как-то слишком сильно вверху... пожалуй, закрою на это глаза )) прости меня, планета

PPS. оригинал тут
​​Есть две категории стартапов:

Vitamin-type product

и

Aspirin-type product

Vitamin
- это такое найс дополнение, ну типа SMM аналитика для маркетингового отдела. Или согласовалка календарей вроде Calendly. Если этот продукт внезапно убрать - бизнес покашляет, но не остановится.

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

В общем, вы поняли. Если оно сломается - компания либо сильно замедлится, либо вообще встанет.

(Впервые термин, кажется придумал Кевин Вонг, VC-шник из долины, который сказал:

“We divide business plans into three categories: candy, vitamins, and painkillers. We throw away the candy. We look at vitamins. We really like painkillers. We especially like addictive painkillers!”
)

Продавайте, в общем, "аспирин", други мои.

PS. Третья категория - "candy" из цитаты выше - тоже может принести миллионы. За примерами смотрим Angry birds или Snapchat... Но (а) напрямую практически не монетизируется (б) сложно взлетает без инвестиций или кикстартера

PPS. На самом деле есть еще четвертая категория - Vaccine-type product - продукты-"вакцины", ценность которых сложно осознать в моменте, но которые сильно помогут в ситуации "все вот-вот ебнется". Примеры - бекап, мониторинг, логгинг и тд.

PPPS. Продукты могут переходить из одной группы в другую за время своей жизни и даже в процессе онбординга: сначала клиент запал на "candy" обложку, потом решил попробовать "витамин", а через полгода обнаружил, что жить без этого не может. И это идеальная воронка для идеального продукта.
​​Запускаете новый проект? Выберите что-то одно:

- либо интересный и инновационный тех-стек

- либо интересный и инновационный продукт

(мысль не моя, подслушано у кого-то на митапе microconf remote с Джейсоном Фридом, когда обсуждали, что "Hey" написан на Руби)

Подписываюсь обеими руками.

Есть даже такое понятие, "innovation budget". Он конечен. Вы и ваша команда потянете только "X" единиц новизны. Больше уже не влезет.

Стильный-модный-молодежный тэкстек быстрее набирает техдолг. И медленнее его решает. Ну и вообще:

If you want to play with a new tech stack, start a side project. Don't start a company.
Последние два месяца пытаемся продать наш софт в Microsoft. Это пиздец.

Ну как "пытаемся".... Это они пытаются купить, а мы от них отмахиваемся, ибо ДИКО ЛЕНЬ.

Знаете, как выглядит продажа софта в большую корпорацию?

(имена изменены хехе)

BigCorp: Здравствуйте, мы хотим купить on-premise версию вашего продукта

Я: Супер, вот ссылка на оплату

BigCorp: Мммммнет... Мы так не умеем. Мы хотим сложнее. Нарисуйте "проформу инвойс". Мы создадим purchase order. Потом пришлите нам вашу форму W9 Потом мы сделаем аудит...

Я: Воу-воу-воу, 5 сек

(ушел гуглить, "proforma invoice", "purchase order")

BigCorp (через неделю):
Ну че там?

Я: (блин, забыл про них) Так, ребята, вот вам другая ссылка, можно купить через этот ваш "purchase order" в два клика. Оплата банковским переводом, чеком, как хотите.

BigCorp: Секундочку....

BigCorp (другой сотрудник): Здравствуйте, мы хотим купить on-premise версию вашего продукта

Я: бляяяяя

BigCorp: Нам все же нужен W9 и W8-Ben, и потом... Нам надо сделать СЕКЬЮРИТИ АУДИТ вашего продукта. Это очень важный СЕКЬЮРИТИ АУДИТ.

Я: да ради бога, вот URL сервиса, трахайте его

BigCorp: Мммммнет.... Мы так не умеем. Мы хотим сложнее. Вот вам ссылка на нашу внутреннюю СИСТЕМУ ОБЩЕНИЯ С ПОСТАВЩИКАМИ. Там надо заполнить опросник на 18 экранов....

Я: штобля?!

Наш CTO в Слэке: Аахаха, я это говно уже заполнял.

Я (в Слэке): как это "уже заполнял"?

CTO (в Слэке): да ты че, они у нас уже три раза этот продукт покупали

Я: дорогой BigCorp, схуяли (зачеркнуто) вы ведь уже наш клиент! Мы все заполняли, вот емейл "Майкл-Из-Другого-Отдела(собака)бигкорп" выясняйте с ним.

BigCorp удаляется подумать

BigCorp (через неделю):
там был чутьчуть другой опросник. И мы нигде не можем найти Майкла. Короче, надо заполнить...

Я (неразборчиво)

BigCorp:
...зарегистрируйтесь в СИСТЕМЕ ОБЩЕНИЯ С ПОСТАВЩИКАМИ, потом поставьте на телефон наш СЕРТИФИЦИРОВАННЫЙ 2FA ГЕНЕРАТОР, потом....

Я (через неделю): я все заполнил.

BigCorp: Но вы в половине пунктов поставили прочерки!

Я: Да. Я устал.

BigCorp: ладно, хер с вами. Итак, мы начинаем наш СЕКЬЮРИТИ АУДИТ! Результаты придут в СИСТЕМУ ОБЩЕ...

Я: да я понял-понял

BigCorp (через неделю): вы прошли СЕКЬЮРИТИ АУДИТ. Мы выявили ДЫРУ которую надо устранить, сообщите сроки устранения, подпишите обязательство, потом предоставьте скриншоты, что все починено, потом...

Я: че за дыра?

BigCorp: Дыра очень, очень серьезная. Секундочку, где наш тестер....

Дармеш Кумар (тестер): У них нет хидера X-Frame-Options.

BigCorp: дада, у вас нету этого... как его... "хидера"...

CTO в Слэке: вот дибилы...

Я: вы же покупаете on-premise версию, все хидеры настройте на своем nginx или что у вас там. Мы специально все убрали, ибо on-prem клиенты юзают софт во все дыры (в том числе внутри iframe)

BigCorp: воу-воу-воу, почему по емейлу? Пишите ответ в СИСТЕМЕ ОБЩЕ...

Я (в Системе Общения): К сожалению в выбранный вами тарифный план не входит кастомная разработка и лигал-сопровождение, вот ссылка на план "Мега-Энтерпрайз" за 100к долларов в сутки, спасибо.
😁1
​​Charge more

Фаундеры очень часто недооценивают свои B2B-продукты. Недооценивают в буквальном смысле - ставят слишком низкую цену. Синдром самозванца в кубе.

"Не могу представить, что кто-то заплатит больше 5-ти баксов за это дерьмо, которое я накодил за две недели"

Мы за 15 лет много раз АБ-тестили цены и с удивлением обнаружили, что цена ВООБЩЕ не влияет на конверсии. Никак. От слова "совсем".

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

2) Цена - это очень сильный (самый сильный) маркетинговый мессадж. Цена в 5 баксов говорит "я говно для нищебродов". Цена в 5 тыщ говорит "эй, парень, а ты уверен, что дорос?"
Позиционирование, битчезз.

3) При цене 5 баксов вы получаете армию школьников, которые будут звонить в саппорт раз в час, а при малейшем косяке оставлять гневные отзывы с 1/5 звезд. При цене в 5000 ваши клиенты спокойны и незаметны.

4) Для B2B-продукта цена не имеет привычной шкалы "дорого-дешево". Она имеет совсем другую шкалу:

"no approval - boss approval - boss's boss approval"

No approval
АКА "могу прям щас купить по корпоративной кредитке и мне ничего за это не будет"

Boss's approval AKA "всплывет отдельной строкой в бюджете, потребует пары встреч, но в целом ок"

Boss's boss approval АКА "чтобы это купить придется запустить ебанистический процесс согласования по всей компании"

В итоге имеем, что, например, во-втором случае покупателю придется пройти примерно одинаковый гемор - что за $100, что за $999. Поэтому лавируем между этими точками.

Ну и конечно, как тут обойтись без статьи Великого Джоела Всея Вселенной https://www.joelonsoftware.com/2004/12/15/camels-and-rubber-duckies/
EA сняли настолько эпичный промо-ролик для "Star Wars: Squadrons" , что на игру уже, в общем, плевать.

Можно я не буду ни во что играть, а просто посмотрю продолжение этого мини-фильма? https://youtu.be/f2VmOqjV_7Q

Ну и раз уж мы про СтарВорз - все же помнят, что через месяц выходит второй сезон "Mandalorian"? Йееей! https://youtu.be/eW7Twd85m2g (трейлер)
​​Немного tech porn...

Последние сутки чиним довольно специфический баг прямо в продакшене.

Вопрос на засыпку: как долго работает вот такой код:

 for (i=0; i<1000000; i++)
thread.sleep(1);

Казалось бы ответ очевиден - миллион миллисекунд или около 15 минут. НЕТ.

Правильный ответ - больше 4 часов.

Wtf?! Cейчас я все объясню)

--

У нас на бекенде есть бекграунд-воркер - огромный цикл while, который бежит по массиву с миллионами элементов и делает с ними всякую арифметику.

Но мы ведь не хотим, чтобы во время этого цикла CPU встал колом на 100% и сервер затупил. Мы хотим, чтобы сервер продолжал жить и работать, "принял себя и стал счастливым".

И что делает среднестатистический Петя-программист? Правильно - Петя радостно втыкает в цикл небольшую паузу и идет домой спать.

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

"Паузы", они же Delay(), они же Sleep() в большинстве операционных систем сделаны на таймерах. Разрешение этих таймеров - 12-15мс. Сделать паузу на 1 миллисекунду нельзя - будет минимум 15.

На большом массиве с миллионом элементов получаем 15ms * 1000000 / 1000 / 60 / 60 = 4.16 - больше четырех часов.

И придя утром на работу Петя видит что? Что его цикл все еще работает - медленно и печально. Джоб, который раньше занимал 7 минут (хоть и грузил проц), теперь работает, сука, полсуток. Но зато на релаксе.

Все сломалось и клиенты уже ставят тикеты в стиле "алебля?!"

(а наш геймдев злобно ржет в голос)

Потому что у них в геймдеве это случается примерно все время. И называется "tight loop/busy loop". И на таймеры полагаться нельзя.

Как быть, куды бечь?

1) Использовать multimedia-таймеры или таймеры из openGL/directX (оверкилл)

2) Троттлиться не на каждом шаге, а раз в N итераций (неэлегантно и костыль)

3) Забить на паузы и юзать волшебную инструкцию Thread.Yield - это такой "вежливый" способ поделиться ресурсами и сказать операционной системе "хей, я все еще занят, но если прям накипело - притормози меня и дай другим поработать" (это лучший способ).

Загрузка в 100% никуда не денется, но на нее будет плевать - все будет ворочаться, а сервер будет быстрым и отзывчивым.

Thread.Yield есть во всех языках:

C#: Thread.Yield

C++: std::this_thread::yield

Win32: SwitchToThread

Java: Thread.yield

Go: runtime.Gosched (кажется)

Visual Basic: DoEvents (шутка! ...хотя не совсем)

Python: time.sleep(0) (на винде time.sleep(0.0001) не спрашивайте, почему... потому что Питон...)

(кстати, не только Питон - довольно многие системные либы понимают, что "sleep(0)" это на самом деле "yield", включая дотнет, posix и winapi)

и тп.

И напоследок гениальный видос, который я уже кидал в наш уютный чатик. Это я вчера:
Самоизоляция like a boss
Стартапчики на митапчиках любят пообсуждать, какова доля везения в успехе стартапа?

150%

Лишние 50% – это те кому повезло, но они все равно все просрали.
Ого, я даже не знал, что есть такая крутая штука...

Если вы задолбались говорить гостям пароль от домашнего вайфая - можно в пару кликов создать QR-код. Наводим на него камеру и телефон джойнится к сети. Работает на любом айфоне и (почти) любом андроиде.

qifi.org <- генерить здесь
Мой приятель Стив МакЛауд позвал меня поболтать в подкаст "Bootstrapped-fm" - про self-funded стартапы, про выживание в конкурентных нишах, про маркетинг и SEO

А еще про то, как платить зарплату кофаундеру и почему предлагать "долю в компании" это самая дибильная идея в мире.

Там всего 30 минут, послушайте в айтюнсе или в спотифае или вообще где угодно

P.S. Обязательная порция оправданий: у меня там дрожит голос, я все время забываю английский, ладошки потеют, а новый микрофон все время падает.
Если кто-то пропустил, с Apple случился большой скандал.

Такой, что я даже как-то теряюсь, с чего начать...

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

- Примерно сутки назад все ломанулись качать новую macOS "Big Sur", качалась она очень медленно, потом вообще повисла, а у тех, кто успел - при установке начали валиться ошибки.

- Потом прилег iMessage, притормозил Apple Pay и еще несколько сервисов - стало понятно, что облако Эпол складывается. Штош, бывает... Сочувствуем тамошним девопсам, лучи поддержки и все такое...

- Но потом случилось самое смешное: у ВСЕХ пользователей Маков (по крайней мере тех, кто на Каталине) перестали открываться приложения. Вообще. Любые. Кроме, кажется, родных эппловских

Оказалось, что при запуске любого приложения Мак отправляет на сервер "ocsp.apple.com" дату, время, сетевые настройки, данные о запускаемом приложении и тп.

И когда сервера Эппл перестали отвечать - почти все Маки мира дружно зависли.

Еще раз: все Маки. В мире.

Это, конечно, фиаско.

Во-первых - потому, что прайваси. Компания долгое время позиционировала себя, как защитника интересов юзера, даже надела белое пальто и показательно послала ФБР, когда те просили вскрыть залоченный айфон... Оказалось, что это просто PR stunt. И Эппл ничем не лучше гулофейсбуков

Во-вторых - ну ептвоюмать, нормально вообще? А нельзя было сделать софт-фейл? У вас там упало, а у нас тут миллионы маков зависли?

В-третьих - компания, которая успешно построила walled garden на айфонах и айпадах, очевидно, очень хочет сделать то же самое на Маках. И эта телеметрия сторонних приложений, и этот новый чип "М1" или как его там - да-да, тот самый на котором не работает докер - это все шаги в эту сторону.

В-четвертых, в Big Sur нашлось много ошибок и несовместимостей, да плюс этот докер неработающий еще...

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

PS. сделайте кто-нибудь стикерпак <<бля, Apple>> (и прочий FAANG туда засуньте)
​​С 30-го ноября MS перестанет поддерживать IE 11 в MS Teams.

С августа 2021 года IE 11 перестанет работать в O365 пруф

Ну раз им можно, то и нам тоже.

(вы даже не представляете, сколько в мире олдскульных банков, страховых компаний и прочих заводов-пароходов все еще сидят на чертовом ИЕ11 из-за ленивых гоблинов-админов)

Господи, неужели дождались 🎉

В связи с этим вспомнилась огненная история, как несколько разработчиков YouTube сговорились и убили IE 6.

TL;DR для тех, кто не читал:

В 2009м году Крис Закариас и еще несколько фронтендеров Ютуба встретились в офисном кафетерии и сговорились тихо протащить в продакшен баннер с надписью "мы сворачиваем поддержку IE6, поставьте нормальный браузер".

(IE6 тогда пользовались 20% людей и он был настоящим адом для фронтов. Верстка едет, скрипты не пашут и никаких "консолей" и "девтулзов" в нем не было)

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

История охуенна еще и тем, что часть программеров Ютуба в свое время провалили собеседования в Гугл, но теперь вернулись в него победителями. Ведь они сначала в честной борьбе закопали сервис Google Video, а потом от безысходности были выкуплены. Поэтому внутри Гугла они быстро превратились в такой элитный squad, и в отличие от остальных хипстеров на кампусе, они странно одевались, бухали, делали татуировки и кодили по ночам.

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

Но самый кайф - это то, как реагировали другие тимы внутри Гугла. Ребята из Google Docs и Gmail стали тыкать своих менеджеров носом в этот баннер - "смотри, им разрешили!" - и тут же делали то же самое.

За неделю с 14 июня 2009 года доля Internet Explorer 6 в мире упала в два раза, IE7 - в полтора.

Спасибо тебе Крис.

Оригинал истории тут
Вчера погиб Тони Шей, ex-CEO компании Zappos (продана Амазону за 1.2 миллиарда), основатель рекламной сети LinkExchange (одна из первых в мире, в 98м году продана Microsoft за 265млн), автор идеи биддинга рекламы на ключевые слова (то, на чем теперь зарабатывает Гугл) и еще много всего.

Но главное, конечно, Zappos.

Тони дико крутой чел, но при этом скромный и приятный парень. Даже став миллиардером он продолжал жить в трейлере (!) на окраине Вегаса. Хотя его идеи уже преподавали в Стенфорде.

Zappos первыми придумали все те фишки, к которым клиенты Амазона сейчас уже привыкли - бесплатные возвраты, безупречная логистика, быстрый саппорт, безоговорочные рефанды и вообще "любовь к клиенту". Тони сделал весь мировой ecommerce таким, какой он сейчас.

Еще он много экспериментировал с HR - в компании не было менеджеров, а сотрудники сами назначали себе зарплаты. Он первым придумал all hands support - когда на вопрос клиента отвечает не обязательно саппортер, а кто угодно - юрист, маркетолог и тд.

А сразу после найма нового человека в поддержку ему предлагали: "уволься прямо сейчас и мы заплатим тебе недельную зарплату + 2000 долларов" (быстрый способ отсеять долбоебов тех, кто не разделяет твои ценности и кого рано или поздно все равно придется выгонять - от тех, кто целенаправленно идет в твою компанию взвесив все плюсы-минусы).

У него много хороших выступлений, вот например (про $2к-бонус он рассказывает на 17:15)

P.S. зацените обсуждение на HN: https://news.ycombinator.com/item?id=25235490 , там в комментах много трогательных историй типа "увидел выступление Тони, бросил работу адвокатом, научился кодить и теперь я CTO"
​​Salesforce покупает Slack за $28 миллиардов

Афигеть

Неплохо для PHP-приложения, а?

У меня много претензий к Слаку (к продукту), но они, конечно, сумасшедше прибыльная компания.

FY2020 gross revenue $630.4m, GAAP gross profit $533.2m

Ну, молодцы наверно...

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

Но 28 миллиардов?!! Мультипликатор - 45х от выручки... Космос.
Так. Если кому нужны инвестиции, наш уютный фонд "для своих" - Tinyseed - в январе набирает следующий батч фаундеров.

Спокойно, это не VC-спам

Это скучный, unsexy акселератор специально заточенный под bootstrapped SaaS. Инвесторы фонда - такие же фаундеры-технари: DHH, Rand Fishkin, Hiten Shah... (и конечно я!! хе-хе) Никаких банков, faang'ов, private equity фондов и прочего сброда.

Механика простая: $120k (если один фаундер, $60k на каждого следующего) в обмен на 10-12% equity. И все. Можно пустить деньги в развитие, а можно положить себе в карман в виде зарплаты.

Обычно такие программы (см. YCombinator) длятся три месяца и заканчиваются demo day, где фаундеры выпрыгивают из штанов, пытаясь получить Series A.

Здесь не три месяца, а год. Никакого demo day нет. Не надо никуда переезжать (фонд в Миннесоте, но все делается удаленно). Не надо любой ценой растить единорога или целиться на "exit", наоборот - сиди и спокойно выращивай прибыльный бизнес. У фонда просто доля. Выйдете в плюс - заплатите дивиденды. Не выйдете - не заплатите.

Такая инвестиция - просто способ снять с фаундера стресс "аааа, на что мне целый год кормить семью, если я уволюсь пилить свой проект??"

Взамен получаете доступ к пулу менторов (зацените список) всех нас можно дернуть во внутреннем Слаке или по емейлу (как и других фаундеров) + регулярные ретриты + перки от AWS и других партнеров, и тп.

Основной критерий - наличие какого-то traction и MRR. Если у вас просто крутая идеи а-ля "the next Facebook" - это вам в Долину.

инфа тут
Фан-факт про двухмиллиардную индустрию новогодних елок:

Оказывается, на елочных фермах деревья собирают ВЕРТОЛЕТАМИ. И как! Просто посмотрите это видео - это же просто офигенно.

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

PS. я расспросил живущего в Штатах приятеля с вертолетными правами - он подтвердил, что вот эти Орегонские tree-harvesters среди вертолетчиков считаются прямо элитой.

PPS. вот тут глазами пилота
В телего-чатах, в твиттере и даже на Хакерньюс народ время от времени интересуется:

"Почему в век единорогов, блокчейнов и Тесл никто до сих пор не сделал облачный MS Access?"

Чтобы подключил свою БД (или АПИ), перетащил на форму кнопочки, текстбоксы и списки - и через час получил простую CRUD-админку - для внутренних задач. Оказалось, что такие тулзы есть.

И я попробовал почти все.

У нас уже есть своя админка, но всегда находятся edge-cases, которые она не закрывает. Типа "глюканул биллинг - клиент поставил тикет - надо подвинуть дату подписки - Вася-кодер или Петя-девопс лезут в базу руками"

Эти кейсы нас дико затрахали. Особенно когда Петя в другом часовом поясе, а Вася вообще фронтендер и не нанимался ssh'иться по вашим дурацким серверам.

Лазить в базу - бесит. Кодить формы - лень. Пока сделаешь формочку, эндпойнт к ней, тесты, деплой... Ой нет, проще уж слазить в базу. Последний разик, обещаю.

Короче, я решил погрузиться в дивный мир "nocode/lowcode", чтобы бах! - и CRUD-админка за 10 минут.

Ниша молодая, устоявшегося названия пока нет. Что гуглить - непонятно. Точно не "No Code", потому что под ним понимается вообще все - от IFTTT до Airtable. Да еще и венчурный хайп вокруг этого термина ухудшает "сигнал-шум".

Пришлось перелопачивать Product Hunt, комменты на Hackernews и поиск а-ля "XXX alternative".

Я нашел примерно с десяток вариантов, который потом сузился до трех: AppSmith, Retool и ForestAdmin.

ForestAdmin - удобный интерфейс, большое коммьюнити, бесплатный на малых объемах. Пароли не хранятся где-то у дяди в облаке - ты ставишь себе контейнер (или npm-пакет), в конфиге прописываешь путь к БД, а их SaaS уже дергает твой сервер. Который в случае сомнений можно быстро потушить.

Минусы: провозился час, но так и не завел. Их онбординг, как потом выяснилось, предполагает обязательный стейджинг на локальной дев-машине (у них тупо захардкожен "localhost" прямо в веб-морде SaaS-продукта) А я, дурак, поднимал EC2, ставил зависимости, заводил бек... Но нажать кнопочку "деплой" можно только пройдя "локальный" шаг. Мне стало лень. Я пришел за модным no code, а мне опять предлагают ковыряться в терминале.

(я пытался вежливо наехать у них на форуме, но мне так же вежливо объяснили, что у них "opinionated product" и не пойти бы мне нахер. Классная отмазка про "opinionated product", это типа такой новый "works on my machine", надо запомнить)

AppSmith - классный, бесплатный, быстрый, опенсорсный, даже hosted-версия бесплатная, они пока сами не придумали, как монетизировать. Живое коммьюнити, на Github-issue отвечают в течении пары часов. Есть коннекторы для любых баз, от Монги до MS SQL Server.

Минусы: продукт уж слишком "живой", постоянно допиливается, доки обновлять забывают, половина ссылок в них не работает, кнопки кидают 500 server error, чинят баг в одном месте - ломается другое... Молодежь, короче. Ну и главный баг - из некоторых баз данных неправильно забираются колонки "DateTime". Пишешь "SELECT Date" - в интерфейс приезжает "int". Ну ептвоюмать. А так красиво все начиналось.

Retool - пока остановились на ней. Добротный коммерческий продукт (есть бесплатный тариф), с нормальными доками и неглючным интерфейсом. Доки вообще классные, много анимированных гифок "ткни сюда, потом впиши команду здесь", на подключение и создание админки ушел час. Работает с любой базой и с кучей API (Stripe и тп).

Минусы: в бесплатном плане всегда включен режим "редактирования" форм, поэтому есть опасность задеть мышкой и что-нибудь грохнуть. Впрочем, платный план всего $10 за юзера.

Из остального попробованы: JetAdmin (вроде ок, но отпугнула поехавшая разметка в демке на сайте), Hasura (оказалось, что это просто GraphQL-генерилка с авторизацией и кешированием) и еще целый зоопарк опенсорсных поделок, которые заточены под какую-то одну БД.

Выводы: ниша молодая, но будет матереть. Опасения типа "все тормозит, потому что база в другом ДЦ" или "wysiwyg и прочий драгдроп в браузерах будет тупить" не оправдались. Самый зрелый продукт - retool, но скоро его порвут. У меня все.
👍1