Получи случайную криптовалюту за регистрацию!

.и в продакшен

Логотип телеграм канала @devfounder — .и в продакшен И
Логотип телеграм канала @devfounder — .и в продакшен
Адрес канала: @devfounder
Категории: Бизнес и стартапы
Язык: Русский
Количество подписчиков: 2.50K
Описание канала:

Фаундер-технарь - канал основателя www.jitbit.com
Как быть CTO/CEO одновременно, как растить bootstrapped-стартапы и прочая айтишечка. НЕТ, РЕКЛАМУ КУПИТЬ НЕЛЬЗЯ, ЗАЕБАЛИ

Рейтинги и Отзывы

2.00

2 отзыва

Оценить канал devfounder и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

0

3 звезд

1

2 звезд

0

1 звезд

1


Последние сообщения 3

2021-07-19 19:48:02 У всех так пригорело от поста Тонского (см выше), что Никиту в комментах почти распяли, а сам он даже начал отползать с извинениями.

Между тем Кортланд Аллен недавно позвал в свой подкаст "Indie hackers" Андрея Азимова - живущего на Бали парня, который кодить почти не умел и продукты делал настолько "на коленке", что волосы шевелятся.

Когда он писал свою тулзу "year in progress" - Андрюха не знал, как сделать в макоси прогресс-бар. Поэтому он нарисовал сто (!) картинок от 1% до 100% и написал сто if-ов

if (x==1) нарисовать 1.gif

(это буквальная цитата из его рассказа, я так ржал, что почти врезался в человека на пробежке)

От такого кода у любого уважающего себя синьора, конечно, вытекут глаза. Андрей, между тем, зарабатывает $10к в месяц, выигрывает "ProductHunt Maker of the Year" и сам над собой хохочет.

Когда он строил какой-то очередной сайт-поделку, он не умел в базы данных. Поэтому засунул все в google sheets и за пару дней наговнокодил скрипт (на php конечно) который забирает контент по API и пихает в HTML. После чего почесал репу и создал из этого красивый продукт https://www.sheet2site.com/

(на этом месте вытекли глаза не только у сеньоров, а вообще у всех продактов/стартаперов)

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

P.S. подкаст тут (там сверху ссылки itunes/spotify и тд.) - на английском, но Андрей говорит ОЧЕНЬ понятно с нашим родным акцентом. Реально послушайте, очень вдохновляющая, добрая и открытая история. А Андрюхе респект и лучи поддержки.

UPDATE: Sheet2Site недавно был продан. Учитывая выручку (120к в год) и текущие мультиплкаторы (4-5х), продан где-то за 400-500тыс.

Ма. Ла. Дец.
1.1K viewsedited  16:48
Открыть/Комментировать
2021-07-14 16:02:34 В комментах к предыдущему посту спросили, неужели я настолько хорошо рисую интерфейсы, что мое «дешевое» время как дизайнера настолько эффективно, чтобы заниматься им вместо «дорогого» кодинга? Отвечаю.

Во-первых, ребята, очнитесь. Время дизайнера не «дешевое», это самое дорогое время, которое в разработке продукта вообще может быть. Всем глубоко пофиг и насрать, что там у их ежедневных программ под капотом: лапша, не лапша, монолит или микросервисы, электрон или позитрон, json или xml, хаскель или джаваскрипт, стратегия или фабрика. Вот серьезно, мем с Райаном Гослингом, объясняющим девушке на вечеринке.

А на то, как продукт выглядит и как работает – нет, не пофиг. Неправильно поставленная кнопка может буквально разорить компанию. Сложная навигация — похоронить продукт. Неприятный визуал — сдержать рост. Я уж не говорю про просранные пользовательские сценарии или, прости господи, про левую идею продукта.

А баги — ну, а что баги? Любую мартышку посади, она будет разгребать тебе жиру и фиксить, если что-то серьезное. Вы же не думаете, что нужно каким-то особо умным быть, чтобы этим заниматься? Занудным, да, склонным к монотонной работе — тоже да, но только и всего, ум тут не особо нужен.

И я так же надеюсь, что вы не думаете, что вот те самые продукты, зарабатывающие «серьезные» миллиарды, что из этого каким-то причудливым образом следует, что у них под капотом тоже что-то серьезное? Да самый скучнейший на свете код там под капотом, а программисты, которые его написали — самые взаимозаменяемые люди на свете. А вся разница между джуном и сеньором сводится к тому, что сеньор ворчит больше, делает меньше, обходится дороже и носит пончо.

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

Что не отменяет того, что программировать я по-прежнему очень люблю и, хочется думать, умею. Просто не надо думать, что это имеет какую-то глобальную ценность для кого-то ещё кроме меня.

