Los desarrolladores de software se están convirtiendo en un activo más valioso que el dinero. Extrañarlos o perder el control de ellos (y no está claro qué es peor) es más fácil que nunca. Decidimos hablar sobre cómo reducir estos riesgos.
/ Flickr / Damien Pollet / CC BY-SAComo lo muestra un
estudio de Stripe & Harris Poll, el 61% de los altos ejecutivos (de una muestra de más de 1,000 gerentes) consideró que el factor principal que podría determinar el éxito de su negocio es un equipo de desarrolladores fuertes. Según Forrester, las organizaciones para las que los talentos de ingeniería son críticos y deficientes carecen en 2018 de la necesidad de pagar a los profesionales un promedio de 20% más que el mercado.
Pero incluso con profesionales decentes a su disposición, las corporaciones y las nuevas empresas pueden perder ganancias, simplemente debido a errores del sistema al trabajar con personas de TI. En particular, muchos programadores se ven obligados a soportar sistemas o software obsoletos de francamente baja calidad. Las empresas de todo el mundo están perdiendo alrededor de $ 300 mil millones al año debido a este enfoque.
Y, en general, atraer y retener programadores calificados en el entorno actual no es una tarea fácil. En la "economía del concierto", con modelos flexibles de empleo no estándar, más y más adultos aptos están involucrados:
según McKinsey, a partir de 2017, había hasta 162 millones de personas solo en Europa y EE. UU. Hoy, el desarrollador tiene un número creciente de oportunidades diversas para recibir una recompensa monetaria aceptable para él, sin restringirse al alcance de un contrato de trabajo con un empleador.
Para reclutar un equipo de ingenieros y crear un entorno para ellos que no quieran abandonar, vale la pena seguir algunas reglas. No son la única receta para el éxito en la gestión del talento tecnológico, pero ciertamente funcionan si se aplican sin fanatismo.
Con cuidado, contrata a IT Stars
A veces, la contratación de "celebridades de la codificación" - eminentes expertos en seguridad de la información o genios de altas cargas, etc. - lleva al hecho de que en algún momento se vuelven inviolables, adquiriendo de facto tales influencias en el equipo que realmente confían solo a la gerencia. Esto sucede si, en aras de desarrollar una nueva dirección o proyecto tecnológico, la empresa quiere formar un equipo de ensueño y comienza a "aspirar" el mercado, arrebatando a los profesionales más experimentados, independientemente de cómo trabajen juntos.
A menudo, en grandes empresas con una larga historia, las "estrellas de TI" sufren metamorfosis de personalidad desagradables debido al hecho de que solo saben cómo mantener enormes conjuntos de códigos heredados. Con una estructura opaca de gestión tecnológica, tales empleados ya son reacios a compartir conocimientos relevantes con los recién llegados y comienzan a sabotear iniciativas que hipotéticamente son capaces de socavar su estado en la empresa o departamento.
/ Flickr / Código para América / CC BY-NDHasta cierto punto, estos riesgos son eliminados o mitigados por una implementación honesta y consistente de los principios Scrum y Agile en el trabajo de la organización (ver más abajo), pero incluso en una sola empresa de TI, donde las metodologías flexibles han triunfado, tales "técnicas tecnológicas" pueden complicar el trabajo del departamento de TI.
Sin embargo, la "estrella" no es una oración. Es solo que no necesita tratar de "arrancar estas manos", así como no hay necesidad de evitarlas. Al entrevistar a los desarrolladores más experimentados, debe prestar mayor atención a sus habilidades blandas, incluidas las habilidades de trabajo en equipo (en su mayor parte, el software masivo no es realizado por una sola persona) y los comentarios de empleadores anteriores.
Esto no significa que, en aras de los "riesgos de cobertura", es necesario llevar a un montón de especialistas con funciones duplicadas al equipo o preferir profesionales de clase media a la clase superior. Pero el estrellato del desarrollador ciertamente no es un valor absoluto.
Brinde a los profesionales la oportunidad de aprender nuevas habilidades.
Para la mayoría de los desarrolladores, arquitectos de sistemas, líderes de equipo, el principal motivador, dejemos el dinero hasta ahora, es la superación profesional. Simplemente les gusta escribir código y crear sistemas que puedan hacer algo útil. También les gusta cuando tienen la oportunidad de aprender y hacer su trabajo mejor que otros.
Además, en la comunidad profesional, este anhelo tiende a asumir el carácter de una neurosis: los desarrolladores tienen miedo de no saber algo, de ser insuficientemente competentes incluso en aquellas áreas donde han estado trabajando durante años. Son
propiedad de FOMO (miedo a perderse o "síndrome de pérdida de ganancias"). Nadie está impidiendo que el empleador, que comprende estos matices, brinde oportunidades de desarrollo acelerado a los programadores bajo su supervisión.
Afortunadamente, hay muchas oportunidades de este tipo. En primer lugar, este es (no importa cuán trivial) sea un trabajo interesante, gracias al cual el desarrollador senior fortalecerá su profesionalismo, y el desarrollador junior willy-nilly desarrollará sus habilidades en "Middle". Siempre que el clima en el equipo sea favorable para principiantes estudiosos.
Una cosa es remachar tiendas de plantillas en línea una por una, y otra hacer un producto complejo y atípico. En el caso de proyectos verdaderamente significativos, los problemas puramente tecnológicos dentro de la competencia del departamento de TI adquieren una dimensión real. Las disputas rutinarias que rodean la elección de una tecnología en particular se pueden traducir en un canal constructivo, en el canal de los beneficios que una elección particular le dará a la audiencia del servicio.
Para una empresa que se preocupa por las calificaciones de sus desarrolladores, en el orden de las cosas, cree sus propias bases de conocimiento tecnológico, pague cursos de capacitación y certificación total o parcial, compre literatura profesional a pedido de los desarrolladores, realice hackatones internos.
/ Flickr / Betsy Weber / CC BYUn empleador inteligente con un alma tranquila permitirá que un ingeniero hable en una conferencia especializada, porque entiende que indirectamente se promueve no solo como especialista, sino también como empresa. No debe temer que un especialista sea atraído a otro lugar en la conferencia: si el empleado duda, también puede atraerlo en línea directamente desde la oficina.
Desarrolladores de pago justo
Cuando dicen que el dinero
no es
el principal factor de motivación para un desarrollador, por alguna razón a menudo hacen la vista gorda. Mientras tanto, solo por el hecho de que los especialistas de TI están comprometidos con los principios del pensamiento racional, es especialmente importante que comprendan qué recompensas pueden esperar en el futuro previsible y en qué condiciones. Si los programadores fueran indiferentes al dinero, no se les pagaría
tanto .
También es importante que el modelo de formación de remuneración sea comprensible y mantenga un vínculo con los beneficios que el especialista aporta a la empresa. Sucede que esta regla se viola en relación con los desarrolladores "estrella" (ver arriba) y les paga en exceso "por el estado".
Por supuesto, los empleadores no fomentan la divulgación de información sobre los salarios de sus empleados, pero al final todos saben quién recibe cuánto, y la obvia "injusticia" en relación con cualquiera de los vecinos en la oficina simplemente desmotiva a los programadores.
Para una startup, tiene sentido considerar también un programa de opciones para desarrolladores líderes y cumplir estas promesas, sin importar lo que suceda con el negocio. Sin embargo, uno no puede exagerar: promete más de lo que podrás dar. A menudo, los fundadores de proyectos innovadores descuidan esta regla y prometen una participación en la empresa para casi pasantes. Debe conocer la medida; por ejemplo, en Buffer, de acuerdo con el programa de opciones, el equipo (menos los cofundadores)
asignó un total del 17% de las acciones y alrededor del 3% a los consultores principales.
Ofrezca las opciones profesionales correctas a tiempo
El jefe de la empresa o CTO, según el tamaño y la estructura del negocio, debe comprender cuál es la motivación básica de los ingenieros, evaluadores y proyectos bajo su supervisión. En muchos casos, los desarrolladores y otros especialistas técnicos están decepcionados con la empresa y la abandonan porque no ven a dónde deben ir a continuación.
Por supuesto, no hay una única forma para todos y cada uno, los desarrolladores son muy diferentes. Necesita construir sobre las necesidades de cada empleado individualmente. Digamos, para muchos desarrolladores, una excelente ruta de desarrollo es convertirse en un líder de equipo: sin apartarse de la programación, comenzar a ser más responsables del producto, tener voz al cambiar la pila tecnológica.
/ Flickr / Damien Pollet / CC BY-SAPero no todos los ingenieros quieren asumir otra cosa que no sean tareas de desarrollo. Un intento de "entrenar" incluso a un gerente técnico de nivel de entrada de tal especialista probablemente lo llevará a renunciar. Afortunadamente, el desarrollo de software es un área donde es posible un crecimiento horizontal ilimitado si la empresa tiene proyectos que plantearán desafíos dignos a los desarrolladores senior.
Hable con los desarrolladores: tanto al principio, durante las entrevistas como cuando ya están en su estado. Si usted es un gerente del más alto nivel, los gerentes directos (jefes de departamento, líderes de equipo, etc.) lo ayudarán a comprender las necesidades profesionales y profesionales de los programadores comunes.
Crear una cultura en la que el desarrollador sea primario
Esta recomendación se aplica principalmente a las empresas de TI para las cuales el valor de los ingenieros es incluso mayor que el promedio del mercado. El gerente de operaciones de Stack Overflow, Jeff Szczepanski,
recomienda fomentar dentro de la compañía la cultura que bautizó como desarrollador primero, es decir, donde el programador con sus necesidades está a la vanguardia.
Algunas circunstancias y situaciones que desmotivan a los programadores pueden no estar claras para un gerente que no había trabajado estrechamente con ellos antes. Por ejemplo, si una quinta parte de su tiempo de trabajo, un desarrollador de software calificado se ve obligado a escribir informes para una persona que no ha escrito una sola línea de código, existe el riesgo de que tarde o temprano (y más temprano) se rinda y renuncie, incluso a pesar de un salario superior al promedio al mercado
Por lo tanto, en las empresas cuyo éxito se basa principalmente en el trabajo de los desarrolladores, es importante construir la estructura organizativa correcta, donde entre los programadores y los gerentes clásicos hay vínculos intermedios: la base y la gerencia media, que está bien versado en el trabajo de los ingenieros.
Es importante y, sin perder el control de los desarrolladores, evitar la microgestión, que puede matar su productividad. O bien, los gerentes sin un pasado de TI que a menudo tratan de hacer frente a su propia sensación de impotencia a menudo cometen este tipo de hipercontrol, o, por el contrario, los líderes de nivel de entrada que ellos mismos han codificado recientemente y ahora temen no poder hacer frente a nuevas responsabilidades.
Finalmente, una de las razones típicas por las que los desarrolladores abandonan con mayor frecuencia las grandes empresas es la
falta de autonomía para tomar decisiones importantes, así como la elección limitada y excesiva de herramientas, a veces no debido a nada más que consideraciones corporativas.
El cuidado, o mejor dicho, el "cuidado de una persona sana", se expresa en los desarrolladores en varios niveles: desde la comprensión de las realidades actuales del proyecto (¿tal vez el proyecto permite que los "técnicos" trabajen desde casa 1-2 días a la semana?) A la ergonomía del espacio en el que empleados (no todos los profesionales de TI, por ejemplo, les gustan los espacios abiertos).
Vincular el desarrollo de TI con los objetivos de la empresa
A menudo, los empresarios y gerentes culpan a los desarrolladores por no "ver el panorama general" y pasar por alto los objetivos comerciales de la empresa. En vano Los arquitectos de sistemas, ingenieros y codificadores no están obligados a razonar en las categorías financieras y de mercado. Sí, el "pensamiento de producto" es excelente, pero se plantea en el entorno adecuado.
Para que los desarrolladores hagan lo que es útil para el negocio, debe ponerlos en condiciones adecuadas. El objetivo es matar dos pájaros de un tiro. Por otro lado, para asegurarse de que los desarrolladores no tengan preguntas como "¿Por qué estamos haciendo esto?", Por otro lado, para garantizar que la administración no requiera gerentes técnicos de los resultados que los especialistas de TI no entienden desde la raíz. Y este objetivo es alcanzable.
/ Flickr / Paul Downey / CC BYEn los últimos 20-25 años, se han desarrollado y continúan mejorando muchos marcos y códigos de las mejores prácticas de tecnologías de la información. Entre ellos, por ejemplo, ITIL y COBIT. El primero
fue creado para minimizar la burocracia y crear reglas comprensibles y reproducibles para realizar procesos de rutina en TI. Y el
segundo , a su vez, se desarrolló originalmente para conectar y sincronizar las necesidades de la empresa con los principios del desarrollo de software.
Además, la implementación de metodologías de desarrollo ágiles, principalmente Scrum, ayuda a crear un entorno saludable para crear y garantizar la operatividad de los productos de TI. Para comprender cómo su empresa cumple con los principios de Scrum, hay una excelente prueba
Scrum Open . Los mecanismos adoptados en metodologías flexibles ayudan a nivelar muchos de los riesgos descritos anteriormente.
Por ejemplo, una persona con un rol especial - "Scrum-master" - se concentra, en particular, en cómo hacer que el equipo haga la transición a un verdadero trabajo en equipo. Incluyendo, por un lado, elimina los temores de los veteranos del equipo que temen volverse innecesarios, por otro, hace que los recién llegados respeten a las "estrellas de TI" locales.
Entendemos el valor de los desarrolladores e intentamos que se sientan cómodos trabajando en 1cloud . Y en este momento estamos expandiendo nuestro equipo y estaremos encantados de invitarlo al rol de desarrollador líder de backend . Además de coordinar el trabajo de los colegas, participará en la arquitectura y los mecanismos para la interacción de nuestras soluciones con otros sistemas.
Como requisitos básicos: experiencia en desarrollo industrial en C # y la plataforma .NET; buen conocimiento de SQL, T-SQL y experiencia con MS SQL Server; experiencia con Git, experiencia en la construcción de procesos de CI / CD. Estamos considerando candidatos a tiempo completo. Nuestra oficina está ubicada en el centro de San Petersburgo (metro Chernyshevskaya).
Sobre qué escribimos en un blog corporativo: