#basecamp

13 постов
пост №1851Разработка и инженерия

В контексте падения облаков, чем они лучше/хуже собственного железа?

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

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

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

Главное преимущество облаков в сравнении с «реальными серверами» — возможность быстро масштабироваться, то есть сегодня у тебя один сервер обрабатывает 1000 пользователей, завтра проект завирусился на миллионы, и ты за пару минут запускаешь десятки, сотни серверов.

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

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

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

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

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

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

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

Пример: классно наблюдать, как последние 3 года создатель важного фреймворка Ruby on Rails и культовой системы управления проектами Basecamp Дэвид Хейнемейер Ханссон (DHH) планомерно перевозит свои продукты с миллионами пользователей из облаков на собственные серверы.

Они объявили о планах выхода из Амазоновского облака AWS ещё в октябре 2022. На тот момент, они платили за Амазону 1,5 млн долларов в год! Для начала, они купили себе физических серверов на полмиллиона долларов (всего треть годового чека за облака!)

В июне 2023 объявили об успешном перевозе всех вычислений, а недавно купили специализированное железо для хранения данных и мае наконец перевезли хранилище файлов из AWS S3.

Другой яркий пример, с которым я сталкивался лично, — это стоимость трафика для медиа-проектов. Трафик в облаках для популярного медиа может стоить десятки тысяч долларов, и такой же объем можно обработать десятком арендованных серверов по 40 баксов каждый. Экономия в 100 раз. Но это всё имеет смысл только на масштабе. Так выпьем же за то, чтобы было на чем экономить!

пост №1593Управление и команды

Раз уж про мессенджеры и работу: на прошлой неделе главный рабочий мессенджер Slack объявил о повышении цен: c 8 долларов в месяц за сотрудника до 8,75$.

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

Почти вся наша рабочая коммуникация — асинхронная, в Basecamp. Стоит Basecamp 99$ в месяц вне зависимости от числа проектов и сотрудников.

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

Я переводил несколько команд в Basecamp и хоть это и не просто, результат того стоит.

Успевают программисты и дизайнеры больше, а устают — меньше. Рекомендую.

Картинка из 2015 для разрыва шаблона.

пост №1316Управление и команды

Да, это книжка того самого DHH из бейзкемпа.

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

пост №1314Управление и команды

Все обсуждают скандал в Basecamp. Технический директор компании (DHH) поспорил с сотрудником на тему «являются ли шутки над необычными именами клиентов шагом к холокосту» (sic), сотрудник настаивал, что «да» → DHH запостил скриншот, где сотрудник сам издевался над именами → DHH вместе со вторым сооснователем официально запретили говорить о политике на работе и сделали про это публичный пост → после жаркого обсуждения на общей встрече, компания предложила всем желающим уволиться с выплатой 6 месячных окладов → уволилась треть сотрудников (16 человек), включая iOS команду целиком, главу дизайна, главу маркетинга, главу поддержки и core-контрибьютера в рельсу.

Экспозиция, о ком идет речь и почему это важно — ниже. Если шарите в теме и хотите жареных подробностей — вот пост инсайдера. Если хотите нанять себе уволившихся сотрудников — вот твиттер тред, где собраны они все (но учтите, что Basecamp платил как в СФ). Моё личное мнение будет в самом низу.

Basecamp — это компания из 50 программистов, которая уже больше 17 лет делает программу Basecamp. Basecamp — система для командной работы продуктовых команд — общение, постановка задач, обмен файлами; типа трелло или жиры, очень похоже на форум. Программа предполагает, что все в команде работают самостоятельно и асинхронно, то есть не сидят постоянно в чате или на звонках, а пишут друг-другу содержательные письма, сами думают о том, какой результат нужен в результате и сами контролируют своё время.

У компании Basecamp очень хорошо описаны рабочие процессы — «только удаленка», «кросс-функциональные команды», «самостоятельность и асинхронность», «быстро и дешево тестировать гипотезы», «делать vs сделать» и тд и тп. Основатели компании Дэвид и Джейсон написали 5 популярных книжек про то, как они работают и некоторые из них стали бестселлерами в списке NYT. Также они ведут классный блог Signal v Noise и хороший одноименный подкаст. Их книжки — классика в области управления проектами в стартапах.

У такого подхода к работе есть небольшая группа ярых фанатов (я отношу себя к их числу), а у программы — несколько десятков тысяч покупателей, которые платят по 100 долларов в месяц, вне зависимости от числа пользователей, что очень необычно для этого рынка. Компания принципиально не брала и не берет инвестиционные деньги.

Технический директор компании Basecamp Дэвид Хейнемейер Ханссон (DHH) — культовый программист, создатель фреймворка Ruby on Rails. На этой платформе построены тысячи проектов и многие сервисы, которыми мы все пользуемся каждый день. Именно из исходного кода Basecamp был вытащен RoR в 2004 году и именно благодаря RoR язык Ruby так популярен.

В том, как ярко основатели компании DHH и Джейсон идут против общественного мнения я вижу что-то подростковое. Сначала они 17 лет выглядели примерно как хиппи/дети в корпоративном офисе, рассказывали, как нужно давать всем побольше ответственности и принимать решения побыстрее, и только когда выглядеть так стало мейнстримом, они выступили с «мы здесь боссы, и нечего». В этом столько противоречия, столько энергии, что я не могу этим не восхищаться.

Ещё я вспоминаю известный конфликт, в котором я принял небольшое участие. «Мы все думали, что компания — она про ценности, а оказалось, что компания — это личная игрушка 1-2 человек и нам просто повезло быть с ними вместе эти годы. Очень больно, но дальше нам не по пути». И учитывая, что я теперь сам основатель и владелец компании — полностью солидарен, это моя собственность и что хочу с ней, то и делаю, главное — договоренности не нарушать.

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

