Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса. fastapi.. fastapi. Open source.. fastapi. Open source. python.. fastapi. Open source. python. tiangolo.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса. Блог компании ИдаПроджект.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса. Блог компании ИдаПроджект. история fastapi.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса. Блог компании ИдаПроджект. история fastapi. История IT.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса. Блог компании ИдаПроджект. история fastapi. История IT. Программирование.. fastapi. Open source. python. tiangolo. биография себастьяна рамиреса. Блог компании ИдаПроджект. история fastapi. История IT. Программирование. себастьян рамирес.

Себастьян Рамирес. Легенда мира Python-разработки, человек с моржовыми усами, единоличный создатель фреймворка FastAPI и герцог open-source разработки. Он работал на ферме, отчислился из католической школы, заболел раком, женился, изучил Data Science, стал Backend-разработчиком, выступал на конференциях, откликнулся на вакансию, где использовался разработанный им фреймворк, вел твиттер… И где-то между этими важными делами успел стать одним из самых интересных Open Source-разработчиков во всём мире, а также человеком, который на bus-факторе может прокатить половину Интернета (извините). Да, да, речь про того самого Tiangolo. И если вы знали его только как разработчика FastAPI, то сейчас точно удивитесь.

Меня зовут Макс, я TeamLead Backend в компании ИдаПроджект, автор YouTube-канала PyLounge. Не буду затягивать со вступлением, поехали!

Оглавление

→  Великое начинается с малого

→  Once Upon a Time in Colombia

→  Диагноз, который изменил всё

→  Быстрый как формула

→  Open Source — когда один пишет код, а миллионы делают его лучше

→  Заключение

→  Источники

Великое начинается с малого

Источник:https://twitter.com/tiangolo

5 декабря 2018 года. Где-то в Колумбии за обычным компьютером сидит никому не известный разработчик — Себастьян Рамирес. Его пальцы быстро стучат по клавиатуре, и он делает первый коммит в своем новом проекте. Название простое, но дерзкое — FastAPI.

В одном из файлов он оставляет скромную, но многообещающую строку: «Fast API framework, fast high performance, fast to learn, fast to code».

Его идея гениальна в своей простоте: «FastAPI — это современный, быстрый веб-фреймворк для создания API с Python 3.7+, основанный на стандартных аннотациях типов. Быстрый (как Starlette + Pydantic), с автодокументацией OpenAPI, валидацией данных и async/await».

Источник: https://github.com/fastapi/fastapi

Он верит в свой проект. Он знает, что мир Python-разработки устал от громоздких решений, от бесконечной настройки, от сложных документаций. FastAPI должен быть другим — быстрым, элегантным, интуитивным.

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

В начале 2019 года о FastAPI говорят на Reddit (в r/Python) и Hacker News. Выходит первая статья на Real Python: FastAPI: The New Python Framework for Web APIs. В том же году репозиторий с FastAPI набирает 5000 звёзд и попадает в топ-10 лучших python-модулей.

FastAPI больше не просто эксперимент. Для многих это — революция.

image.png
image.png

Так на глазах у всего Python комьюнити зародился фреймворк, который потом стали использовать в Microsoft, Uber, Netflix и ещё куче IT-гигантов. FastAPI практически полностью вытеснил Flask, Sanic и отвоевал большую часть популярности у Django. Себастьян Рамирес стал одним из самых узнаваемых Open Source разработчиков и великодушным пожизненным диктатором FastAPI. 

Но — как это часто бывает — рассвету предшествует тёмная ночь.

Once Upon a Time in Colombia

Согласно статье Keeping an Open-Source Mind Себастьян Рамирес родился в 1989 году в Колумбии. 

С ранних лет он ненавидел монотонность. В пять лет, собирая пазл с одноклассниками, Себастьян раздражался из-за их метода «тыка» — они хаотично перебирали детали, пока не находили нужную. Тогда он предложил «распределить кусочки между всеми и проверять их системно». Даже мытьё посуды или кормление собак превращалось в задачу по оптимизации.

«Для меня это почти фобия. Если я делаю что-то простое и повторяющееся, я сразу хочу это ускорить или автоматизировать».

Рамирес однажды застал маму за сортировкой горы бумаг по алфавиту. Он предложил ей «аналоговую» версию алгоритма сортировки слиянием: разбил стопки на мелкие, отсортировал их, а затем соединил. Через 30 минут всё было готово.

