IT/Tech/DigitalTalent Acquisition7 Roles en Software que Debes Tener en Cuenta – y cómo distinguirlos

De acuerdo con un estudio realizado por Microsoft y LinkedIn, el desarrollo de software creará más de 1.302.000 puestos de trabajo sólo en España. Muy parecido ocurrirá en EEUU, donde ya hay 4.4 millones de desarrolladores software. Su empleabilidad es del 87% y como dato, aproximadamente el 88% son hombres.  Microsoft y LinkedIn ponen en marcha una iniciativa para formar en tecnología a personas desempleadas. Un equipo de desarrollo de software está formado por muchas...
Jaime Zaballa3 meses ago47522 min

De acuerdo con un estudio realizado por Microsoft y LinkedIn, el desarrollo de software creará más de 1.302.000 puestos de trabajo sólo en España. Muy parecido ocurrirá en EEUU, donde ya hay 4.4 millones de desarrolladores software. Su empleabilidad es del 87% y como dato, aproximadamente el 88% son hombres. 

Microsoft y LinkedIn ponen en marcha una iniciativa para formar en tecnología a personas desempleadas.

Un equipo de desarrollo de software está formado por muchas personas con  funciones diferentes y por tanto, con habilidades distintas. Y es precisamente la aportación de esas capacidades las que llevan al cumplimiento de los objetivos.

Por eso, como es un equipo muy complejo, te hemos traído los 6 principales roles dentro del mundo del desarrollo software para que puedas distinguirlos. Qué funciones tiene cada uno y qué habilidades deberías buscar. 

 

JEFE DE PROYECTO

Es la persona que gestiona el buen funcionamiento del proyecto, quien controla y administra los recursos (tanto personales como económicos)  con el fin de cumplir el plan y el objetivo definido. Se encargan de que todo funcione según lo establecido, resolver desviaciones en el plan, y hacer que los diferentes equipos del proyecto se sincronicen y trabajen juntos (distribución de tareas, flujo de actividades, tareas administrativas, contrato con el cliente, dirección y control). Además, es la cara visible frente al cliente, quien le informa de los avances y el estado del proyecto. Su misión es cumplir con las expectativas del cliente.

¿Qué debes buscar?

Experiencia previa en gestión de proyectos del tipo que buscas y gestión de equipos. Tiene que tener tanto el conocimiento técnico (conocer la tecnología y los recursos con los que va a trabajar), como la habilidad de gestionar personas y otros recursos. Entre las habilidades que debes buscar además de la gestión, la capacidad analítica y la de comunicación para desarrollar un liderazgo efectivo. Tiene que ser capaz de traducir el proyecto en un proceso, previendo desviaciones y posibles caminos hasta llegar al objetivo.

 

How to become an IT Project Manager
Cómo convertirse en un Jefe de Proyecto IT. Fuente: projectmanager.com

 

ANALISTA DE SOFTWARE

Interviene en las primeras fases del proyecto donde se realizan las especificaciones de las necesidades o la problemática del cliente, desde lo general al detalle. Como experto en el problema del cliente, el analista de software trabaja junto a éste para definir las especificaciones técnicas del producto correctamente. Además, tiene la misión de traducir esos problemas del cliente en especificaciones con sentido para el resto del equipo que luego va a desarrollar el producto.

¿Qué debes buscar?

Además del background técnico, tendrás que evaluar la capacidad de análisis, la orientación al detalle, y el foco en resultados. El analista de software deberá tener una buena capacidad de comunicación para saber traducir los requerimientos del cliente a instrucciones para el equipo, y además, trabajar codo con codo con el cliente.

 

ARQUITECTO DE SOFTWARE

Es la persona o personas con el suficiente conocimiento técnico del producto o servicio como para buscar su aplicación técnica a las necesidades del cliente. Tiene como misión crear, durante todo el proceso de desarrollo, la documentación que recoge los requisitos (junto con el analista de software), y será él quien centralice las decisiones técnicas sobre los problemas que irán surgiendo, asegurar la calidad, y  mejorar continuamente la arquitectura.

Un arquitecto de software tendrá en cuenta tanto los requisitos técnicos y funciones, como los requisitos no funcionales. Los definirá junto al analista y los priorizará. Después pensará en cómo se resolverán estos problemas y definirá la arquitectura. Es decir, la introducción de la estructura, directrices, principios y liderazgo de los aspectos técnicos del proyecto.

En este proceso, además, tendrá que seleccionar la tecnología que se va a emplear, teniendo en cuenta diversos factores como el coste, las licencias, la relación con los proveedores, la estrategia, la política de actualización…

Siendo este rol uno de los más importantes y menos conocidos, el arquitecto de software debe ser un perfil con dotes de facilitador, formador y líder.

¿Qué debes buscar?

Además de un buen conocimiento técnico (mentalidad técnica, atención al detalle, experiencia en desarrollo de software…), el arquitecto de software debe tener una visión global, no sólo del proyecto, sino del ecosistema tecnológico. Como decimos arriba, debe tener un rol de líder, de facilitador y apoyo del equipo, de control y supervisión (metodologías ágiles), así como de mejora continua. 

 

 

DESARROLLADOR DE SOFTWARE

El desarrollador de software será quien reciba la documentación creada por el arquitecto y el analista, y quién implemente el producto según ésta.

Este perfil conoce y es capaz de realizar todas las tareas de desarrollo, pero se ciñe a la implementación y delega otras funciones (como la de  programación, el testeo, la supervisión o el mantenimiento) a otros miembros del equipo. Su responsabilidad es más amplia, y tiene como misión que todos los aspectos de la implementación del proyecto funcionen bien. 

