sábado, 8 de abril de 2017

Los 6 niveles de desarrolladores de software



A menudo surge la duda de por qué existe una diferencia o clasificación entre los profesionales del área de desarrollo de aplicaciones.

Más allá de una simple segmentación por nombre, en términos generales nuestra profesión abarca el análisis, diseño, codificación, implementación y pruebas para convertir una idea en solución informática. A lo largo de este artículo mostraré los 6 niveles de profesionales según sus responsabilidades, expertise y experiencia laboral.




Junior o Nivel 1




A menudo suele recibir instrucciones detalladas de que debe hacer, puede escribir parte del código de un software o realizarlo completo.

Un junior es normalmente un desarrollador inicial, alguien que empieza a dar sus primeros pasos en el ambiente de la creación de aplicaciones o que recién sale de la universidad sin experiencia laboral previa. El Junior es frecuentemente puesto como pasante y por esto sus funciones suelen verse limitadas.

A menudo un Junior no suele interactuar con los clientes o futuros usuarios de la aplicación. Suele dejarse manejar por la presión y por esto no se delega en el labores de vigilancia de aplicaciones en producción ni proyectos con premura o corto deadline.

El periodo en el que se considera Junior puede estar hasta los 2, 3 y 4 años (dependerá en algunos casos de la empresa) de vida laboral en el área. Algunas empresas suelen usar como modo de adaptación y evaluación, poner a los desarrolladores Junior a trabajar en pequeñas aplicaciones para medir su desenvolvimiento.

Podemos decir que:

Se poner block, mezclar, pero a menudo no uso agua!.. Pese a sus conocimientos el desarrollador Junior debe ser guiado a hacer las cosas exactamente donde se las indicaron.

Senior o Nivel 2


Normalmente recibe una lista de requerimientos para un proyecto en el cual puede que trabaje solo o tenga algún (os) Juniors de asistenté(s). Se toma la libertad de adecuar los requerimientos y genera un project plan segmentado en fases.

El Senior no necesita instrucciones en todos los detalles como los Junior, suele ingeniársela para investigar detalles puntuales que quizás no fueron especificados en los requerimientos.

No es necesario tenerle tanta vigilancia en el cumplimiento de sus metas.

En cierta medida la mayor diferencia entre un desarrollador senior y un junior radica en su autonomía en la ejecución de sus funciones y pese a su experiencia laboral el senior suele manejar mejor la presión.

Un senior experimentado suele ser a partir de los 4 años. Algunas personas y empresas consideran el espacio entre los 2 y 4 años de experiencia como Mid Senior (semi-senior) pues no se considera que sus capacidades sean completamente óptimas.

Podemos decir que:

El Senior es el guía de aquellos jóvenes que saben clavar clavos en la madera, poner block y ligar cemento pero no saben cuando ni donde deben hacerlo sin una supervisión, el senior les sirve de guía… Él sabe las herramientas pero no está calificado para diseñar casas completas.

Analista o Nivel 3


El analista en muchos casos suele ser el puente entre los desarrolladores y el cliente; en muchos de los casos cumple la función de team leader o project manager.

El analista a menudo tiene una clara idea de que puede o no hacer su equipo y cuales son sus límites. Es la persona que se sienta con el cliente, revisa sus ideas para convertirlas en requerimientos y las lleva a alternativas viables. Administra recursos y tiempo dentro de su equipo para cumplir con las fechas acordadas.

Siendo justo y llevando esta descripción al plano laboral, pudiera decirse que un analista no necesariamente es un desarrollador pues en algunos casos es una persona que conoce las funciones de los desarrolladores, tienes nociones de las herramientas pero no desarrolla.

Podemos decir que:

El Analista es el capataz que sabe para que sirve el block, donde se debe hacer una zanja, que tanto cemento usar pero a menudo termina su jornada con las manos limpias… tiene en teoría una idea clara de como hacer una casa.

Analista Desarrollador o Nivel 4


Este nivel tiene lo mejor de los dos mundos, pues un Analista Desarrollador suele ser un Senior con las cualidades y capacidades del analista antes mencionado.