«Мама была удивлена, но согласилась попробовать, — вспоминал он. — Тогда я понял, что знания — это сила, способная изменить мир даже в самых неожиданных ситуациях».

В семь лет Себастьян Рамирес бросил католическую школу. Не из-за лени или отсутствия интереса к учёбе — как раз наоборот. По словам учителей он задавал слишком много вопросов. В большинстве католических школ Медельина (Колумбия) религия занимала важное место в программе. Для пытливого ума Рамиреса вера стала почвой для бесконечных вопросов — но, к сожалению, преподаватели этого не оценили.

Однажды директор школы вызвал родителей Себастьяна и заявил, что их сын «сложный» ребёнок. Однако дома вместо наказания мальчика ждала похвала. «Ты молодец, — сказали ему. — Продолжай искать ответы»

Вскоре после ухода из католической школы семья Рамиреса переехала на небольшую ферму в Санта-Элене — деревушке в часе езды от Медельина. Родители решили, что домашнее обучение подойдёт Себастьяну и его младшей сестре Эстефании куда лучше.

Ферма, окружённая горами и лесами, стала идеальной средой для воспитания. Семья выращивала овощи, держала пять веймаранеров (порода охотничьих собак), нескольких кошек и двух коз, одна из которых была «подотчётна» самому Себастьяну — каждый вечер ему приходилось её ловить. Образование здесь было не теоретическим, а практическим: дети сажали деревья, мастерили будки для собак, ставили заборы и меняли лампочки. 

«Это воспитало во мне любопытство к тому, как устроен мир», — вспоминает Рамирес.

В 1997 году он начал помогать родителям с продажами в их консалтинговой компании Grupo Una Familia, которая проводила тренинги для руководителей. К подростковому возрасту бизнес эволюционировал: теперь семья организовывала корпоративные тимбилдинги с музыкой, шутками и историями о ценностях компаний. Себастьян погрузился в звукорежиссуру и дизайн, часами зависая в студии у инженера Ченго и засыпая его вопросами. 

«Он звал меня Губкой Бобом, потому что я впитывал знания, как губка», — вспоминает Рамирес.

В 15 лет Себастьян решил, что семейному бизнесу нужен не просто сайт, а «целая система управления клиентами» — с загрузкой фото и другими функциями. Родители всё ещё работали с бумажными записями и телефоном, так что он взялся за дело сам.

Себастьян начал с бесплатных онлайн-уроков, но быстро разочаровался в слепом копировании кода. Ему хотелось понимать, как всё устроено. Так он открыл для себя HTML, CSS, JavaScript и XML (попутно выучив английский). Возможности казались безграничными.

Чтобы учиться в горах, он нашёл у отца старый PalmPilot, загрузил в него документацию и создал подобие прото-Kindle — теперь стандарты всегда были у него под рукой.

«Я начал программировать, когда мне было пятнадцать. Я пытался создать веб-сайт для бизнеса своих родителей. Первым моим настоящим “кодом” стал JavaScript внутри HTML — модальное диалоговое окно (alert) с фразой “Hello World”. Я до сих пор помню, как обрадовался, увидев это маленькое окно с сообщением, и испытал чувство всемогущества от мысли, что это запрограммировал я … Я много лет боялся изучать какой-либо другой язык, думая, что сначала должен “хотя бы” освоить JavaScript. Но потом на одном из многих онлайн-курсов, которые я проходил, возникла необходимость использовать Python для управления искусственным интеллектом в Pac-Man и для некоторых других задач. Курс состоял из одного длинного туториала по основам Python, и этого было достаточно. Мне очень хотелось попробовать»,вспоминает Себастьян в своём интервью Рики Уайту.

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

Тогда Себастьян осознал ключевую вещь: «Инновации и disruption — не самоцель. Они всего лишь побочный эффект решения реальных проблем».

Этот урок позже лёг в основу FastAPI — инструмента, который действительно нужен людям.

Диагноз, который изменил всё

В 2009 году 20-летний Рамирес начал чувствовать странную боль в правой части груди. Обследование показало шокирующую картину — рак. Опухоль размером с папайю сдавливала лёгкое и оказывала давление на сердце. Экстренная госпитализация, агрессивная химиотерапия. Свой 21-й день рождения Себастьян встретил в больнице, попросив медсестру спеть ему «Happy Birthday» во время очередного введения препаратов.

