IMaskjs - 3 años en código abierto

imagen

Hola a todos!

Han pasado 3 años desde que comencé a trabajar en la biblioteca imaskjs . Aunque el código abierto es un proceso interminable, se puede decir que, en general, el trabajo se completa y se mueve a una corrección de errores lenta. Por el momento, hice todo lo que quería, no hay otras ideas, excepto las pruebas de orina, pero la pereza.

No fue una manera fácil: muchas veces quise renunciar a todo, y muchas veces pensé que todo ya era perfecto. Ahora todo se ha calmado y puedo con un alma tranquila y una conciencia tranquila recordar cómo fue y filosofar sobre el tema de si valió la pena y por qué.

Antecedentes


Todo comenzó con el hecho de que para el trabajo necesitábamos una biblioteca para enmascarar una variedad de campos en una variedad de formas. El formato de la máscara se proporcionó desde un sistema externo, la validación ya estaba en el backend, pero esto no fue suficiente para pruebas insaciables. Pocos de nosotros resultaron ser soluciones existentes para el enmascaramiento. Luchamos con ellos durante mucho tiempo, nos bifurcamos, terminamos, conseguimos errores. Como resultado, nunca logramos lo que idealmente queríamos, pero todos estuvieron de acuerdo con lo que tenemos y lo olvidamos. Pero luego me pareció que algo andaba mal aquí; de hecho, debería ser diferente. Vi tantos lugares para mejoras en los códigos fuente de prácticamente todas las bibliotecas populares, entonces, ¿por qué no escribir mi propia solución? Fue terriblemente interesante ver lo que surgió, pero la idea parecía una locura. Ahora sé que el miedo a un nuevo negocio es una buena señal.

Hay mucho debate sobre si escribir su bicicleta o no. En mi caso, tampoco estaba completamente seguro: después de hace medio año, cuando recién comencé mi camino de desarrollo en la empresa y era considerado un junior, entonces nadie parece necesitarlo, y es solo una pérdida de tiempo, nadie alrededor escribe algo así, tal vez es mejor ir a ganar más dinero ... Sí, perdí mucho tiempo, no lo apreciaba en el trabajo y no ganaba dinero con eso. Pero estoy seguro de que definitivamente valió la pena. Quería hablar sobre esto.

Motivación


El propio proyecto le da ingenuidad y descuido a la escuela, es esa sensación cuando estás completamente absorto en el proceso, te pican las manos, te arden los ojos y no existe nada más a tu alrededor. Fue asombroso. Por supuesto, no podía estar involucrado en la biblioteca todo el tiempo, tal como lo entendía y no era necesario; más bien, debe darle tiempo a la comunidad entre lanzamientos para escuchar comentarios y ajustar el vector de desarrollo. Pero tan pronto como volví al desarrollo, ese mismo sentimiento volvió de nuevo, el interés no se desvaneció y no había razón para detenerse. Tal vez alguien tuvo más suerte con el trabajo, pero mi trabajo se convierte rápidamente en una rutina: el mundo de la empresa es bastante monótono y aburrido. Y cuanto más tiempo permanezca en él, más experiencia y más rutina. Sus proyectos ahorran y ayudan a no agotarse. Por supuesto, esto no tiene que ser de código abierto, pero es más fácil llamar la atención y recibir comentarios.

Personalidad y sociedad


Creo que la comunicación y la retroalimentación son de gran importancia tanto para el proyecto como para el desarrollo del individuo. Si bien no está en la sociedad, no está claro quién es y qué puede hacer, es difícil evaluarse a sí mismo y sus logros desde el exterior. Y sin esto es difícil crecer. Además, el valor del proyecto es difícil de evaluar solo. Anteriormente, quería pensar que no me importaba la opinión de la sociedad, no necesitaba a nadie y esto no es importante. Me hubiera sentado en mi mente, pero afortunadamente el deseo de fama y estrellas en el github resultó ser más fuerte. Afortunadamente, el asunto no se limitó a esto. Pero cuando comenzaron las opiniones de los demás, significó mucho: si alguien encontró fallas o comenzó un error, comienza a preocuparse e intenta solucionarlo más rápido para que nadie más lo vea, después de 5 minutos, implemente la nueva versión, pero no hay pruebas, y va aún más allá. Y cuando publica un artículo, generalmente no puede quedarse dormido por la noche. Tal vez estoy exagerando un poco, pero en general: un circo en el proyecto, un manicomio en mi cabeza, y cada versión es un gran estrés. Ahora todo esto provoca una sonrisa, pero creo que por primera vez, muchos de los que no se preocupan por lo que hace tendrán que pasar por eso.

Como en cualquier negocio, gradualmente disminuye la influencia de factores externos, y quiero entender que realmente hiciste algo valioso y útil u otro envoltorio de dulces que se tirará en seis meses. Se acostumbra gradualmente al trabajo regular con las personas, y ya desea recibir comentarios no de todos en una fila, sino de aquellos que realmente están en el tema y que aprovechan al máximo las capacidades de la biblioteca. La opinión de las personas es importante, pero este es solo un momento de trabajo.

Por otro lado, no se debe sobrestimar la opinión de la sociedad. Cuando recién comienzas, todo parece que todo está en tu contra. Ni gracias, ni bien hecho, solo que allí no es así y esto no es así. Pensé que había hecho una gran cosa, podría haber puesto mi alma en ello, y ahora todos deberían admirar, pero en respuesta solo críticas. Para mí fue un punto doloroso, no estaba preparado para tal actitud y al principio reaccioné bruscamente a los comentarios, tratando de defenderme. Entonces comencé a notar que la gente era normal, que no los entendía, que de alguna manera estaba deprimida, incluso me disculpaba. Pero si no hay experiencia, tendrá que defenderse al principio, de lo contrario sus manos se caerán y todo puede terminar en nada.