Во-вторых, по фактам. У любой программы, которой вы пользуетесь, есть интерфейс. Да, даже у CLI утилит.

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

Ну а дальше сама польза продукта может быть настолько высокой, что люди закроют глаза на проблемы интерфейса и будут им пользоваться скрепя зубы. Мы все знаем такие примеры: Git, Kubernetes, JavaScript. Такие продукты можно пересчитать по пальцам одной руки.

Дальше собственно вопрос, на что вы собираетесь делать ставку: на то, что вы случайно найдете того самого золотого гуся (которых, вообще-то, единицы, даже не десятки) среди триллионов возможных идей и всем будет пофиг на интерфейс? Звучит это как разумная, рациональная стратегия?

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

Я уж молчу про то, что умение рисовать интерфейсы делает код лучше. Потому что в дизайне кода все те же принципы, что и в дизайне UI: коммуникация, потребности, человеческие ограничения, эргономика. Да и вообще, полезно хоть немножно что-то про людей понимать, даже если код пишешь — коллеги-программисты, в конце концов, они ведь тоже немножечко люди.

А, ну и отвечая на исходный вопрос. Нет, я не хорошо рисую интерфейсы. Но это не значит, что этим не нужно заниматься.
428 views13:02
Открыть/Комментировать
2021-07-14 16:02:34 Золотые слова.
516 views13:02
Открыть/Комментировать
2021-07-02 14:27:28 "Copy-paste driven development" выходит на новый уровень: https://copilot.github.com/ P.S. Анонс тут P.P.S. помните, MS вложила в OpenAI миллиард долларов и получила эксклюзивные права на GPT-3? Это, видимо, первые плоды. Теперь код за нас пишет машина.…
1.1K views11:27
Открыть/Комментировать
2021-06-29 18:38:40 "Copy-paste driven development" выходит на новый уровень:

https://copilot.github.com/

P.S. Анонс тут

P.P.S. помните, MS вложила в OpenAI миллиард долларов и получила эксклюзивные права на GPT-3? Это, видимо, первые плоды. Теперь код за нас пишет машина.

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

Джоел в легендарном посте Things you should never do в свое время сформулировал фундаментальную проблему всей разработки:

Писать код проще, чем читать

А с этой штукой придется, как раз, читать... Постоянно проверяя, что же там накодил вселенский разум. А читать программисты не любят и не умеют. В общем вангую, что это так и останется прикольной игрушкой. Или нет?
804 viewsedited  15:38
Открыть/Комментировать
2021-06-25 12:25:17 Минутка tech porn.

У нас огромная multi-tenant реляционная база данных. Таблицы по 200 ГБ - рехнуться, если честно. При этом для multi-tenant архитектуры мы юзаем самую тупую модель - "Pool" - это когда во все таблицы добавляется ключик "tenant_id". Модель неэффективная, но зато простая в реализации и поддержке.

(кстати у AWS пролетала классная дока про дизайн multi-tenant систем, где разобраны все варианты, мастрид для всех CTO)

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

И тут нам пришло Великое Озарение [sarcasm], которое рано или поздно приходит любому DBA - о том, что основная работа всегда ведется с "верхушкой" данных. А огромный "long tail" всегда лежит мертвым грузом и нахуй не нужен юзается только в отчетах.

Первая мысль - надо сделать "вертикальный" партишенинг. Т.е. "старые" данные спихивать куда-то за горизонт (на отдельный диск или даже сервер), а "активные" данные держать где-то под рукой.

Мысль правильная, но нет.

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

Я уже слышу крики из зала: "шардинг", "кликхаус", "разделяй OLTP и DWH". И прочий оверинжиниринг. Сразу нет. У нас есть self-hosted версия, которая должна заводиться в один клик даже у домохозяек. Хотелось простой хак, который решит все проблемы одной строчкой.

И тут я случайно вспомнил про офигенный читкод - фильтрованные индексы. Ведь по умолчанию индекс делается по всей таблице. Но зачем, если можно индексировать только 0.1%?

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

Что делает DBA-джун? Создает индекс по этой колонке. Чтобы, значит, поиск незакрытых тикетов был быстрым и классным.

CREATE INDEX myIndex
ON messages (processed)

Что делает прошаренный DBA-синьор? Создает еще "filtered index" с этим условием

CREATE INDEX myIndex
ON messages (column1, column2...)
WHERE processed = 0 --вот так

И следит, чтобы это условие было в селектах.

В результате даже в многотерабайтной базе мы имеем маленький быстрый индекс всего в десятки мегабайт (!), который всегда показывает на самые последние данные. Как только данные перестают удовлетворять признаку - они из индекса улетают. Сами.

