IMaskjs - 3 ans en Open Source

image

Bonjour à tous!

Cela fait 3 ans que j'ai commencé à travailler sur la bibliothèque imaskjs . Bien que l'open source soit un processus sans fin, on peut dire que, dans l'ensemble, le travail est terminé et déplacé vers un correctif de bogue lent. Pour le moment, j'ai fait tout ce que je voulais, il n'y a pas d'autres idées, à part les tests de pipi, mais la paresse.

Ce n'était pas une manière facile: plusieurs fois, j'ai voulu tout abandonner, et plusieurs fois j'ai pensé que tout était déjà parfait. Maintenant, tout s'est calmé et je peux avec une âme calme et une conscience claire me rappeler comment c'était et philosopher sur le point de savoir si cela en valait la peine et pourquoi.

Contexte


Tout a commencé avec le fait que pour le travail, nous avions besoin d'une bibliothèque pour masquer une variété de champs sur une variété de formulaires. Le format du masque a été donné à partir d'un système externe, la validation était déjà sur le backend, mais cela n'était pas suffisant pour des tests insatiables. Peu d'entre nous se sont avérés être des solutions existantes pour le masquage. Nous avons combattu avec eux pendant longtemps, bifurqué, fini, nous avons eu des bugs. En conséquence, nous n'avons jamais atteint ce que nous voulions idéalement, mais tout le monde était d'accord avec ce que nous avons, et nous avons oublié. Mais il m'a alors semblé que quelque chose n'allait pas ici - en fait, cela devrait être différent. J'ai vu tellement d'endroits pour améliorer les codes sources de pratiquement toutes les bibliothèques populaires, alors pourquoi ne pas écrire ma propre solution? C'était terriblement intéressant de voir ce qui en est sorti, mais l'idée semblait folle. Maintenant, je sais que la peur d'une nouvelle entreprise est un bon signe.

Il y a beaucoup de débats pour savoir si vous devez écrire votre vélo ou non. Dans mon cas, je n'étais pas non plus tout à fait sûr: après six mois, quand je viens de commencer mon chemin de développement dans l'entreprise et que j'étais considéré comme junior, alors personne ne semble en avoir besoin, et c'est juste une perte de temps, personne autour n'écrit quoi que ce soit de ce genre, peut-être il vaut mieux y aller pour gagner plus d’argent ... Oui, j’ai fui beaucoup de temps, je ne l’appréciais pas au travail, et je n’en gagnais pas. Mais je suis sûr que cela en valait vraiment la peine. Je voulais en parler.

La motivation


Le propre projet donne à l'école la naïveté et la négligence, c'est cette sensation lorsque vous êtes complètement absorbé par le processus, vos mains vous démangent, vos yeux brûlent et rien d'autre n'existe autour. C'était génial. Bien sûr, je ne pouvais pas être engagé tout le temps dans la bibliothèque, comme je l'ai compris et ce n'était pas nécessaire - vous devez plutôt donner à la communauté le temps entre les versions pour entendre les commentaires et ajuster le vecteur de développement. Mais dès que je suis revenu au développement, ce même sentiment est revenu, l'intérêt ne s'est pas dissipé et il n'y avait aucune raison de s'arrêter. Peut-être que quelqu'un a eu plus de chance avec le travail, mais mon travail se transforme rapidement en routine - le monde de l'entreprise est assez monotone et terne. Et plus vous y restez longtemps, plus l'expérience et la routine sont nombreuses. Leurs projets sauvent et aident à ne pas s'épuiser. Bien sûr, cela n'a pas besoin d'être open source, mais il est plus facile d'attirer l'attention et d'obtenir des commentaires.

Personnalité et société


