---
title: "Behind the scenes of FastAPI and friends for developers and builders - Sebastián Ramírez (tiangolo)"
tags: PyConTW2025, 2025-organize, 2025-共筆
---
# Behind the scenes of FastAPI and friends for developers and builders - Sebastián Ramírez (tiangolo)
{%hackmd L_RLmFdeSD--CldirtUhCw %}
<iframe src=https://app.sli.do/event/9Rq84ZQmEwAZLkuxHWn86R height=450 width=100%></iframe>
:::success
本演講提供 AI 翻譯字幕及摘要,請點選這裡前往 >> [PyCon Taiwan AI Notebook](https://pycontw.connyaku.app/?room=LoBy3Wx9kxZ2lC3GiOEZ)
AI translation subtitles and summaries are available for this talk. Click here to access >> [PyCon Taiwan AI Notebook](https://pycontw.connyaku.app/?room=LoBy3Wx9kxZ2lC3GiOEZ)
:::
> Collaborative writing start from below
> 從這裡開始共筆
:::info
[Here are the slides for my keynote talk: Behind the scenes of FastAPI and friends for developers and builders 🚀 ](https://speakerdeck.com/tiangolo/behind-the-scenes-of-fastapi-and-friends-for-developers-and-builders)
:::
## Tips for building something
### Build what needs to be built
- solve a problem
- not solved yet?
- previous problem?
- use other building blocks , open source
- cur abstraction layer too slow?
- cost of learning much lower?
- convenice much higher?
### optimize for user, not maintainer
- point of view of user
- design ux first, build internals to fit it
- autocompletion depends on types
- inline errors depend on types
- explicit parametes, not **kwargs
### standards
### capture a smart newbie
- adopt a newbie's point of view
-
### computer science hard problems
### Reduce info duplication (cache invalidation)
## Reduce ambiguity (naming things)
- avoid difference things with same naming
-
## Write good docs
- what needs to be explained before
- graph of concepts
- explain everything
- re-read, rewrite, clean, trim down
- reduce duplication of concepts
- user's minimum effort
- ...to get maximum value
- space, graphics, emojus, notes
- 例如各種可收合的區塊
- consistency for terms and concepts
- style for terms and concepts
- enable power users
- docs driven development
- Test example code in docs
## Premature abs. is dangerous
- Premature opt.
- Premature abstraction
- Reduce constraints and obstraction layers
- Should have a reason
## Optimize evolution, not architecture
- Better being able to refactor
- ...than pristine first architecture
- Types
- mainly inputs and outputs of functions
- dataclass/pydantic fields
- tests
- limit
- magic kwargs
- import strings
- magic strings
## Simple is better than Complex
- zen of py
- achieving simple is harder than complex
- Building complex is faster
## Tips for managing a ...
### workload
- open source by one or two developers
- community is made of specific individuals
- automate
### Drive by PRs
- many files
- Multiple features at the same time
- Tests failing
- no tests covering the feature
-
### Yes gain, yes pain
- The bigger the impact
- the higher the chance ...
-
- 例如reddit有人說他愛fastapi但太多emoji就是一個red flag
-
---
Below is the part that speaker updated the talk/tutorial after speech
講者於演講後有更新或勘誤投影片的部份