Когда мы прикрутили первый фильтрованный индекс и стали смотреть статистику использования, мы офонарели - SQL Server бросил все дела, и стал жадно его жрать. Приложение ускорилось в разы, нагрузка на проц снизилась на 80%. Посмотрите график - до и после внедрения только ОДНОГО пробного индекса.

Наш бд-сервер имеет всего 4 ядра и 32 гига памяти, при этом запросто тянет базу в несколько терабайт и сотни тысяч DAU. У нас в команде есть негласный челлендж - сколько можно протянуть на этом железе без апгрейдов? Уже годы держимся))

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

PS. "Filtered/partial index" есть в SQL Server и PG. В мускуле есть воркераунд с case

PPS. есть нюанс, кстати. Когда делаете filtered index, обязательно включайте фильтрованную колонку в "include". Так мы заставляем сервер поддерживать "статистику" по колонке. Без статистики все это великолепие работать не будет, сервер индекс не заметит.

CREATE INDEX myIndex
ON Messages (Column1, Column2...)
INCLUDE (Processed) --важно
WHERE Processed = 0
1.7K viewsedited  09:25
Открыть/Комментировать
2021-06-03 13:09:52 ​​Первый раз за 20+ лет я купил "не ноутбук".

Ребята, это снос башки. Я в шоке, как продвинулась индустрия десктопов с момента, когда я последний раз произносил слова "материнская плата".

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

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

Я раньше все это видел только на канале "Linus Tech Tips".

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

Конфиг: nVidia RTX 3070. Плюс какие-то малозначительные железки вокруг.

Ну и, конечно, RGB-великолепие. С прозрачными стенками и вытекающими глазами.

Юнит-тесты пролетают за две минуты. а стейджинг-база влезает в память целиком. Но кого я обманываю - все это делалось ради 350 fps в каунтер-страйк.

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

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

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

Плюсы:
- стационарность. Как ни странно, это плюс. Встал из-за стола - работа закончилась. Никаких "доделаю на диване" или "покодю на кухне".
- невзъебическая моща, модульность и никакого троттлинга. Плюс это отличная DIY-игрушка и бесконечная кроличья нора. Любители дронов и домашних пекарен меня поймут.

Минусы:
- стационарность (опять же). Рабочий ноутбук все же оставьте, пригодится.
- нужно просторное рабочее место

В общем, я снова счастливый 17-летний задрот. Рекомендую.

UPD. черт, забыл для фото включить RGB-великолепие на мышке! Прастити, переснимать лень, и так полдня на столе убирался...
684 viewsedited  10:09
Открыть/Комментировать
2021-04-23 00:45:33 Лет 15 назад я работал обычным разрабом в маленьком банковском холдинге. Нас с напарником было всего двое "погромистов". В перерывах между написанием кода и SQL-запросов мы чинили принтеры и обжимали джеки (до сих пор помню эту долбаную мантру "оранжевый-белозеленый-синий-белосиний...")

При этом в соседней комнате сидели Настоящие Разработчики . У них были большие зарплаты и к ним никого не пускали. Они писали Великую Систему - ее никто не видел, но когда-нибудь она заменит "все то говно " на котором банк работает сейчас. В Великой Системе планировалось сразу все - от банковских транзакций до закупок туалетной бумаги.

Шли годы, а систему никак не дописывали. Мы с напарником тем временем заговнокодили примерно весь холдинг: автоматизировали документооборот, трекинг внутренних задач, написали десяток говносайтов на PHP и даже интернет-банк на C#. А дизайн всего этого мы рисовали в пиратском фотошопе.

При этом привитое на мехмате чувство прекрасного позволяло нам почти не создавать техдолг - каким-то чудом.

Тру-разработчиков через несколько лет выгнали всем отделом.

Очень хочется на этом закончить - красивым выводом про Д'Артаньяна и пидорасов. Но тру-разработчики не виноваты. Гемор взаимодействия "между бизнесом и разработкой" - он, сука, вечен. Даже Самат с Федей болтали про это целый час

Причина проста - все программисты страдают комплексом демиурга. Не "комплексом бога" в нарциссическом смысле, а именно обсессивно-демиургическим - мы хотим УПРАВЛЯТЬ МИРАМИ.

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

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

Можно нанять в штат психолога, как в сериале "Billions", а можно ввести хаки "dogfooding" или "all hands support", или наглядно показывать impact... Короткий видеоролик, где пользователь тыкает плод работы программиста - творит чудеса. Короче, любой ценой сокращать дистанцию с реальным миром. Миллион есть способов. Дерзайте-гуглите.

