Open Source
November 29, 2021

Мысли создателя FastAPI Себастьяна Рамиреса из интервью Evrone

Себастьян Рамирез — энтузиаст open source, создатель таких популярных инструментов, как FastAPI, Typer и SQLModel. В интервью он поделился мнением о собственных проектах, образовании для разработчиков и собственной популярности в Twitter. Полный текст доступен по ссылке.

О fullstack-разработке

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

О своей работе в Forethought

Одно из условий моей работы там заключается в том, что я трачу большой процент своего рабочего времени на эти open source проекты. Кроме того, в Forethought согласились, что я работаю на них три дня в неделю, а остальные два дня могу выступать как внешний консультант других команд или просто больше заниматься open source разработками.

Об основе SQLModel

В своей основе SQLModel — это комбинация SQLAlchemy и Pydantic. Объем кода пакета на самом деле довольно мал. Основная часть работы заключалась в том, чтобы попробовать много разных вещей и найти лучший способ объединить оба продукта вместе, сохранив при этом совместимость с обоими, и повысить удобство для разработчиков.

О полном тестировании собственных продуктов

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

О популярности в Twitter

Тут есть некая ирония: я сделал несколько инструментов с открытым исходным кодом, и кажется, полезных, но главным моим свершением в Twitter оказался «умеренно забавный» твит.

О преимуществах FastAPI

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

О быстрых курсах разработки

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