пост №1123Технологии и общество

Новый раунд борьбы с комиссиями апсторов 🍿 В этот раз на ринге всеобщий любимец и пророк церкви ruby, basecamp и удаленной работы Давид Хейнемейер Ханссон, полотенце бойцу подает Павел Дуров, во втором углу тяжеловес Apple.

Хороший источник и детали, как всегда, у macrumors. По сути обвинения DHH не отличаются от прошлогоднего сезона Spotify vs Apple. Подробные посты: предъява Spotify, ответ Apple.

Контекст (до ❧):

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

Apple, в отличие от Google, запрещает оплачивать «цифровые товары» как-либо по-другому, чем через свою платежную систему. Это значит, что билет на самолет внутри приложения оплатить банковской картой в обход Apple можно, а подписку на музыку или новый скин для игры — только через Apple, с 30% комиссией. Внутри приложений нельзя даже давать ссылки на форму оплату на сайте. Ещё Apple требует, чтобы в сервисах можно было зарегистрироваться и оплатить их через мобильные приложения, за исключением сервисов вроде Spotify и Netflix — они попадают под исключение «reader apps».

Сложно? Да! Я сам потратил многие часы на выяснение отношений с ревьюверами Apple. О них ниже.

Как Apple контролирует выполнение этих правил? На айфоны невозможно установить приложение в обход апстора. Получается, что пока Apple не благословит приложение — распространить его не получится. Процесс благословения называется App Review, раньше он занимал недели, теперь в среднем — день. Живой человек-сотрудник Apple открывает ваше приложение и проверяет его на соответствие правилам. Некоторые ревьюверы ведут себя как злые советские вахтеры, некоторые — как спящие охранники на проходной современного НИИ. Каждое обновление приложения проходит review заново, с новым ревьювером.

В данном случае обиженным оказался создатель Basecamp. Он сделал новый почтовый сервис. Apple сначала пропустил приложение, но при очередном обновлении ревьювер потребовал добавить возможность оплатить сервис через инфраструктуру Apple. DHH написал возмущенный пост в твиттере: «не буду я давать эплу 30% своих денег, я лучше удавлюсь, они — современная мафия».

Неужто он раньше не знал об этих правилах? Если промотать чуть ниже в треде, DHH очень аккуратно тегает политика, который собирает слушания в конгрессе США на тему монополии техногигантов и политика, который ведет аналогичное расследование в ЕС.

Я уверен, что Apple не сделает ни шагу назад. Интересно, как поступит DHH? Откажутся от релиза приложения на iOS? Но ведь у них всех макбуки и айфоны. 🍿

P.S. Почтовое приложение от создателей basecamp — это 🔥, очень жду инвайта, чтобы попробовать. Вот их лендинг и обзор на the verge.

пост №1062Управление и команды

Basecamp теперь бесплатен для фрилансеров, студентов, семей и личных проектов.

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

Basecamp — не идеальный инструмент. В нем нет канбан доски как в трелло, в которой удобно двигать задачки по статусам от «идея» до «готово». В нем нет кастомных представлений как в жире, в которых удобно посмотреть все iOS-баги, находящиеся в тестировании и назначенные на определенного человека. В нем нет мощного чата, как в слеке (ох как хочется затегать группу!). В нем нет красивого редактора, как в Notion, даже таблицу в задачу не заведешь. В нем нет древовидных комментариев, как в жире и Confluencе, а ведь так хочется ответить на определенный комментарий в треде). И уж конечно это не супер футуристичная бесконечная коллаборативная доска как Miro.

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

Я хочу вести разработку как создатели Basecamp — качественно, стабильно, интересно, с уважением ко всем участникам процесса. Мне интересна тема ответственности и в Basecamp она очень важна.

Если вам стало интересно, как это — вот несколько книг, объясняющих их подход:
- методология разработки — Shape Up;
- одна из главных книг про удаленную работу — REMOTE;
- как не сгореть на работе — It Doesn't Have to Be Crazy at Work!

Рекомендую.

пост №990Управление и команды

Basecamp написали подробную книгу, как они строят свою работу.

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

Всё бесплатно, онлайн, с примерами из реальной жизни.

💘 https://basecamp.com/shapeup

пост №793Разработка и инженерия

Basecamp уже несколько часов в read-only. У чуваков переполнились первичные ключи в таблице в базе (были в int, нужно было bigint).

Работы всё ещё идут, но они ведут идеальный status report и уже написали два детальных объяснения (сначала покороче и потом подлиннее), что идет не так, почему так получилось и что они делают для починки. ИДЕАЛЬНО.

пост №587Управление и команды

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

Вы не поверите, специалист техподдержки спокойно рассказал, как устроена работа компании. Вся команда разработки живет в одном и том же продуктовом цикле. Если на момент написания статьи это были 3-4 команды по 2-3 человека, то теперь это могут быть 7 команд или больше. Да, документ описывающий цикл стал больше, но принципиальная схема осталась прежней.

Я по работе общался с сотнями техподдержек (о, сколько часов музыки я прослушал по PSTN) и эта впечатлила меня больше всего. На втором месте G Suite от Google (бывший Google Apps) — реально разбираются в этом монстре и технологиях, на которых он построен. Третье место занимает поддержка Apple Developer Program. Эти чуваки супер дружелюбные и если правильно пропитчить нужду могут сделать множество исключений из правил. Прямо как в России, закон строг, но можно договориться.