Daily Shaarli
October 2, 2022
Il ne faut pas toujours chercher à rendre le code clean avec des abstractions et en évitant les répétitions.
Souvent cela rend le code plus complexe et donc plus difficile à maintenir.
La est toutes la subtilité du métier de développeur, trouver le bon compromis entre clean code et KISS code (Keep It Simple and Stupid).
L'auteur pointe aussi une autre erreur, de gestion d'équipe, il a refactoré le code d'un collègue sans lui en parler avant.
Bubble décide de redistribuer une partie de ses bénéfices à des projets open source qu'ils utilisent en interne.
En tout ils vont donner 20K$ répartis entre 3 projets.
C'est très bien ce genre d'action, plus d'entreprises qui font des millions avec de l'open source devraient prendre exemple.
La meilleure solution serait néanmoins un financement mensuel pour aider les développeurs des projets à se projeter sur le long terme.
C'est le résultat d'une étude lancé par Google en 2012.
Les deux comportements des équipes qui fonctionnent le mieux sont:
- liberté d'expression: prise de parole et partage de point de vue
- empathie
Ces deux facteurs amène une sécurité psychologique qui améliore la qualité de vie au travail et aussi la productivité.
Un article très complet sur l'API Gateway utilisé par Uber.
Ils ont développé leur propre API Gateway qui est en frontal de leurs micro-services écrits dans différents langages.
user access, etc
Les API Gateway peuvent être de simples routeurs mais peuvent aussi aller plus loin en incorporant de la logique métier, comme celle de Uber justement ("low level" vs "feature rich")
Dans le cycle de vie d'une requête, ils ont extraits 4 familles de composants:
- Protocol Manager: responsable de décoder et d'encoder (JSON, Thrift, Protobuf)
- Middleware: briques métier réutilisables (authentification, rate limiting, etc)
- Endpoint Handler: convertit la requête entrante dans le format attendu par le service backend
- Client: envoi la requête au service backend (validation, timeout, retries, etc)