mirror of
https://github.com/almet/notmyidea.git
synced 2025-04-28 11:32:39 +02:00
Reapply minor changes
This commit is contained in:
parent
d88da93f06
commit
701d3027b6
3 changed files with 92 additions and 22 deletions
87
content/Journal/2024-06-27-a-mon-compte.md
Normal file
87
content/Journal/2024-06-27-a-mon-compte.md
Normal file
|
@ -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.
|
||||||
|
|
||||||
|
##
|
|
@ -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
|
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.
|
objects depending on some key in the json object.
|
||||||
|
|
||||||
I tried multiple times, and finally managed to do it:
|
Here, I have three types of messages: `OperationMessage`, `PeerMessage` and
|
||||||
|
`ServerRequest`, as follows:
|
||||||
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:
|
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from typing import Literal, Optional
|
from typing import Literal, Optional
|
||||||
|
@ -24,8 +19,6 @@ from pydantic import BaseModel
|
||||||
|
|
||||||
|
|
||||||
class OperationMessage(BaseModel):
|
class OperationMessage(BaseModel):
|
||||||
"""Message sent from one peer to all the others"""
|
|
||||||
|
|
||||||
kind: Literal["operation"] = "operation"
|
kind: Literal["operation"] = "operation"
|
||||||
verb: Literal["upsert", "update", "delete"]
|
verb: Literal["upsert", "update", "delete"]
|
||||||
subject: Literal["map", "layer", "feature"]
|
subject: Literal["map", "layer", "feature"]
|
||||||
|
@ -34,18 +27,13 @@ class OperationMessage(BaseModel):
|
||||||
|
|
||||||
|
|
||||||
class PeerMessage(BaseModel):
|
class PeerMessage(BaseModel):
|
||||||
"""Message sent from a specific peer to a specific one"""
|
|
||||||
|
|
||||||
kind: Literal["peermessage"] = "peermessage"
|
kind: Literal["peermessage"] = "peermessage"
|
||||||
sender: str
|
sender: str
|
||||||
recipient: str
|
recipient: str
|
||||||
# The message can be whatever the peers want. It's not checked by the server.
|
|
||||||
message: dict
|
message: dict
|
||||||
|
|
||||||
|
|
||||||
class ServerRequest(BaseModel):
|
class ServerRequest(BaseModel):
|
||||||
"""A request towards the server"""
|
|
||||||
|
|
||||||
kind: Literal["server"] = "server"
|
kind: Literal["server"] = "server"
|
||||||
action: Literal["list-peers"]
|
action: Literal["list-peers"]
|
||||||
|
|
||||||
|
@ -61,8 +49,6 @@ from pydantic import Field, RootModel, ValidationError
|
||||||
|
|
||||||
|
|
||||||
class Request(RootModel):
|
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(
|
root: Union[ServerRequest, PeerMessage, OperationMessage] = Field(
|
||||||
discriminator="kind"
|
discriminator="kind"
|
||||||
)
|
)
|
||||||
|
@ -74,7 +60,7 @@ Which can be used this way:
|
||||||
try:
|
try:
|
||||||
incoming = Request.model_validate_json(raw_message)
|
incoming = Request.model_validate_json(raw_message)
|
||||||
except ValidationError as e:
|
except ValidationError as e:
|
||||||
error = f"An error occurred when receiving the following message: {raw_message}"
|
# raise
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -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.
|
- 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)
|
- Me remettre à faire des trucs fermentés (légumes lactofermentés, kombucha)
|
||||||
- Prendre le temps d'animer des ateliers d'autodéfense numérique.
|
- 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
|
- 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
|
j'en ai envie. C'est surement ça que j'appelle « retrouver le contrôle de mon
|
||||||
temps »», un peu paradoxalement peut-être.
|
temps »», un peu paradoxalement peut-être.
|
||||||
|
@ -146,9 +143,9 @@ qu'identité. Bye bye.
|
||||||
### Reddition de comptes
|
### Reddition de comptes
|
||||||
|
|
||||||
> After all, if you can’t hold back from judging yourself, you’re unlikely
|
> 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
|
> 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
|
> noticing when this happened? How did I respond to what I saw happening? What did
|
||||||
> I expect?
|
> I expect?
|
||||||
>
|
>
|
||||||
|
|
Loading…
Reference in a new issue