Болезнь перевернула его ценности. До этого он продолжал работать в семейном бизнесе, но месяцы борьбы за жизнь, невозможность нормально есть и пить заставили его задуматься.

«Я хочу решать по-настоящему важные проблемы. Те, что меняют мир».

После завершения лечения сестра показала ему Coursera — платформу онлайн-обучения. Для Рамиреса, всё ещё слабого, но жаждущего знаний, это стало откровением: «Я, парень из Колумбии, могу учиться у лучших университетов мира!»

Он с головой погрузился в курсы по алгоритмам, машинному обучению, криптографии и ИИ, одновременно взяв восемь дисциплин. «Это был мой собственный, слегка безумный университет», — смеётся он сейчас.

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

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

Быстрый как формула

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

Представьте, что вы стоите в длинной очереди в банке или местном МФЦ — в месте, где царит дух бюрократии. Пока ждёте, заполняете форму, но на середине осознаёте ошибку и приходится начинать сначала. Когда подходит ваша очередь, сотрудник за столом сонно и невнимательно проверяет ваш бланк — вручную, разумеется.

Себастьян Рамирес говорит, что именно так раньше выглядела разработка программного обеспечения: неэффективно, утомительно и с кучей ошибок. Он создал FastAPI, чтобы упростить этот процесс.

«С FastAPI вы бы не стояли в очереди, — объясняет он. — Вы бы сидели с номерком, очередь двигалась бы быстро, а сотрудник помогал бы вам внимательно и чутко. Да и форма, которую нужно заполнить, была бы куда понятнее».

Так Рамирес объясняет суть FastAPI тем, кто далёк от программирования. По сути, это быстрый и простой фреймворк для создания API на Python — самом популярном языке в сфере Data Science, машинного обучения и искусственного интеллекта.

Несколько лет исследований (сначала в Колумбии, затем в Дубае, куда он переехал в 2017 году) показали: существующие инструменты не идеальны. 

«Пришлось создавать свой».

Но тут его снова накрыли сомнения: «Кто я такой? Просто чудак из глуши». Однако мысль «А почему бы не попробовать?» перевесила.

Днём он работал в компании зятя, а ночами и по выходным погружался в код. «Я сходил с ума от усталости: глаз дёргался, палец немел… Но это был кайф!»

В декабря 2018 года, как рождественский подарок разработчикам мира, он выложил первую версию FastAPI на GitHub.

«Когда ты создаёшь что-то, чем пользуются другие, и это действительно помогает им — это ни с чем не сравнимое ощущение, — улыбается он. — Это просто прекрасно».

До его появления большинство Python-фреймворков создавались ещё на заре языка, до появления ключевых возможностей вроде async/await и аннотаций типов. FastAPI использовал эти и другие инновации, чтобы сделать разработку удобнее.

В отличие от неудачной попытки с сайтом для родителей, Рамирес теперь создавал инструмент для себя — чтобы решить проблемы, с которыми сталкивался при разработке облачных сервисов. Он сделал ставку на автодополнение кода и мгновенные подсказки об ошибках, сократив объём рутинного кодинга и помогая находить баги до запуска программы.

Обычно технические руководства к инструментам вроде FastAPI написаны сухо, сложно и скупо, оставляя разработчиков разбираться во всём самим. Но Рамирес, вспоминая, как сам учился по открытым материалам, сделал подробнейшую документацию — с объяснением не только самого фреймворка, но и базовых концепций.

«Я хотел, чтобы всё было объяснено так, как мне самому хотелось бы в начале пути», — говорит он, цитируя Гвидо ван Россума, создателя Python: «Код — это в первую очередь способ общения между разработчиками».

Рамирес даже нанял дизайнера, чтобы визуализировать сложные моменты. Он хотел, чтобы FastAPI был понятен любому, даже человеку из глубинки без доступа к техническому образованию.

Но изначально у Рамиреса была более простая цель: «Я сделал это для себя, — признаётся он. — FastAPI стал ответом на вопросы, которые я задавал себе всю жизнь».

Почему всё устроено именно так? Как сделать это проще? Как ускорить процесс? Как добиться большего?

И главное: Как улучшить мир — для себя и для других?

Концепция open-source поначалу казалась ему слишком хорошей, чтобы быть правдой: «Я не знал тогда, что 90% мировых систем работают на открытом коде». Но чем больше он погружался, тем больше восхищался её философией — люди помогают людям. Это было созвучно его жизни: он всегда старался делать процессы эффективнее — для родителей, соседей, друзей.

