Митчелл Хашимото, создатель инфраструктурного гиганта HashiCorp, совершил необычный карьерный маневр: он добровольно покинул посты CEO и CTO, чтобы вернуться к написанию кода. Его новый проект — терминал Ghostty, написанный на языке Zig, — стал итогом многолетних размышлений о качестве софта, балансе между жизнью и работой и поиске «радости» в программировании.
📉 «Успех вниз»: как стать рядовым разработчиком после поста CEO 0:00
Карьерный путь Митчелла Хашимото в HashiCorp часто называют «лунной походкой» . Начав как основатель и CEO, он последовательно перешел на роль CTO, затем стал рядовым индивидуальным контрибьютором (IC), а теперь — неоплачиваемым мейнтейнером Open Source проекта Ghostty .
Сам Митчелл Хашимото описывает этот опыт как процесс обретения эмпатии ко всем ролям в компании . По его мнению, каждая должность — это огромный и сложный пласт работы со своими вызовами. Решение отойти от управления было продиктовано осознанием простого факта: он любит «хакать» и писать код больше, чем заниматься стратегическим менеджментом .
Спикер выделяет несколько ключевых аспектов работы топ-менеджмента:
- «Дерьмо течет вверх»: Хашимото утверждает, что в Senior-менеджменте вы почти не слышите о вещах, которые работают хорошо . К вам попадают только те проблемы, которые не смогли решить на уровнях ниже .
- Публичность и стресс: Постоянные разъезды, недовольство сотрудников и высокая видимость создают нагрузку, которая может негативно сказываться на семейной жизни .
- Финансовый компромисс: Хотя высшее руководство получает больше, Хашимото считает важным вовремя переоценить, стоят ли деньги того уровня стресса, который они приносят .
Митчелл Хашимото признается, что его родственники долгое время не понимали, что происходит, воспринимая его уход с поста CEO как какой-то провал, а не как сознательный выбор .
👻 Ghostty: архитектура терминала будущего 8:05
Проект Ghostty не задумывался как коммерческий продукт. Хашимото начал его 2-3 года назад как «обучающий полигон», чтобы изучить Zig, программирование для GPU и десктопную разработку .
Главные архитектурные принципы Ghostty:
- Libghostty как ядро: Основная идея Хашимото заключается в том, что эмулятор терминала должен существовать в виде библиотеки . Это позволит другим разработчикам создавать свои UI-оболочки (например, интегрировать терминал в VS Code или Neovim), не переписывая сложную логику эмуляции заново .
- Нативность вместо кроссплатформенности: В отличие от Kitty или Alacritty, Ghostty стремится выглядеть «родным» для каждой ОС . На Mac он использует Swift и AppKit, на Linux — GTK.
- Баланс характеристик: Проект строится на пересечении трех векторов: скорость (GPU-рендеринг), функциональность и нативность интерфейса .
Хашимото утверждает, что Ghostty вряд ли когда-либо обгонит iTerm2 по количеству функций (например, встроенный менеджер паролей он внедрять не планирует) . Вместо этого он хочет создать плагинную систему, чтобы сообщество могло само расширять возможности терминала .
⚡ Почему Zig, а не Go или Rust? 23:53
Выбор языка программирования для Ghostty стал самой обсуждаемой темой. Митчелл Хашимото, который писал на Go более десяти лет, выбрал Zig, сознательно отказавшись от Rust .
Его аргументация строится на нескольких тезисах:
- Фактор удовольствия: Хашимото прямо заявляет: «Мне весело писать на Zig, и мне совсем не весело читать или писать на Rust» .
- Проблема Rust: По мнению Митчелла, разработка на Rust превращается в бесконечную имплементацию трейтов (traits) и прыжки по файлам в попытках понять, где именно реализован нужный функционал .
- Проблема Go: Хашимото разочаровался в направлении развития Go после внедрения дженериков . Он считает, что ограничения языка делали код лучше, а новые фичи «размывают» его культуру и радость от чтения .
- Мощь Zig: Главным преимуществом Zig спикер называет
comptime(возможность выполнять код во время компиляции). Это позволяет реализовать статический диспетчер без использования интерфейсов или vtables, что дает высокую производительность без лишних абстракций .
Хашимото также похвалил систему сборки Zig, отметив, что пользователи в восторге от того, насколько легко Ghostty компилируется из исходников .
🛠️ Отношение к Open Source и «хейтерам» 34:40
Митчелл Хашимото занимается открытым кодом более 15 лет. За это время он выработал философское отношение к критике. Его «несерьезный» метод борьбы с токсичными комментариями на Reddit — собираться с друзьями в парке и зачитывать их вслух с излишним драматизмом . По его словам, когда читаешь яростный комментарий об отсутствии статической диспетчеризации, стоя на траве, он начинает казаться абсолютно безумным и смешным .
В управлении проектом он придерживается строгого подхода:
- Дискуссии вместо Issues: В репозитории Ghostty нельзя создавать Issues просто так. Все предложения проходят через GitHub Discussions . Хашимото считает, что пользователи часто предлагают плохие решения для своих проблем, и задача мейнтейнера — докопаться до реальной потребности .
- Техническая филантропия: Спикер рассматривает Ghostty как форму благотворительности. Поскольку он финансово независим, он хочет тратить свое время на создание бесплатного и качественного инструмента для миллионов разработчиков .
🤖 AI как «армия стажеров» 45:54
Митчелл Хашимото активно использует GitHub Copilot и другие AI-инструменты. Он находит подозрительным, когда опытные программисты отрицают пользу LLM .
Его взгляд на AI:
- Эффективность: Хашимото сравнивает использование AI с наличием дюжины стажеров-выпускников, которым не нужно платить и которых не нужно кормить .
- Качество в Zig: Хотя для JavaScript нейросети пишут целые блоки кода, в Zig они работают скорее как продвинутый автокомплит на уровне строк и паттернов, что все равно экономит массу времени .
- Лицензионные риски: Хашимото выражает обеспокоенность тем, что AI могут обучаться на коде под лицензией GPL и выдавать его пользователям MIT-проектов . Он ждет юридического прецедента (аналогичного Oracle vs Google), который установит правила игры .
При этом Митчелл признается, что стал настолько зависим от Copilot, что если инструмент перестает работать из-за плохого интернета, он может просто закончить рабочий день .
👨👩👧 Личные уроки и баланс 1:00:25
Самым трудным моментом в создании Ghostty Хашимото называет не технические задачи, а эмоциональный баланс после рождения дочери . Он описывает постоянное чувство вины: когда он кодит, он скучает по ребенку; когда он с ребенком, он иногда ловит себя на желании пойти пописать код .
Его подход к обучению:
- Сначала прочитать весь справочник по языку (reference manual) от корки до корки .
- Прочитать всю стандартную библиотеку языка, чтобы понимать общие паттерны .
- Только после этого начинать что-то строить .
В завершение беседы Митчелл Хашимото поделился своим идеальным завтраком — это Egg McMuffin и хашбраун из McDonald's, которые он считает практически совершенной едой .