Еще можно решить эту проблему на этапе найма - просто нанимайте больше девушек. Я серьезно, у них реально нет этих дурацких personality disorders. А если уж собеседуете парня, особенно недавнего студента, тогда так:

Если у вас есть R&D - нанимайте отличников. А если бизнес, стартапы, деньги и жиза - нанимайте двоечников.

Двоечники круты. Просто попытайтесь представить, насколько двоечнику сложнее было закончить ВУЗ. Насколько сильнее он прокачан. Насколько крутой у него "ownership mindset", "problem-solving skills" и вот это все.

Двоечник до часу ночи где-то тусил, потом бухал, потом почему-то репетировал с группой на "базе", потом заснул на остановке, а утром пришел на третью пересдачу и СДАЛ ЕЕ.

Его выгоняли, отчисляли, выселяли из общаги, отчитывали в деканате, на горизонте была армия - а он все равно, сука, закончил. Бегал за преподами, договаривался о пересдачах, защищал себя на комиссиях... Софт-скиллы и устойчивость к стрессу - уровня "бог". А еще он быстро въезжает во все новое, ибо первый раз открывает учебник строго за день до экзамена.

Нанимая людей в тот банк мы всегда аккуратно выясняли - ну как там вообще в ВУЗе? Не был ли на грани вылета? Не уходил ли в "академ"? Не резался ли сутками в "Контру" вместо лекций? ...А то мы как раз такого ищем...
2.7K viewsedited  21:45
Открыть/Комментировать
2021-03-28 13:23:12 Пару месяцев назад я обругал несколько вредных бизнес-книг.

Теперь те, которые читать можно и нужно:

Clayton Christensen, "The Innovator's Dilemma"

Клейтон - великий. Профессор экономики в Гарварде, автор концепций "disruptive innovation" и JTBD - "jobs to be done". Стив Джобс когда-то признался, что Innovator's Dilemma - единственная бизнес-книга у него на полке.

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

Если лень читать целиком - вот полуторачасовой видос, где он проходится по всем своим теориям сразу,

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

(Клейтон, к сожалению, недавно умер от рака. Я ужасно горжусь, что однажды был на его лекции - и как видите хвастаюсь этим при любом удобном случае)

April Dunford, "Obviously Awesome"

Неплохая книга про позиционирование - что у вас за продукт, на кого рассчитан, и почему подойдёт лучше всех. Про то, почему позиционирование - это круто, а "product-market fit" - это базворд и фуфло.

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

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

Это как масло в двигателе. Мотор не крутит, поршни не толкает. Но без него - не поедет.

Опять же, если лень читать, погуглите видосы Эйприл, у нее много.

Gabriel Weinberg "Traction"

Гейбриел - основатель поисковика DuckDuckGo. Книга - просто маст для всех, кто собрался "пилить свой стартап".

Четко, понятно и максимально приземленно про Самый Главный Вопрос - "где же, сука, брать клиентов??"

Какие бывают каналы привлечения (их всего 19), стратегии и тактики. Для каждого "канала" Гейбриел пригласил известного спеца в этой нише и методично его допросил.

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

PS. на амазоне есть еще одна книга "Traction" от какого-то другого чела, не промахнитесь. Смотрите имя автора внимательно.

Ben Horowitz "The Hard Thing About Hard Things"

Да да, тот самый, который "Andreessen Horowitz", отстаньте.

(A&H - это фонд, который вырастил Facebook, Airbnb, Twitter и черт знает что еще)

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

Реально стоит прочесть. Особенно если у вас УЖЕ есть бизнес и УЖЕ стоят задачи "как нанимать", "как управлять", "где не облажаться", что такое "Peacetime CEO / Wartime CEO" и тп.

Если еще что-то вспомню, напишу.
2.6K viewsedited  10:23
Открыть/Комментировать
2021-03-16 17:00:50 Я как-то пропустил, а между тем MongoDB зарабатывает 700млн в год.

Я в шоке.

Та самая опенсорсная "монга", над которой все ржут и делают мемы про web scale, а некоторые вообще не считают полноценной базой данных - зарабатывает под миллиард. И это на диком росте - 40% в год.

Причем, большая часть выручки - ARR, то есть recurring revenue. Насколько я понял, львиную долю делает их SaaS-решение для управления инстансами в облаках AWS/Azure.

(ну и кстати, монга - единственный продукт, который умеет в кросс-облачные кластеры, т.е. "половина в Амазоне - половина в Azure")

Акции Монги (дада, у нее есть еще и акции, сам в шоке) за последний год выросли в три раза. С момента IPO - в восемь.

Ужас, короче.
1.7K viewsedited  14:00
Открыть/Комментировать