Curvas de desarrollo del programador y un poco sobre el efecto Dunning - Krueger

imagen

Hay dos formas principales de convertirse en la alta dirección de las empresas de TI:

  1. Gerencial: cuando un gerente de proyecto comienza a administrar otros gerentes.
  2. Tekhnarsky: cuando un desarrollador comienza a administrar a otros desarrolladores y la cantidad de personal que administra aumenta.

La primera forma es más natural, ya que implica el desarrollo de las cualidades básicas de un gerente a medida que crece. De hecho, el gerente sigue siendo el gerente y solo se convierte en especialista en un nivel superior.

La segunda forma es más larga y no garantiza el éxito, ya que es contrario a la esencia del programador introvertido. Sin embargo, en este camino me gustaría centrarme y compartir experiencias y conocimientos.

Atención, spoiler.

  1. Todos los nombres son ficticios.
  2. La narración se relaciona más con el desarrollo personalizado.
  3. Las habilidades, y especialmente las habilidades blandas, son difíciles de evaluar formalmente, todos los gráficos en este artículo son condicionales y reflejan mi opinión personal

El comienzo del camino del programador.


Entonces, estamos en el comienzo del camino del programador.

Conoce: Nikolai (nombre cambiado). Nikolai es un joven programador, estudia bien en la universidad y ya ha intentado escribir sitios web simples. Ingresó al estudio para el puesto de front-end de junio, se le puso en un proyecto que se ha escrito durante dos años utilizando la versión 1.5 del marco angular moderno. El niño de Kolya no trabajó con él, pero vio un signo de dólar familiar y ya logró escribir un par de complementos para jQuery. Este hecho alentó a Nicholas, pero luego los camaradas superiores le dijeron que esto no era jQuery en absoluto, y, en general, debe escribir una directiva aquí, pero aquí deben hacerse dos filtros. Nikolay está deprimido, pero está decidido a unirse a este proyecto.

Y ahora que ha pasado un año, Nikolai escribe magistralmente directivas y no pasa un día sin un nuevo módulo. Kohl a caballo, el optimismo se suma a él por el hecho de que hace seis meses se le plantó un joven June para un proyecto, y ni siquiera sabe cuál es la directiva. Cachorro! Nikolai se hizo amigo de camaradas mayores, y solo un hombre de 30 años en la esquina siempre está insatisfecho con algo.

imagen
En realidad, en los gráficos vemos las habilidades técnicas para el proyecto y todas las habilidades de Nicholas que tiene. Dado que este es su primer proyecto, de hecho, esto es todo lo que Nikolai sabe. Después de un tiempo, acude a las autoridades y pide dos bolsas de dinero, porque crea hábilmente directivas sobre el proyecto y, en general, considera que deja el doble de comentarios en MR que el hombre de 30 años. Obviamente, él es mejor que el líder de su equipo. Recibe una negativa completamente razonable a esto y comienza a buscar un nuevo trabajo, tal vez está pensando en mudarse a otro proyecto o a otro equipo. En cualquier caso, se enfrenta a una situación en la que el conocimiento recién adquirido ya no es relevante y necesita aprender más.

imagen
Esta es la primera crisis de Nikolai, "El efecto del primer proyecto".

En un nuevo lugar, Nikolai recibe un proyecto en Angular 5, bueno, ¡escribe hábilmente las directivas! ¡Pero allí ve un juego! ¿Qué más es TypeScript? ¿Qué son los RxJs y los hilos? Los camaradas mayores se ríen de él, y el hombre de 30 años lanza miradas desagradables. ¡Vi una gran cantidad de tales estrellas y muchas estrellas, cuando el desarrollador se dio cuenta de que resulta que todavía no sabe nada! Y cuanto antes esto suceda, mejor. Esto se llama Dunning - Efecto Krueger - una distorsión metacognitiva, que consiste en el hecho de que las personas con un bajo nivel de calificación hacen conclusiones erróneas, toman decisiones sin éxito y no pueden reconocer sus errores debido al bajo nivel de sus calificaciones.