Je pense que la communication et le feedback sont d'une grande importance à la fois pour le projet et pour le développement de l'individu. Bien que vous ne soyez pas dans la société, il n'est pas clair qui vous êtes et ce que vous pouvez faire, il est difficile de vous évaluer et d'évaluer vos réalisations de l'extérieur. Et sans cela, il est difficile de grandir. De plus, la valeur du projet est difficile à évaluer seule. Auparavant, je voulais penser que je ne me souciais pas de l'opinion de la société, je n'ai besoin de personne et ce n'est pas important. J'aurais pensé à moi, mais heureusement, le désir de gloire et d'étoiles sur le github s'est avéré plus fort. Heureusement, la question ne se limite pas à cela. Mais lorsque les opinions des autres ont commencé, cela signifiait beaucoup - si quelqu'un a trouvé des défauts ou a commencé un bug, vous commencez à vous agiter et essayez de le corriger plus rapidement pour que personne d'autre ne le voie - après 5 minutes, déployez la nouvelle version - mais il n'y a pas de tests, et cela va encore plus loin. Et lorsque vous postez un article, vous ne pouvez généralement pas vous endormir la nuit. J'exagère peut-être un peu, mais en général - un cirque sur le projet, une folie dans ma tête, et chaque version est un énorme stress. Maintenant, tout cela fait sourire, mais je pense que pour la première fois, beaucoup de ceux qui ne se soucient pas de ce qu'il fera devront passer par là.

Comme dans toute entreprise, l'influence des facteurs externes diminue progressivement, et je veux comprendre, vous avez vraiment fait quelque chose de précieux et d'utile ou un autre emballage de bonbons qui sera jeté dans six mois. Vous vous habituez progressivement au travail régulier avec les gens et vous souhaitez déjà recevoir des commentaires non pas de tout le monde d'affilée, mais de ceux qui sont vraiment dans le sujet et qui utilisent au maximum les capacités de la bibliothèque. L'opinion des gens est importante, mais ce n'est qu'un moment de travail.

D'un autre côté, il ne faut pas surestimer l'opinion de la société. Quand vous venez de commencer, il semble que tout soit contre vous. Ni merci, ni bien fait, seulement là ce n'est pas le cas et ce n'est pas le cas. Je pensais que j'avais fait une grande chose, j'aurais pu y mettre mon âme, et maintenant tout le monde devrait l'admirer, mais en réponse seulement à la critique. Pour moi, c'était un point sensible, je n'étais pas prêt pour une telle attitude et au début j'ai réagi assez vivement aux commentaires, essayant de me défendre. Puis j'ai commencé à remarquer que les gens étaient un peu normaux, que je ne les comprenais pas, j'étais en quelque sorte déprimé, même excusé. Mais s'il n'y a pas d'expérience, vous devrez d'abord vous défendre, sinon vos mains pourraient tomber et tout pourrait ne rien finir.

De plus, du point de vue du mainteneur, il faut distinguer les motivations des personnes. Chacun a sa propre opinion et tout le monde se trompe. Par conséquent, vous devez filtrer les conseils, en particulier ceux qui tentent de se couvrir d'une couverture, poursuivant des intérêts exclusivement personnels. Certaines personnes pensent que tout doit être fait différemment, par exemple dans mon cas:

  • mec, pourquoi n'avez-vous pas la possibilité d'afficher le masque hors de la boîte uniquement avec le focus du champ?
  • pourquoi votre date par défaut ne fonctionne qu'avec le format jj.mm.aaaa, qui n'est pas le plus courant, mais pour d'autres, il est nécessaire de tordre la sérialisation?
  • Où obtenir le masque pour le téléphone du Brésil?

Etc.
Le fait est que, en tant que personne, j'ai ma propre vision du projet et c'est tout à fait normal. Le fait que la bibliothèque soit dans le domaine public ne signifie pas qu'elle convient à tout le monde et que vous devez essayer de plaire à tout le monde. On peut observer comment, sous l'influence de la société, certains projets sont simplement séparés dans des directions différentes, le privant d'intégrité, ce qui conduit au chaos, aux bugs et généralement à une mort lente du projet. Néanmoins, pour moi, j'essaie de fixer les besoins de la société, surtout s'ils commencent à se répéter. Mais la solution n'est pas nécessairement un changement dans la bibliothèque elle-même, il peut s'agir d'un exemple de code, d'une documentation ou d'un commentaire dans le code. Tout à l'heure, je pense à ajouter des exemples de questions courantes à la documentation, comme celles ci-dessus. Mais au début, j'ai également réagi assez vivement à ces questions, les jugeant inappropriées et quelque part peut-être stupides. L'une des raisons de ce comportement était que je voulais moi aussi m'imposer mon point de vue. Parce que ma bibliothèque est la meilleure!