Además, desde el punto de vista del mantenedor, uno necesita distinguir los motivos de las personas. Todos tienen su propia opinión y todos están equivocados. Por lo tanto, debe filtrar las sugerencias, especialmente aquellas que intentan cubrirse con una manta, persiguiendo intereses exclusivamente personales. Algunas personas piensan que todo debe hacerse de manera diferente, por ejemplo en mi caso:

  • amigo, ¿por qué no tienes la capacidad de mostrar la máscara fuera de la caja solo cuando el campo se enfoca?
  • ¿por qué su fecha predeterminada solo funciona con el formato dd.mm.aaaa, que no es el más común, pero para otros es necesario torcer la serialización?
  • ¿Dónde conseguir la máscara para el teléfono de Brasil?

Etc.
La cuestión es que yo, como persona, tengo mi propia visión del proyecto y esto es completamente normal. El hecho de que la biblioteca sea de dominio público no significa que sea adecuada para absolutamente todos y que deba intentar complacer a todos. Se puede observar cómo, bajo la influencia de la sociedad, algunos proyectos simplemente se separan en diferentes direcciones, privándolo de integridad, lo que conduce al caos, errores y, por lo general, una muerte lenta del proyecto. Sin embargo, para mí, trato de arreglar las necesidades de la sociedad, especialmente si comienzan a repetirse. Pero la solución no es necesariamente un cambio en la biblioteca en sí, puede ser un código de muestra, una documentación o un comentario en el código. En este momento, estoy pensando en agregar ejemplos de preguntas comunes a la documentación, como las anteriores. Pero al principio también reaccioné bruscamente a tales preguntas, considerándolas inapropiadas y en algún lugar posiblemente estúpidas. Una de las razones de este comportamiento fue que yo también quería imponer mi punto de vista. ¡Porque mi biblioteca es la mejor!

Se el mejor


Esto inevitablemente causa conflicto. El tiempo ha pasado, pero sigo pensando que mi biblioteca es hermosa, ¡la idea y la implementación son simplemente brillantes! ¡No lo describa con palabras! 1 Pero con una advertencia: es lo mejor para mí y para aquellos que están en circunstancias similares. Es poco probable que pueda haber una biblioteca universal para todo: siempre hay algunas peculiaridades y casos especiales. Y es maravilloso que haya una variedad de soluciones para varios casos, y que una persona no solo pueda ser expulsada, sino dada lo que realmente le conviene. Lamentablemente, solo un momento suele olvidarse en todo este idilio: la calidad no se sugiere. Confieso que escribí algunas pruebas. Pero es necesario distinguir estrictamente el gusto de los errores de producción, especialmente en la etapa de diseño. No puede comprometerse con la calidad: aquí es donde realmente puede tomar sus inclinaciones perfeccionistas y refrescarse de ellas. Bueno, sí, tienes que reescribirlo una vez, tal vez dos, puede romper la API. Pero creo que, en general, es útil tanto para la persona como para el proyecto, si se aborda con prudencia. De una forma u otra, la conclusión que hice por mí mismo: "todo tiene su propio nicho", me ayuda en todas partes. Puedo decir con seguridad que la vida se ha vuelto más fácil. Cuando comienzas a comunicarte normalmente con las personas, comienzas a notar que muchas personas realmente quieren ayudar y comienzan a apreciar esta ayuda y las relaciones.

Relación


Y la gente está respondiendo. Probablemente para mí fue lo más valioso. Conocí y me mantuve en contacto con personas que están realmente interesadas en lo que hacen. Hay pocos, y aún menos con quienes puedes construir relaciones. De una forma u otra, OpenSource brinda esa oportunidad y lentamente se forma un equipo para agitar algo realmente genial. ¿Qué otra alternativa hay? Si realmente quiero invertir en lo que hago, y no solo pudrirme el cabezal, copiar otro CRUD o formulario de interfaz.

Beneficio


Tema dolorido. Siento que no a todos les gustará lo que escribo aquí, pero tengo que decir que no me gusta y no estoy de acuerdo en evaluar todo con dinero. El dinero es bueno, pero no en primer lugar. Hoy en día, el énfasis en el dinero, el prestigio, etc., en las cosas externas es demasiado parcial. Parece que no hay diferencia en cómo obtenerlos, si pagan, eso es bueno. Esto solo lleva al hecho de que se pierde la calidad, queda un hermoso envoltorio de dulces, pero se pierde el significado.

Al principio, también pensé que se sacrificarían y vivirían por mí ahora, pero luego las prioridades cambiaron. Por cierto, durante 3 años de desarrollo, me dieron 3.500 rublos (¡rublos rusos, KARL!), De los cuales 3.000 fueron entregados por una buena persona a la que estoy muy agradecido. No mucho Pero arriba escribí muchos valores que adquirí durante el desarrollo del proyecto. Otra cosa que olvidé decir es que muchas ofertas de trabajo de una amplia variedad de empresas, pequeñas y grandes, me llegaron. Si desea encontrar o cambiar de trabajo, opensource es una excelente manera de hablar sobre usted. Entonces, en general, me parece rentable. Simplemente decida por sí mismo lo que es importante para usted y establezca prioridades. No quería que esto se convirtiera en otro trabajo, así que no me concentré en esto. Me gusta el otro código abierto como es: apertura, libertad, ideología, entusiasmo y motivación. Probablemente lo sacudiría y no lo diluiría con dinero. Aunque quizás no sé cocinar. Quizás Sitnik enseñe.

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


All Articles