imagen June, que reemplazó 3-4 proyectos en un año, es mucho más preferible para el empleador que June, que se sentó solo en el mismo proyecto durante un año, porque él:

  • Evalúa objetivamente sus conocimientos y habilidades.
  • En constante evolución
  • Se comunica más en el equipo.
  • Entiende el precio de un error más porque vio más plazos y lanzamientos.

A los colegas que estaban en esta etapa les gustaría desear lo siguiente:

  • No te desanimes cuando fallas
  • Aprender constantemente y aprender nuevas bibliotecas y tecnologías.
  • No estrella

Junior → Middle → Senior


Bueno, han pasado un par de años y ¿qué vemos?

imagen Nikolay ya ha dominado varios marcos y se dio cuenta de que los marcos son solo una herramienta para resolver problemas específicos. Soportó el hecho de que no lo sabe todo, pero al mismo tiempo está tratando de desarrollarse todo el tiempo. En algún momento, se acerca al joven líder del equipo de 33 años y le dice: Escucha, Petya (nombre cambiado), nos han llegado unos pocos dzhuns, no saben nada y lentamente realizan tareas en el proyecto. Permítanme darles algunas conferencias o clases magistrales para que puedan unirse rápidamente a nuestro trabajo. Y es en este momento que Nikolai pasa al siguiente nivel.

Ahora hay una división en Junior, Middle, Senior. Middle piensa que para convertirse en un Signor, necesita dominar un nuevo lenguaje de programación y ajustar su equipo. Esto no es del todo cierto. En los albores del desarrollo interno, había una posición similar a la de Signor, se la llamaba Programadora líder: tal especialista no solo sabe mucho, sino que también lidera proyectos o un equipo. Signor no puede convertirse sin las habilidades blandas apropiadas.

Nikolay aprendió a encontrar enfoques para todos los miembros del equipo, él está constantemente desarrollando y desarrollando el resto. Ya ha visto a las "estrellas del primer proyecto", pero se siente mucho más cómodo trabajando con los mismos profesionales que él. Después de todo, entienden que el éxito del proyecto es el éxito de todos, y la punción de un miembro del equipo finalmente afecta a todos sus participantes.

En esta etapa, son posibles dos formas: ser un actor simple, no esforzarse y resolver tareas; el segundo es desarrollar en la dirección de un programador líder, asumir la responsabilidad y la iniciativa.

En esta etapa del desarrollo del programador, el equipo y la gerencia aprecian sus cualidades:

  • Responsabilidad
  • Fiabilidad
  • Sociabilidad
  • Proactividad

¿Dónde vale la pena desarrollar?

  • Comprensión profunda de las tecnologías que usa
  • Ampliando los horizontes
  • Asumir la responsabilidad de los proyectos y las personas.

Además, las habilidades del último párrafo deben ser impulsadas si quiere desarrollarse a lo largo de la curva hacia la cabeza. Si no está interesado, podemos concentrarnos en las habilidades de un especialista técnico.

Crisis tecnológica


En algún momento, Nikolai se horroriza al darse cuenta de que nadie ya está escribiendo en JS, y que nadie necesita la mayor parte de su conocimiento. Así es como se establece la crisis tecnológica. Encontré una crisis con las aplicaciones de escritorio. Un poco más tarde, ya no se necesitaban simplemente codificadores: los renderizados de front-end comenzaron a ser necesarios en todas partes. Luego, PHP pasó de moda abruptamente y los desarrolladores de JS se hicieron necesarios en el mercado.

imagen
Hay tres salidas:

  1. Vuelva a entrenar para una nueva pila
  2. Mejora en lo viejo y aprovecha las últimas órdenes. El mismo Delphi todavía está en demanda en círculos estrechos con una gran cantidad de código heredado
  3. Dejar en gestión con las habilidades apropiadas

Siempre se necesitarán especialistas fuertes, pero, con una disminución en la demanda de una determinada tecnología, aumenta la competencia entre los solicitantes. El desarrollo personalizado sufre en esta medida más que el desarrollo de productos. Habiéndose establecido en una gran empresa de abarrotes, un desarrollador puede no tener miedo de la antigüedad o la obsolescencia de su pila de tecnología: tendrá demanda mientras dure el producto. Según mis estadísticas, la edad promedio de los desarrolladores en las empresas de alimentos es mayor que en los estudios.