Soyez le meilleur


Cela provoque inévitablement des conflits. Le temps a passé, mais je pense toujours que ma bibliothèque est belle, l'idée et la mise en œuvre sont tout simplement géniales! Ne décrivez pas avec des mots !!! 1 Mais avec une mise en garde: c'est le meilleur pour moi et pour ceux qui sont dans des circonstances similaires. Il est peu probable qu'il puisse y avoir une bibliothèque universelle pour tout: il y a toujours des particularités et des cas particuliers. Et c'est merveilleux qu'il existe une telle variété de solutions pour divers cas, et qu'une personne peut non seulement être renvoyée, mais compte tenu de ce qui lui convient vraiment mieux. Un seul moment, malheureusement, est généralement oublié dans toute cette idylle: LA QUALITÉ N'EST PAS SUGGÉRÉE. J'avoue avoir écrit quelques tests. Mais il est nécessaire de distinguer strictement le goût des erreurs de production, en particulier au stade de la conception. Vous ne pouvez pas faire de compromis avec la qualité - c'est là que vous pouvez vraiment prendre vos inclinations perfectionnistes et vous en rafraîchir. Eh bien, oui, vous devez le réécrire une fois, peut-être deux, cela peut casser l'API. Mais je pense qu'en général, il est utile à la fois pour la personne et le projet, s'il est abordé avec sagesse. D'une manière ou d'une autre, la conclusion que je me suis faite - «tout a sa propre niche» - m'aide partout. Je peux dire avec certitude que la vie est devenue plus facile. Lorsque vous commencez à communiquer normalement avec les gens, vous commencez à remarquer que beaucoup de gens veulent vraiment aider et commencent à apprécier cette aide et ces relations.

Relation


Et les gens répondent. Pour moi, c'était probablement le plus précieux. J'ai rencontré et je suis resté en contact avec des gens vraiment intéressés par ce qu'ils font. Il y en a peu, et encore moins avec qui établir des relations. D'une manière ou d'une autre, l'open source offre une telle opportunité et lentement une équipe est formée pour susciter quelque chose de vraiment cool. Quelle autre alternative existe-t-il? Si je veux vraiment investir dans ce que je fais, et pas seulement pourrir pour la poupée, copier un autre CRUD ou formulaire d'interface.

Avantage


Sujet douloureux. J'ai l'impression que tout le monde n'aimera pas ce que j'écris ici, mais je dois dire que je ne l'aime pas et je ne suis pas d'accord pour tout évaluer avec de l'argent. L'argent est bon, mais pas en premier lieu. De nos jours, l'accent mis sur l'argent, le prestige, etc., les choses externes est trop biaisé. Il semble qu'il n'y ait pas de différence pour les obtenir, s'ils paient, c'est bien. Cela conduit simplement au fait que la qualité est perdue, un bel emballage de bonbons reste, mais le sens est perdu.

Au début, je pensais aussi qu'ils sacrifieraient et vivraient pour moi maintenant, mais ensuite les priorités ont changé. Au fait, pour 3 ans de développement, ils m'ont donné 3 500 roubles (roubles russes, KARL!), Dont 3 000 ont été donnés par une bonne personne à qui je suis très reconnaissant. Pas beaucoup. Mais ci-dessus, j'ai écrit beaucoup de valeurs que j'ai acquises au cours du développement du projet. Une autre chose que j'ai oublié de dire, c'est que beaucoup d'offres d'emploi d'une grande variété d'entreprises, petites et énormes, m'ont été confiées. Si vous souhaitez trouver ou modifier des emplois, l'open source est un excellent moyen de parler de vous. Donc globalement, je trouve ça rentable. Décidez par vous-même de ce qui est important pour vous et fixez des priorités. Je ne voulais pas que cela se transforme en un autre travail, donc je ne me suis pas concentré sur cela. J'aime l'autre open source telle qu'elle est - ouverture, liberté, idéologie, enthousiasme et motivation. Je le secouerais probablement et ne le diluerais pas avec de l'argent. Même si peut-être je ne sais pas cuisiner. Peut-être que Sitnik enseignera.

Source: https://habr.com/ru/post/fr451044/


All Articles