В интервью Рики Уайту Себатьян вспоминает: «На самом деле я годами откладывал создание нового фреймворка. У меня также была возможность поработать с другими технологиями — с JavaScript и TypeScript на фронте, несколькими фреймворками для гибридных приложений, с Electron для десктопа и так далее. Тем не менее, большинство моих проектов (или даже все) были связаны с данными (data science, ML и так далее). В какой-то момент у меня в голове сформировалось сочетание фич, которые мне нравились. Я взял их из разных фреймворков, инструментов и даже из других языков и экосистем.

Затем я убедился, что у меня были подходящие строительные блоки для создания FastAPI: Starlette (для всех веб-частей) и pydantic (для работы с данными) — оба имеют отличную производительность и функциональность. И наконец я приступил к реализации своего проекта с учётом стандартов, собранной обратной связи от разработчиков, а также некоторых дополнений (например, системы внедрения зависимостей)».

Open Source — когда один пишет код, а миллионы делают его лучше

В 2021 Себастьян устроился в Explosion AI, компанию, создавшую популярную платформу обработки естественного языка (NLP-библиотеку spaCy). Позже он решил покинуть компанию, так как планировал посвятить большую часть своего рабочего времени FastAPI, Typer и другим open source проектам, а ещё консультировать другие команды и компании.

Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса - 5

«Мы слышали о FastAPI повсюду — от крупных компаний вроде Rippling до хакатонов выходного дня», — говорит Лорен Ридер, партнёр Sequoia Capital. Когда она и её коллега задумались о создании Sequoia Open Source Fellowship, главным кандидатом был именно Рамирес. В январе 2023 года он стал первым участником программы.

Немного матчасти: Sequoia Open Source Fellowship — это программа поддержки разработчиков открытого ПО (open source), организованная венчурной компанией Sequoia Capital. Её цель — финансирование и поддержка талантливых разработчиков, которые вносят значимый вклад в open-source проекты. Участники получают стипендию (грант), позволяющую им сосредоточиться на разработке ПО без необходимости искать коммерческую работу.

Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса - 6

Усилия Рамиреса окупились. Сегодня FastAPI используют в самых разных сферах: от моделирования галактик и разработки лекарств до управления кризисными ситуациями в Красном Кресте и анализа данных COVID-19. Его применяют как гиганты вроде Microsoft, Google и Netflix, так и стартапы. Даже Институт космического телескопа, отвечающий за работу телескопа «Джеймс Уэбб», использует FastAPI для быстрого доступа к научным данным.

В 2023 году FastAPI скачивали 800 000 раз в день. И популярность продолжает расти.

Сейчас Себастьян живёт в Берлине, в Германии и полностью посвятил себя opensource-разработке. Он уже поработал над интеграцией с Pydantic v2, улучшением функциональности других его проектов (Typer, SQLModel и Asyncer), а также над более детальной документацией. Самое главное — он все еще испытывает такое же трепетное чувство, что и в начале истории, глядя на то, как FastAPI помогает тысячам разработчиков.

Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса - 7

Кстати, ваш покорный слуга даже как-то общался с Себастьяном. В 2022 году мой пуул-реквест был замержен в master вектку FastAPI :)

Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса - 8

Заключение

После того как колумбиец Себастьян Рамирес самостоятельно научился программировать (и говорить по-английски) с помощью Интернета, он создал open-source инструменты, чтобы сделать программирование более доступным для всех, где бы они ни находились.

Жажда познания в итоге привела Рамиреса к созданию инструмента, который, как он надеялся, упростит и ускорит разработку программного обеспечения. Его детище, FastAPI — фреймворк, позволяющий быстро строить приложения и легко их поддерживать. Круче всего, что это open-source, то есть любой может использовать и дорабатывать его бесплатно. 

«Когда создаёшь что-то, что действительно помогает другим — это ни с чем не сравнимое чувство, — улыбается 34-летний Рамирес. — Просто лучшая награда».

Разыскивается живым или мёртвым: легендарная история Себастьяна Рамиреса - 9

Источники

https://twitter.com/tiangolo

https://github.com/fastapi/fastapi

https://www.sequoiacap.com/article/sebastian-ramirez-spotlight/

https://evrone.ru/blog/interviews/sebastian-ramirez-interview

https://habr.com/ru/companies/macloud/articles/562948/

https://github.com/tiangolo

Автор: PyLounge

Источник

Rambler's Top100