La comunicación, la gestión del tiempo y la colaboración son algunas de las habilidades interpersonales necesarias.
Ser ingeniero de software no se trata sólo de escribir código. ¿Qué habilidades sociales necesitan tus desarrolladores para ser los mejores?
Probablemente haya contratado a los mejores desarrolladores que su empresa puede permitirse. Incluso puedes tener equipos dedicados a proyectos específicos o ciertos idiomas. Quizás haya contratado desarrolladores para Java , JavaScript , .NET , C++ y Python . Estos desarrolladores ya han comenzado a crear exactamente lo que su empresa necesita para acelerar la transformación digital e implementar aplicaciones y servicios escalables.
Pero algo no está bien. Claro, estos ingenieros conocen el idioma elegido como si lo hubieran estado escribiendo desde que nacieron, pero es posible que haya descubierto que carecen de las habilidades necesarias para ser los desarrolladores más eficaces posibles.
¿Qué puedes hacer? Contratas ingenieros que son más que simples expertos en un solo truco. Ser un desarrollador eficaz requiere la suma total de varias habilidades importantes.
Echemos un vistazo a algunas de las habilidades que debe buscar o fomentar en estos nuevos ingenieros.
Comunicación
Este es un gran problema y se manifiesta de muchas maneras. En primer lugar, sus desarrolladores deben poder comunicarse de forma eficaz con los clientes. Si tiene desarrolladores que no pueden transmitir a los clientes lo que están haciendo y cómo perciben la visión del proyecto, esos desarrolladores lo pasarán muy mal.
Pero no se trata sólo de los clientes. Sus desarrolladores también necesitan comunicarse con otros departamentos de la empresa. Deben poder intercambiar ideas con operaciones, administradores, ingenieros de seguridad, directivos, directores ejecutivos y profesionales de recursos humanos. Si no pueden comunicarse a estos niveles, trabajarán en silos, lo que no beneficiará a su empresa. Esto es especialmente cierto si su empresa planea adoptar DevOps en un futuro próximo.
Gestión del tiempo
Esto puede resultar problemático. Se sabe que los desarrolladores tienen un enfoque similar al de un láser, lo que les ayuda a escribir códigos sorprendentes. El problema es que este enfoque puede volverse bastante singular. No es raro que un desarrollador pase horas trabajando en una sola línea de código o intentando resolver un solo error.
Cuando necesita que los desarrolladores puedan trabajar de manera eficiente, debe asegurarse de que tengan habilidades efectivas de administración del tiempo. Esto puede significar que necesitan trabajar con un calendario o un software de seguimiento del tiempo para mantenerse al día con sus proyectos.
Sin la capacidad de administrar adecuadamente su tiempo, los desarrolladores pueden verse atrapados en un vórtice de determinación que no es muy propicio para realizar el trabajo. Si descubre que tiene desarrolladores contratados que no son buenos con el tiempo, es posible que necesite que trabajen con otro desarrollador (o gerente) para ayudarlos a mejorar su capacidad de realizar un seguimiento del tiempo.
Aprendizaje independiente
Nos gustaría pensar que la mayoría de los desarrolladores son curiosos por naturaleza. Después de todo, un cierto nivel de curiosidad debe haberlos llevado al mundo de las computadoras y la tecnología, ¿verdad? Este puede ser el caso de muchos desarrolladores, pero ciertamente no está garantizado.
Si descubre que sus desarrolladores no están haciendo el esfuerzo de aprender cosas nuevas (sin su estímulo), intervenga y asegúrese de que comprendan la importancia de tomar la iniciativa para aprender cosas nuevas. Después de todo, cada nueva habilidad que aprendan sus desarrolladores tendrá un impacto directo (o indirecto) y positivo en su empresa.
Colaboración
No hace falta decir que sus desarrolladores deben poder colaborar. A menos que haya contratado un equipo de una sola persona, sus ingenieros de software deben trabajar juntos para completar un proyecto. Y va más allá de trabajar con otros ingenieros. Sus desarrolladores deberían poder trabajar con personas en operaciones, UX, seguridad, redes, administración, relaciones públicas, marketing e incluso usuarios finales.
Si sus desarrolladores no pueden colaborar de manera efectiva, puede estar seguro de que los proyectos en los que trabajan encontrarán varios obstáculos en el camino.
Inclusión
Esto es complicado, pero debería coincidir con la política de la empresa en el mundo moderno. En el pasado, los desarrolladores eran conocidos por no estar dispuestos a incluir a otros. A menudo se consideraba que las mujeres y las minorías estaban menos cualificadas y, por tanto, se las excluía. Este tipo de comportamiento no funciona hoy en día.
Sus desarrolladores no sólo deben estar dispuestos a trabajar con otros, sino también aceptarlos como pares e iguales. Si contrata desarrolladores que no sean inclusivos, tendrá dificultades para retener el talento. Realmente todo se reduce a esto. Su ambiente de trabajo debe ser acogedor y cómodo para todos.
Esto debe considerarse una necesidad absoluta.
Paciencia
No todos trabajan al mismo ritmo. Puede tener desarrolladores que puedan producir código perfecto con una velocidad sin precedentes. También tendrás los que son más lentos. Quien trabaja a un ritmo vertiginoso debe saber tener paciencia con quien no lo hace. Los desarrolladores impacientes pueden convertirse en un problema en el lugar de trabajo. Tomarán el control de situaciones que no deberían y harán exigencias que no están en condiciones de hacer.
Desea asegurarse de que todos sus desarrolladores puedan ser pacientes en todo momento.
Creatividad
No se trata sólo de unos y ceros, y cualquiera que diga que la creatividad no juega un papel en el desarrollo de software no tiene idea de lo que está hablando. Necesita desarrolladores que puedan ser creativos y encontrar soluciones innovadoras para superar los numerosos problemas a los que se enfrentan.
Un nivel saludable de creatividad inspirará a tus desarrolladores a crear a un nivel que nunca creíste posible.
Humildad
El ego puede ser algo feo. Y en el mundo de los desarrolladores, el ego tiende a estar desenfrenado. Si encuentra que uno (o más) de sus desarrolladores muestra signos de ego exagerado, es hora de controlarlos. Tal comportamiento puede generar resentimiento y desdén dentro del equipo, lo cual es contraproducente (por decir lo menos).
Desea contratar desarrolladores con sentido de humildad, que comprendan que se necesita un equipo completo para crear una aplicación o servicio que valga la pena implementar.
Diseño de experiencia de usuario
No todos los desarrolladores trabajan directamente con UX (Experiencia de Usuario), pero cada desarrollador debe comprender el concepto y lo que es necesario para crear una experiencia de calidad para el usuario final. Los desarrolladores que no entienden esto pueden terminar trabajando en contra de aquellos que realmente trabajan para diseñar elementos de UX y UI para software.
Los desarrolladores no necesitan ser diseñadores, pero sí deben poder comunicarse de manera efectiva con los diseñadores de UX e implementar lo que los diseñadores requieren para la interfaz de una aplicación.
Presentación
Habrá ocasiones en las que sus desarrolladores tendrán que presentar detalles y actualizaciones del proyecto a otros (superiores, clientes y clientes). Si no pueden transmitir estas ideas y detalles de manera efectiva al público, el proyecto puede encontrar obstáculos.
Esto puede resultar crucial si sus desarrolladores necesitan convencer a las partes interesadas para que participen en un proyecto. No desea que los desarrolladores no puedan realizar presentaciones profesionales que muestren el trabajo de un equipo a quienes pueden controlar el dinero o a clientes potenciales que utilizarán los frutos del trabajo del equipo.
Conclusión
Ser un buen desarrollador es la suma de varias habilidades y no sólo conocimiento de lenguajes de programación. Contar con ingenieros de software experimentados no sólo hará que sus equipos sean más efectivos, sino también que su negocio sea más rentable. Si encuentra que algunos miembros de su equipo exhiben habilidades de programación tangibles brillantes pero limitadas, es hora de orientarlos por el camino educativo correcto o contratar nuevos desarrolladores.
Fuente: BairesDev