La mayoría de las habilidades que no son de programación aumentan el valor del desarrollador

El autor del libro sobre cómo construir una carrera, Roman Zhikharev, habla con el director técnico de G-Core Labs , Vasily Mikhaleny, sobre lo que las empresas de TI modernas esperan de sus empleados.

- ¬ŅC√≥mo crees que se ve el concepto de valor de desarrollador?

Para aumentar su valor, debe hacer tres cosas:

  1. Estudiar las tecnolog√≠as demandadas en el mercado hoy y ma√Īana.
  2. Desarrollar habilidades universales (habilidades blandas).
  3. Asumir m√°s responsabilidad.

- Comencemos con lo m√°s simple. ¬ŅQu√© tecnolog√≠as dominar?

Las tendencias de hoy están cambiando increíblemente rápido. Por lo tanto, me gustaría expresar algunos principios generales, en lugar de describir tendencias o hacer predicciones. La configuración ideal de experiencia y habilidades, considero una persona con experiencia en forma de T (personas con forma de T). La esencia del término es que, como experto en un campo técnico específico, debe tener una idea de lo que está sucediendo en los vecinos.

Por ejemplo, un desarrollador de back-end, además de un profundo conocimiento de las características del lenguaje (por ejemplo, Python) y marcos comunes, definitivamente necesita saber y, preferiblemente, ser capaz de construir el proceso de prueba, ensamblaje e implementación (canalización CI / CD, por ejemplo en Jenkins). Debe conocer las características del entorno en el que funcionará el código y cómo garantizar la tolerancia a fallos. Por ejemplo, para hacer frente a AWS / Azure / GCE o la instalación local de k8s, puede corregir el error en las herramientas de implementación escritas en golang.

En algunas áreas, el valor aumenta la disponibilidad de certificados. Al contratar, su cartera es importante, es más fácil demostrar sus habilidades y su código participando en proyectos de código abierto o publicando sus proyectos favoritos en github.

- Mencionaste varias soluciones tecnológicas populares. Resulta que necesitamos aprender qué hay en la tendencia.

No necesariamente Puede ir a por el bombo publicitario en el mercado, o puede ir en la direcci√≥n opuesta. Si est√° interesado en tecnolog√≠a poco com√ļn y no quiere correr despu√©s de la moda, existe la posibilidad de aumentar su valor debido a su conocimiento √ļnico.

Los gigantes de la tecnología moderna son lo suficientemente flexibles y pueden permitirse actualizar sus sistemas con éxito. Y, por lo que se puede juzgar, Yandex y Google no tienen un impresionante legado de soluciones basadas en tecnologías obsoletas.

Pero hay sectores m√°s conservadores: bancos internacionales , gigantes industriales y energ√©ticos, y la industria de defensa. Para ellos es muy dif√≠cil encontrar especialistas en su propia pila y est√°n listos para pagar un buen dinero. Un buen ejemplo es el uso de Perl "moribundo" en booking.com y mail.ru. O COBOL , desarrollado en los a√Īos 60, y a√ļn utilizado en algunas instituciones financieras de los Estados Unidos.

- Y entonces, ¬Ņqu√© se entiende por habilidades universales?

La capacidad de comunicarse con otras personas aumenta significativamente el valor del desarrollador para la empresa. En la pr√°ctica, esto significa que una persona puede plantear un problema, fundamentar su opini√≥n, proponer una soluci√≥n, identificar correctamente a las partes interesadas, saber c√≥mo interactuar efectivamente con diferentes personas (flexibilidad), resolver conflictos de manera constructiva, negociar, capacitar, orientar y asesorar. E incluso hablar en p√ļblico o presente.

Esto tambi√©n incluye la capacidad de hablar el mismo idioma que el dise√Īador y la comprensi√≥n de los motivos de su l√≠der. Pienso en el conocimiento del ingl√©s, por lo que todo est√° claro.

- ¬ŅQu√© significa asumir m√°s responsabilidad?

Nos esforzamos por contratar personas que busquen un poco más allá de su herramienta de trabajo (tecnología) y se concentren en los valores para el usuario final. Por ejemplo, aquellos que ofrecen opciones para optimizar los procesos de desarrollo, están buscando soluciones al problema de un cliente y están listos para hacer esfuerzos para discutir e implementar cambios.

Desafortunadamente, a menudo puedes ver desarrolladores que crean un culto en torno a sus herramientas. Pero debe comprender que si el código no entró en producción a tiempo, su calidad o las herramientas utilizadas no importan. Este código no trajo ganancias a la empresa.

"Me recuerda a los valores √°giles". ¬ŅHay una conexi√≥n?

Si Existe un conjunto de prácticas llamadas DevOps que desarrolla valores ágiles. Ayuda a la empresa a cambiar su enfoque de los procesos de formalización a interactuar internamente para crear valor. Pero esto es imposible sin asumir la responsabilidad del resultado final de todos los miembros del equipo.

Un buen desarrollador comprende la cultura DevOps y sabe cómo aplicarla en su equipo e, idealmente, en la empresa. O incluso plantar. Por ejemplo, una de las prácticas de DevOps es CI / CD (las versiones más frecuentes). Y si realmente desea realizar lanzamientos frecuentes (al menos una vez al día), no podrá hacerlo en ausencia de la automatización de la integración y las pruebas, la automatización y la estabilización del proceso de implementación, la separación del lanzamiento del despliegue (alternancia de funciones), que está funcionando y es claro para el monitoreo, los desarrolladores de preservación compatibilidad con versiones anteriores, cambio de mecanismo de retroceso, etc. Será obvio para usted que la responsabilidad de un buen desarrollador no termina cuando transfiere la tarea al departamento de control de calidad.

El valor de los lanzamientos frecuentes parece ser obvio para todos.

Anti-DevOps es una división del proceso de producción en dos o más pozos funcionales: desarrollo, pruebas, operación, seguridad. Como resultado, cada función resuelve solo sus propios problemas.

El sentido general es que el equipo debe asumir la responsabilidad de la calidad del producto, el valor de las características para el cliente, el momento y, en menor medida, el cumplimiento formal de los requisitos en la descripción de la tarea. El desarrollador no debe tener prejuicios para limitar su responsabilidad: “Ya he transferido la tarea a las pruebas. No puedo evitar nada más ".

Cuanta m√°s responsabilidad, mayor ser√° el impacto en los resultados de la empresa. En una buena compa√Ī√≠a, las personas que influyen en su crecimiento ascienden en la escala profesional.

La responsabilidad del equipo requiere una buena comunicación. Construir todo lo anterior sin las habilidades de comunicación constructiva y trabajo en equipo es casi imposible.

- ¬ŅPor todas partes as√≠?

En una gran empresa con procesos maduros ya establecidos, la aceptación de la responsabilidad significará hacer algo más allá del trabajo en su proyecto: organización de reuniones, charlas tecnológicas, hackatones; participando en preventa o entrenamiento interno.

- Conclusiones?

En resumen, podemos decir que la estrategia más óptima para el desarrollo personal es adquirir habilidades de comunicación para expandir de manera más efectiva los límites de responsabilidad de lo que sucede con su producto y en su equipo o empresa.

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


All Articles