¿Cuál es el perfil del desarrollador de software del futuro?
La creatividad, la capacidad de gestionar equipos y un alto conocimiento de los avances tecnológicos son algunas de las características de este perfil profesional.
Muchas empresas se quejan de la falta de talento que hay en España a la hora de contratar determinados perfiles profesionales. Uno de los más demandados es el de software developer, una figura que aporta gran valor en el desarrollo de los productos y servicios en los que trabaja.
Para intentar comprender lo que buscan las organizaciones, el centro universitario U-tad le ha pedido a Rubén González, director del máster Telefónica en Desarrollo de software avanzado y jefe de arquitectura de producto en Telefónica I+D, que explique qué cualidades deben tener este tipo de profesionales. Estas son:
1. Será emprendedor y creativo. Cada vez se asocia más al desarrollador de software con un creativo de tecnología, una especie de artista que deberá inventar nuevas soluciones para las necesidades que crean a diario las nuevas tecnologías. Además, debe tener iniciativa empresarial y visión de futuro, alguien con capacidad de crear nuevos proyectos así como de ejecutarlos correctamente.
2. Tendrá altos conocimientos tecnológicos. Es bueno partir de una buena base de Linux y de lenguaje C. A partir de ahí se pueden aprender otros lenguajes como C++, Java, Python, JavaScript, Scala, Go… Además, es importante que sea experto en iOS, Android, FirefoxOS, Windows Phone, HTML5, node.js, MongoDB, Openstack, Linux y en diseño de interfaz de usuario.
3. Será experto en algoritmos, paradigmas y fundamentos del desarrollo de software. Dominará prácticas de programación, algoritmos, estructuras de datos, programación funcional, programación orientada a objetos y arquitecturas cliente servidor, protocolos TCP/IP y HTTP, sin olvidar bases de datos y nosql.
4. Adquirirá conocimientos FullStack. Tendrá que tener formación sobre hardward, comunicaciones, protocolos y sistemas operativos hasta nivel de aplicación.
5. Capacidad de síntesis y Deliver multitier. Será capaz de desarrollar y desplegar desde aplicaciones para usuario hasta el backend.
6. Desarrollará softskills. Es importante que tenga buena capacidad de comunicación, autoliderazgo, gestión del tiempo y trabajo.
7. Tendrá capacidad para dirigir y gestionar equipos. Para convertirse en un buen manager de desarrolladores, resulta indispensable que tenga eficiencia en la gestión de personas.
8. Dominará varios lenguajes y entornos de programación, automatiza tests, despliegues, y trabaja en entornos