Habilidades técnicas
Un desarrollador de software senior debe conocer en profundidad al menos un lenguaje de programación, y los frameworks más usados en el mercado en ese entorno. También tiene que tener conocimiento general de algunos lenguajes extra, de manera de asegurarse de que en su equipo usan la herramienta adecuada para cada situación. Es bueno también tener al menos un conocimiento superficial de varios paradigmas de programación distintos, y mantener la mente abierta acerca de otros lenguajes/tecnologías.
Habilidades comunicacionales
Comunicarse de manera efectiva con la gente es crucial en el desarrollo de software. Aunque escribimos software que se ejecuta en máquinas, el producto final es seguramente usado por personas, para cubrir necesidades de personas. Por eso tenemos que asegurarnos que entendemos en profundidad esas necesidades. Un desarrollador que logre comunicarse de manera efectiva va a permitirnos evitar y resolver un montón de malentendidos, los cuales generalmente derivan en código innecesario, errores y descontento.
Promover buenas prácticas de desarrollo
El software tiene mantenimiento. Como es algo caro para construir, seguramente va a ser usado durante años, y seguramente durante su uso tengamos que hacerlo crecer en funcionalidad. Por eso, escribir código fácil de leer y fácil de mantener es mandatorio. Un desarrollador no solamente tiene que escribir código de buena calidad, sino que también debe predicar la difusión de esos principios entre los miembros de su equipo. Una buena manera de asegurarse de tener código legible es hacer que lo lean desarrolladores con perfil junior y que nos expliquen qué es lo que se está haciendo. Si no lo pueden entender claramente, es que el código no es lo suficientemente legible, ya que si no es entendible para UN miembro del equipo, entonces no es entendible para la totalidad del equipo.
Ser proactivo y mantener actitud positiva
Quejarse de lo que no nos gusta es inútil, ya que por si misma, la queja no arregla nada, y el problema sigue allí. Por lo tanto, no es una opción de comportamiento válida en un equipo. Si hay algo que vemos que esté mal, tenemos que hacernos responsables de ello y cambiarlo. Un desarrollador experimentado debe poder encontrar “el vaso medio lleno” de las cosas que suceden, y transformar realidades que no son tan agradables, en experiencias que hagan crecer al si mismo, y al equipo.
Disfrutar la profesión
La mejor manera de dominar una profesión es sentir pasión por ella. Eso nos va a permitir que tengamos más ganas y facilidad para aprenderla y convertirnos en expertos. Querer lo que hacemos nos permite dar ese esfuerzo extra que se requiere para ser de los mejores.
El desarrollo de software no solamente se trata del código, sino que también involucra otras habilidades, mal llamadas “blandas”. Estás desarrollando estas habilidades?