En este nivel se suele tener una idea más aterrizada de cada requerimiento y el plan de acción suele ser más acabado y preciso en la práctica pues también desarrollar es parte de su día a día.

Un Analista Desarrollador sabe que herramientas son mejores para cada tarea y por ende sus resultados suelen ser mejores o sus resultados más exactos que los de los Analistas.

Existe un segmento “Analista Desarrollador Senior” que suele diferenciarse de los anteriores por sus altas capacidades o mejor dominio de la implementación de sus aplicaciones.

Podemos decir que:

Entiendo que quieras hacer un lobby con baño incluido pero, ¿por qué no mejor hacer uno aparte para las visitas? … Si tu Analista solo sabe decir que sí a todo requerimiento, quizás te está sobrando un Junior en la empresa.

Arquitecto de Software o Nivel 5




Los Arquitectos de Software son quienes determinan las reglas de negocio al momento de implementar una nueva solución, no solo se limitan a mirar en el entorno de desarrollo las herramientas y tecnologías a utilizar sino que evalúan y proponen upgrade a nuevo hardware para los sistemas que van a crear.

Fuera de lo que puedan pensar los Junior y Senior, para los Arquitectos de Software la creación de aplicaciones es un arte.

Cuando un Junior piensa en la palabra “Arquitecto” imagina un individuo con grandes maquetas en la cual está impregnada la concepción de su infraestructura, esto mismo hacen los Arquitectos de Software aplicado al desarrollo de soluciones.

El trabajo y responsabilidad de los Arquitectos de Software es más grande en cierta medida pues deben hacer las predicciones de cuanto hardware es necesario para correr la nueva aplicación que crearán en base a mediciones de carga o pruebas de stress.

La Arquitectura de Software, tiene que ver con el diseño y la implementación de estructuras del software, desempeño del sistema, la escalabilidad y portabilidad de forma adecuada para satisfacer las necesidades del negocio.

Podemos decir que:

Soy el encargado de diseñar todo lo que aquí verán, pegar block fue una vez lo mio pero todavía me ensucio las manos para estar seguro que el trabajo se hace como lo pensé.

Inventor o Nivel 6




Un inventor es un ente completamente independiente de toda tarea recurrente y cuya misión es crear nuevas implementaciones, API o innovaciones tecnológicas no existentes en el mercado.

El inventor debe ser alguien con visión y amplios conocimientos en un lenguaje o tecnología y con la capacidad de concebir una idea completamente original y que pueda revolucionar o brindar una solución al mercado de software.

Este nivel no es muy abundante en el mercado común y suele requerir una gran cantidad de años de experiencia obtener este título.

Podemos decir que:


¿Pega block? ¿Qué es eso? … hablemos luego, estoy creando un nuevo block redondo que aunque en la actualidad no presente mucha importancia marcará la nueva tendencia de crear casas en unos años

Fuente: linkedin

3 comentarios:

  1. Gracias por tu entrada, esta muy interesante!. Me ayudo a comprender un poco mas la diferencia entre las etapas de un desarrollador, y de un factor muy importante que es la experiencia. De paso se me borro por completo el concepto de programador, donde entra un programador aqui??? Un amigo me hacia la misma propuesta de que un programador se convierte en desarollador y el se basaba en lo mismo, la experiencia dentro del area laboral.

    La otra duda que tengo es, uno puede hablar de algun proceso dentro de la metodologia a usar en que se encargue de evaluar la mejor tecnologia a usar(empezando desde la plataforma o mucho antes) para concretizar_materializar el modelo de negocios???

    Me encanto la analogia de Bob el constructor y sin duda es muy comun escuchar esta comparacion entre lo que es la ingenieria de software y la albañileria. Mi pregunta un poco osciosa es, en que limita el analisis de cada campo...


    ResponderEliminar
  2. Hola,

    Entiendo y valoro el gesto de compartir con tu comunidad mi artículo. Lo que no veo bien es que no cites la fuente ni me des el crédito como autor.

    ResponderEliminar