TeamLead. Crisis de edad


Bueno, Nikolay cambió la pila de tecnología, y todo parece estar bien, pero vemos que las nuevas habilidades se están dando más lentamente, y la generación más joven se está poniendo al día más rápido.

imagen
Aquí viene la última crisis: la crisis de la edad.

Nicholas se convirtió en uno de esos líderes de equipo a quienes veía hace varios años como personas mayores, siempre gruñendo y disgustado, pero ahora comenzó a escribir menos.
Puede pensar que si escribe menos código, se desarrollará más lentamente, y los tipos que escriben más se desarrollarán más rápido, y pronto lo alcanzarán. Conocí tanta fobia entre los jóvenes especialistas.

¿Qué opciones puede haber?

  • Si trabaja en una empresa de comestibles, entonces probablemente esto no sea tan crítico para usted, y puede dejar todo como está.
  • Vaya a capacitación, por ejemplo, para convertirse en consultor, arquitecto, etc.
  • Taki ir a la gerencia

Pasemos a las curvas


Satisfacción No siempre puede estar en la cima, no siempre se encuentran proyectos de alta calidad y es difícil elegir y educar al equipo ideal.

imagen

Estoy seguro de que a pesar de la disminución de la satisfacción, uno siempre debe seguir siendo humano. Digo que si las fechas límite del proyecto están vigentes y todos corren por el jabón, demasiado nerviosismo no ayudará al caso. El equipo se sentirá mucho más cómodo trabajando con personas que no lo decepcionarán en los momentos críticos.

Las habilidades técnicas se adquieren relativamente rápido y aún más rápidamente se olvidan y se vuelven obsoletas, si se ven desde un lado.

imagen
Resulta que el programador tiene su pico de desarrollo, y luego comienza a "envejecer", y en algún momento es hora de que se retire.

Si y no De hecho, en lugar de un solo gráfico, puede dibujar 3 (de nuevo en mi humilde opinión, como los valores).

imagen
  • habilidades tecnológicas : este conocimiento está en tecnología, lenguaje de programación, marco. ¿Recuerdas lo que escribí antes de que el líder del equipo comienza a escribir menos código y más control? Estas habilidades tienen su punto máximo precisamente en el momento de la mayor demanda de un especialista en el papel de codificador.
  • Las habilidades duras son una combinación de los conocimientos y la experiencia de los desarrolladores; con el tiempo, su crecimiento disminuye debido al hecho de que los viejos conocimientos ya se están volviendo obsoletos y no tienen demanda, pero es el residuo seco el que sigue siendo útil.
  • Las habilidades blandas son precisamente esas cualidades personales que no se pueden contar, pero que deben desarrollarse. Estas son cualidades que siempre son importantes, pero que se les dan en diferentes grados a todos desde el nacimiento.

Pero agreguemos otro gráfico
value = (0,5*tech + 1*hard + 1,5*soft)/3

image
, , 10 .
, .

, ? « , — » , . , , , , . , , .

HR- . , . , . : , , , ( , ).

2


, :

Junior → Middle → Senior → TeamLead? → Project manager? → Head Of * → Chief * Officer

?
, : . , : , .

image

TechLead vs TeamLead



       ,     (,   ),    .

TeamLead ( 1   ) — , .   :
  1.        
  2.   ,  
  3.   (    )
  4.       ,   .
  5.   TechLead  PM

TechLead ( 2   ) — .     , TeamLead,   , ..     2 .
 — TechLead,   TeamLead:
  1.   ,    , ,  
  2.  — ,  ,   —  
  3.   ,    
  4. PM    
  5.    TeamLead,  

,  ,  , (  ), .

 — ,        ,    , ,   , ,       ,     - .


, , , , , . , .

( , , ) , , .

, :

  • , ,
  • , ,
  • ,

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

/ , , : , ..

, — . , . , , , .

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


All Articles