Cómo mi vida se convirtió en un libro de Kafka

Esta es una historia triste y larga sobre la relación en el equipo de TI y la cultura corporativa, y sobre el desarrollo conjunto. Espero que ayude a alguien a no cometer nuestros errores y construir mejores relaciones con sus colegas.

Entrada


A finales de marzo de 2018, comencé a trabajar, como me parecía, en una empresa sueca confiable y atractiva con un gran departamento de TI de 200 personas. Soñé con participar mucho en el desarrollo de nuevas aplicaciones Java, conocer mejor los marcos de Spring, aprender nuevas tecnologías (antes de eso, accidentalmente llegué a una empresa donde todavía se usaba SVN), participar en discusiones interesantes, obtener y dejar comentarios adecuados en la Revisión de Código (y no se moleste solo con espacios y sangrías), en una palabra, sea parte de una comunidad profesional y pueda desarrollarse como especialista. La notoria cultura corporativa sueca y un equipo internacional heterogéneo me alentaron y fortalecieron mis esperanzas de nuestra fructífera cooperación con la empresa.

En los primeros meses, realmente podría decir que encontré todo lo que estaba buscando. Rápidamente me sumergí en el desarrollo, participé en el lanzamiento del MVP, aprendí mucho e incluso aprendí Kotlin, lo que me permitió hacer una contribución viable a otros proyectos.

Pero mi felicidad no duró mucho ...

Reclutamiento


A principios de septiembre, apareció un nuevo empleado en nuestro equipo, por simplicidad lo llamaré Gianni (un descendiente de italianos que se mudó a Brasil). El líder de nuestro equipo, Kira, y las personas mayores que lo entrevistaron no expresaron ningún entusiasmo particular, pero por alguna razón se ganó el corazón del jefe de Kim Kirin (ahora presento muchos nombres ficticios).

A diferencia de todos nuestros desarrolladores relajados (que casi se declararon en huelga cuando se les pidió que no usaran Bermudas en el verano por trabajo), Gianni se veía exactamente tan brillante: en cualquier +35 en pantalones, una camisa de manga larga y botas negras pulidas. Desde el umbral, pidió un mejor salario que el de nuestros mayores, y declaró que tenía cinco ofertas de trabajo más "por teléfono". Aparentemente, bajo la presión de todos estos argumentos innegables, Kim decidió satisfacer todas las solicitudes de un joven ambicioso, a pesar de las protestas de Kira. Nuestro período de prueba dura seis meses, por lo que decidimos tomarlo y probarlo.

Es interesante que Gianni se posicionó como un Java-Spring Senior, aunque, como supe más tarde, en realidad trabajé con PHP durante varios años, y antes de venir a nosotros, con un solo proyecto Java.

Primeros pasos


Desde que ingresé a un nuevo colega, pasé mucho tiempo con él en sus primeros días. Todo parecía normal en general, excepto por el hecho de que a menudo seguía mirando el teléfono incluso durante nuestra conversación con él, y a veces ignoraba todo lo que dije.

La primera tarea de trabajo de Gianni fue el establecimiento de nuestra Kibana. Un nuevo lanzamiento se llevaría a cabo en 2 semanas, y todos decidieron que sería mejor hacer una revisión detallada de nuestra aplicación más adelante. Y para Kibana, un período de dos semanas fue justo (la compañía ya había establecido toda la infraestructura para ello, solo era necesario fijarlo a nuestra aplicación).

Un mes después, después del lanzamiento, el largo sufrimiento sobre lo difícil que es configurar el inicio de sesión y algunas disputas en devops (que, por supuesto, no quieren funcionar), Kibana había terminado. Y, a pesar del hecho de que estábamos pasando por un período de corrección activa de errores de varios tamaños en una aplicación grande y dos microservicios (podría encontrar algo de su agrado), Gianni comenzó a configurar Grafana.

La grafana tomó un total de dos meses. Las primeras semanas y media se dedicaron a escribir una línea con la recopilación de métricas de cada ejecución desechada y ponerla en el código de revisión. Casi inmediatamente después de la publicación, dejé un comentario que decía que el componente AOP es adecuado para recopilar métricas, y durante la segunda semana y media Gianni leyó sobre AOP en general, sobre AOP en primavera en particular, para decidir si mi idea es razonable. Solo después de que otros desarrolladores entraron en la revisión, comenzó a implementarla.

Recuerdo el día en que realmente tenía mucho trabajo: nuestro señor Carl se fue de vacaciones, tuve que presentarle a la nueva desarrolladora Sarah, y la cantidad de boletos no me permitió olvidar mis deberes básicos. Gianni se acercó a mí y me dijo que estaba tratando de sumergirse en el AOP y que para comprender completamente lo que quería ver allí, necesitaba una sesión de programación en pareja o un fragmento de idea (lo que fuera).

Entonces me pareció que atornillar aspectos a la aplicación en el resorte consta de unos tres componentes:

  • agregar dependencia;
  • diseño de componentes;
  • creando clases con las anotaciones necesarias.

Un usuario avanzado de Java no debería haber causado dificultades técnicas, según mis estimaciones, no una de ellas, pero la organización de las clases podría llevar bastante tiempo. En general, para no distraerme de mis errores y no imponer mi propio gusto a una persona, preferí preparar un fragmento de código con todo tipo de variaciones sobre el tema de lo que AOP abre para ahorrar tiempo y tiempo.

La implementación se prolongó durante otras dos semanas. O Java no compiló, luego no se agregaron métricas. No hubo preguntas ni para mí ni para otros desarrolladores, todo el sufrimiento fue soportado solo.

Paralelamente a esto, comenzaron a ocurrir otros eventos extraños. Había bastantes, pero recordaba bien estos dos.

  1. . , , , -, - - . , , " " "", -- , .
  2. (, ): ", , - ?"
    : ", ."
    ( , , ): " ----, ."



. - ( ), . , . .

, «» (, , AOP ). , :) , , :

  • code snippet AOP ( " " );
  • , ;
  • , ( , );
  • , ;
  • .

, , — .

: AOP , , «» , . PO, , , .

— , , . . , :

  • ( , , );
  • : ( );
  • gradle- ;
  • static , Spring-.

, , . : « , - ».

: POC , . , , - , . , , . : «». .

, , , , . HR, , — , , . , , . , . .

, . . , , , .


. , .

: . , , , , . , ( 20!!!), — . , ( ) , , , Angular.

:
. .
(): ", ?"
: " , , ."
: ", , "
, , , "" "bbb". - : " - ? , - ."
: "-, , . , , , ."
: " - , , , , ."
: " ? , , ?"
: " , ."
: " ."
(): " ."
, .


, . , , , , , .

. . , . , .


: . (, , ) , — «» , . ( , , ), , , — . , . , , . , .

: ( ) , — . , . , , , .

. , , . , , . HR. , . , ?

. , . , «» , , .

- - — . . … , - .

, , .. . , , «» — . , , , ( ).

— — . , : . .


, , , , . , , - 404, - .

( ), — (, , , , ), , . : , . , , .

, , , / . , .

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


All Articles