From 701d3027b62f6ff90b7641b8275c962d0e004ba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=A9taireau?= Date: Mon, 15 Jul 2024 14:36:54 +0200 Subject: [PATCH] Reapply minor changes --- content/Journal/2024-06-27-a-mon-compte.md | 87 ++++++++++++++++++++++ content/code/2024-07-12-pydantic.md | 20 +---- content/weeknotes/34.md | 7 +- 3 files changed, 92 insertions(+), 22 deletions(-) create mode 100644 content/Journal/2024-06-27-a-mon-compte.md diff --git a/content/Journal/2024-06-27-a-mon-compte.md b/content/Journal/2024-06-27-a-mon-compte.md new file mode 100644 index 0000000..7d67d3c --- /dev/null +++ b/content/Journal/2024-06-27-a-mon-compte.md @@ -0,0 +1,87 @@ +--- +status: draft +title: De retour au développement +--- + +Depuis la fin de l'année 2023, je travaille à mon compte sur des projets +informatiques. Ce qui était au départ une sorte de période de test suite à une +aubaine proposée par Yohan et David pour travailler sur uMap s'est transformée +en quelque chose de plus pérenne. + +Après quelques années à brasser, je retrouve le développement +logiciel. + +Quand j'ai quitté mon travail chez Mozilla en 2016, je ne savais pas trop vers +quoi me tourner. J'avais fait 5 superbes années de découvertes, et je ne savais +pas trop ce que j'attendais pour la suite. A l'époque, je m'étais donné deux +"arcs" possibles: faire des ateliers d'autodéfense numérique, ou alors monter +une brasserie. Au final, l'envie partagée de monter le projet de la Brasserie +du Vieux Singe nous a porté avec Fred, et j'ai donc mis de côté l'informatique +"pro" pendant plusieurs années. + +7 ans plus tard, l'été dernier, je quitte la brasserie (ou, la brasserie me quitte) et je commence à me former autour de la gestion des conflits dans les collectifs. + +A ce moment, plusieurs projets intéressants se trouvent sur mon chemin, et je m'arrête quelques instants pour voir à quoi cela ressemble. J'ai pu +travailler pour Framasoft sur [un projet de supervision](https://framagit.org/framasoft/framaspace/argos), avec David et Yohan sur [un projet de cartographie](https://umap-project.org/), et plus récemment avec Freedom of the Press Fountation sur [un projet autour de la sécurité](https://dangerzone.rocks/). + +Petit retour sur cette dernière année. + +## Confiance en soi + +Une des choses les plus compliquées pour moi, à été de retrouver de la confiance +en moi. J'ai eu beaucoup de chance de travailler avec des gens talentueux, que +j'ai tendance à mettre sur un pied d'estal, et avec qui j'ai tendance à me +comparer. + +On parle souvent du « syndrome de l'imposteur », et je pense que c'est +clairement quelque chose qui s'est déroulé pour moi. Après ces nombreuses années à faire « autre chose », j'avais peur de ne pas être à la hauteur. + +La réalité est que j'ai aussi du réapprendre à utiliser les outils, pour enfin réussir à améliorer la confiance en moi. + +Ça a été criant pour moi sur le dernier projet en date, « Dangerzone » puisque +j'y travaille sur des technologies auxquelles je n'ai quasiment jamais été +exposé : les *containers* (Docker et/ou Podman), et QT, en anglais, en tant +que contractor. + +L'équipe à été très accueillante, et vraiment ça fait la différence. En fait, +je me rends compte en avançant que ce qui intéresse mes collègues n'est pas tant +mes compétances techniques (qui bien sur sont importantes), mais la manière dont +nous intéragissons ensemble. Finalement, en étant « moi-même » j'ai l'impression +que ça fonctionne mieux. + +L'avenir dira bien si ça leur convient ou non, mais je suis très content de +réussir à faire baisser la pression à cet endroit. + +Je retrouver dans mon journal, des notes publiées pour un point d'étape après +deux ans et demi chez Mozilla : + +> Dire que l'on comprends pour éviter de passer pour un idiot est un biais qui +> se prends assez rapidement, et qu'il faut éviter à tout prix. +> +> Connaître ses limites techniques est un bon début pour pouvoir les +> surpasser. Chercher à les rencontrer est un processus actif. +> +> Notes perso de 2014 (il y a 10 ans) + +## Poser un cadre + +Une des choses qui est compliquée pour moi est de poser un cadre. Le travail est +important, mais ce n'est qu'une partie de ma vie. Travailler sur des horaires +specifiques, et rester concentré uniquement sur des tâches liées au travail +m'est un peu étrange : parfois j'ai envie de penser à autre chose, parfois j'ai +envie de travailler le soir, et en journée de faire autre chose. C'est un des +avantages de travailler en tant qu'indépendant, mais c'est bien sur aussi un +piège. Pour le moment, j'ai décidé de cadrer fortement, en allant travailler +dans un lieu autre que chez moi, mais je me rends bien compte des limitations que ça m'impose. + +Aussi, je me retrouve à vouloir poser un cadre relationnel dans mon travail. +Il y a quelques années, j'acceptais différents cadres relationnels, et ça ne +me posait aucune question, quitte à ce que ça chauffe parfois dans les moments +de désaccords. + +J'ai envie maintenant de clarifier ce genre de situations avant même de +commencer à travailler: je me connais mieux, et je demande clarification. Je +suis très content de faire cette découverte, et je me rends compte de la qualité +de travail et de relation que cela amène. + +## diff --git a/content/code/2024-07-12-pydantic.md b/content/code/2024-07-12-pydantic.md index 0f69882..e454e8e 100644 --- a/content/code/2024-07-12-pydantic.md +++ b/content/code/2024-07-12-pydantic.md @@ -10,13 +10,8 @@ easy to define the the structure of the objects I want to use, using typing. One use case I have at the moment is to parse a json object and build different objects depending on some key in the json object. -I tried multiple times, and finally managed to do it: - -have different pydantic classes which share a same property (here named `kind`), -and end up with the proper classes at the end. - -Here, I have three types of messages: "OperationMessage", "PeerMessage" and -"ServerRequest", as follows: +Here, I have three types of messages: `OperationMessage`, `PeerMessage` and +`ServerRequest`, as follows: ```python from typing import Literal, Optional @@ -24,8 +19,6 @@ from pydantic import BaseModel class OperationMessage(BaseModel): - """Message sent from one peer to all the others""" - kind: Literal["operation"] = "operation" verb: Literal["upsert", "update", "delete"] subject: Literal["map", "layer", "feature"] @@ -34,18 +27,13 @@ class OperationMessage(BaseModel): class PeerMessage(BaseModel): - """Message sent from a specific peer to a specific one""" - kind: Literal["peermessage"] = "peermessage" sender: str recipient: str - # The message can be whatever the peers want. It's not checked by the server. message: dict class ServerRequest(BaseModel): - """A request towards the server""" - kind: Literal["server"] = "server" action: Literal["list-peers"] @@ -61,8 +49,6 @@ from pydantic import Field, RootModel, ValidationError class Request(RootModel): - """Any message coming from the websocket should be one of these, and will be rejected otherwise.""" - root: Union[ServerRequest, PeerMessage, OperationMessage] = Field( discriminator="kind" ) @@ -74,7 +60,7 @@ Which can be used this way: try: incoming = Request.model_validate_json(raw_message) except ValidationError as e: - error = f"An error occurred when receiving the following message: {raw_message}" + # raise ``` diff --git a/content/weeknotes/34.md b/content/weeknotes/34.md index 2ba0fe8..ed6dfbb 100644 --- a/content/weeknotes/34.md +++ b/content/weeknotes/34.md @@ -45,9 +45,6 @@ point sur le mois passé, depuis la dernière note. - Des rencontres à côté du boulot qui sont simples et motivantes, être à fond. - Me remettre à faire des trucs fermentés (légumes lactofermentés, kombucha) - Prendre le temps d'animer des ateliers d'autodéfense numérique. -- Me retrouver dans des assemblées avec des gens qui partagent des valeurs fortes de liberté -- Retrouver une partie du controle sur mon temps -- Me retrouver sous Linux + Gnome, c'est bête mais ça m'avait en fait manqué, je me sens plus à l'aise. - Sentir le temps se décaller, me coucher tard et me leve tard, me reposer quand j'en ai envie. C'est surement ça que j'appelle « retrouver le contrôle de mon temps »», un peu paradoxalement peut-être. @@ -146,9 +143,9 @@ qu'identité. Bye bye. ### Reddition de comptes > After all, if you can’t hold back from judging yourself, you’re unlikely -> to do so with others. So to get started, you can refrain from the demeaning +> to do so with others. **So to get started, you can refrain from the demeaning > self-talk the next time you do something that, in hindsight, looks like an -> error. **Instead, you can practice asking questions like, what was I thinking and +> error.** Instead, you can practice asking questions like, what was I thinking and > noticing when this happened? How did I respond to what I saw happening? What did > I expect? >