Su diferencia con los analistas puede ser muy sutil, ya que el desarrollador puede participar en la definición del producto, en las especificaciones y requerimientos, en el diseño y mejora de prototipos, o incluso el análisis del coste y beneficios de elegir un tipo de arquitectura u otra. 

Aquí hay un debate histórico, y es la diferencia entre un desarrollador y un ingeniero de software. La “regla de oro” cuando se trata de diferenciar: “un ingeniero de software puede ser un desarrollador de software pero un desarrollador no puede ser ingeniero de software”. A “grosso modo”, un desarrollador es alguien que trabaja con un programa, mientras que un ingeniero trabaja normalmente con la creación de ese mismo programa. Un ingeniero desarrolla y mantiene la plataforma donde los desarrolladores luego crear el programa mismo.

¿Qué debes buscar?

Depende de lo que vayas a desarrollar (si es una web, un SaaS, una aplicación, una aplicación móvil…). Su trabajo es muy amplio, así que ten muy presente lo que vas a desarrollar. Primero, el background técnico (bien ingeniería informática o técnico superior). El Desarrollador  deberá dominar los lenguajes de programación (uno o más), conocer de Bases de Datos, servicios web, aplicaciones orientadas a servicios, protocolos y lenguajes de comunicación, metodologías ágiles, herramientas de control…

Además, tendrás que buscar a una persona con iniciativa, capacidad de autoaprendizaje, capacidad de análisis y atención al detalle. También tendrá que trabajar en equipo, por lo que su capacidad de colaboración es importante.

 

demanda
Fuente: campusmvp.es
PROGRAMADOR

Es el encargado de traducir en código la especificación del sistema. A pesar de que el desarrollador también puede “picar código”, los programadores se dedican exclusivamente a esto. Esta persona debe conocer los diferentes lenguajes de programación. Y además, se encarga de depurar los errores, implementar nuevas funcionalidades o mantener de forma general las aplicaciones cuando lo necesiten. Esto no quiere decir que un programador no pueda conocer de presupuestos, planeación o requerimientos. Dependerá de la experiencia. 

¿Qué debes buscar? 

Además de los requisitos formativos o de la capacidad autodidacta, tendrás que buscar una persona flexible, con capacidad para trabajar en equipo, proactivo, orientación al detalle y a la calidad del código. Un buen programador conocerá de varios lenguajes de programación, varios frameworks, CMS y metodologías de desarrollo.

 

TESTER

Se encargará de asegurar que los requisitos definidos por el arquitecto de software se cumplen en la implementación del producto o servicio realizada por los desarrolladores y/o programadores. Para ello, será responsable de aplicar diferentes métodos de testeo junto a los programadores. Informará de todos los errores encontrados durante la fase de pruebas.

¿Qué debes buscar?

Además de tener una ingeniería informática o de sistemas, o ser técnico superior en desarrollo de software, el tester deberá conocer de metodologías y modelos de calidad de software, así como herramientas para la ejecución y seguimiento de testing (volumen, Smoke Test, performance, funciona, técnico…). Debe tener experiencia en automatización y scripting, principalmente. Y sería deseable que poseyera la Certificación Internacional en Testing, ISTQB.

 

QUALITY ASSURANCE (QA)

Aunque cuando hablamos de Tester y Quality Assurance (AQ) como lo mismo, uno y otro perfil pueden tener diferencias notables. “Un tester se encarga de encontrar fallos, pero un QA no sólo los encuentra, sino que ayuda a prevenirlos”. Por tanto, un QA se asegura de la calidad del software durante todas sus fases, no sólo en la fase de pruebas como un tester. Podría decirse que es una evolución de éste al que se le han añadido tareas con el fin de asegurar la calidad global del proyecto y del producto o servicio resultante. 

Además, un QA puede participar en la definición del producto, en la definición de los pasos de la integración continua, y/o en la configuración de herramientas. No se puede entender una buena integración continua sin tests automáticos en ella. Tiene una visión más horizontal y puede detectar potenciales problemas en la implementación e incluso prevenirlos. Es recomendable además que conozca de metodologías ágiles. Finalmente, se exige un nivel de inglés medio/alto (lectura).

¿Qué debes buscar?

Ingeniero informático y/o sistemas con experiencia previa en testing. No es necesario que sepa de programación, pero sí es altamente recomendable. Tanto si es un QA Funcional, como Técnico, necesitará conocimientos en el diseño y ejecución de pruebas, como en el seguimiento y la optimización de los estándares de calidad. Además, el QA participará de todo el proceso, trabajando codo con codo con el Project Manager, por lo que necesitará saber de metodologías ágiles y asegurarse de que cumplen los estándares tanto técnicos como de negocio. Por ello, tendremos que comprobar su capacidad de análisis, y visión estratégica, así como su capacidad para anticiparse a errores o problemas futuros.

 

 

La transformación digital ha cambiado la forma de ver y entender el mundo. La aceleración digital y tecnológica ha traído consigo nuevos retos y oportunidades, y ha tenido un gran impacto en el talento. La brecha entre la oferta y la demanda de profesionales se hace cada vez más grande debido a la falta de profesionales con las habilidades necesarias. Es por eso que encontrar a los perfiles adecuados se ha convertido en todo un reto. Desde Catenon, llevamos 20 años buscando y seleccionando profesionales alrededor del mundo gracias a la tecnología del dato.  Identifica a los mejores profesionales IT, Tech y Digitales con quienes mejor entienden la tecnología.

 

rECLUTAMIENTO it

 

Jaime Zaballa

Consultor Reclutamiento IT, especialista en perfiles IT, Tech y Digitales

Leave a Reply

Your email address will not be published. Required fields are marked *

Política Comentarios | Nota Privacidad