Un programador es una persona que no solo teclea código. Es un profesional, certificado o no, que tiene ciertas peculiaridades.
Este ente salido de alguna parte posee una especie de singularidad, un poder especial que le permite comunicarse con las máquinas.
Para ello emplea cierta jerga que puede variar. A veces habla Java, otras C#, incluso Python u Go. Se le dificulta C++ o Rust... y otros más.
Quien quiere pertenecer a ese mundillo deberá abandonar su vida personal, si es que tiene una. Deberá aprender constantemente todo lo referente a tecnología informática y volverse un geek de la programación.
Habilidades que debería tener un programador (o quien quiera serlo)
Hablemos de sus habilidades blandas y/o técnicas.
Habilidades blandas (Soft Skills)
- Curiosidad Autodidacta: La tecnología cambia rápido; saber buscar, leer documentación e investigar por cuenta propia es imprescindible.
- Tolerancia a la Frustración: El código raras veces funciona al primer intento; la paciencia para encontrar un error (debugging) es clave.
- Comunicación y Trabajo en Equipo: Saber explicar conceptos complejos de forma clara y colaborar en proyectos grupales.
En teoría, el programador es alguien que le gusta aprender por sí mismo y a su propio ritmo. Quien le gusta programar por hobby o curiosidad.
Pero también hay quienes lo ven como una profesión lucrativa. Obtener un buen empleo y dinero.
Habilidades técnicas
- Pensamiento Lógico y Algorítmico: Capacidad para desglosar problemas complejos en pasos sencillos y estructurados.
- Dominio de Fundamentos: Comprensión sólida de estructuras de datos, algoritmos y control de versiones (Git).
- Atención al Detalle: Habilidad para identificar fallas en la sintaxis o la lógica que pueden detener todo un sistema.
Hay quienes se les da mejor la lógica y las matemáticas. Hay quienes mejor la creatividad y los retos. Hay quienes odian la documentación y prefieren poner manos a la obra. Hay quienes "se ahorran 1 hora de lectura de la documentación" y prefieren gastar 4 o 5 horas en prueba y error.
Tipos de programadores
- Junior: necesita apoyo y supervisión constante, en fase de aprendizaje.
- Mid-level: requiere supervisión mínima, puede auto gestionarse.
- Senior: capaz de gestionar proyectos y dirigir personas, con mayores habilidades técnicas.
- Architect: quien tiene a cargo el proyecto y mayores responsabilidades.
Junior
Mid-level
Senior
Architect
Observemos la siguiente tabla que resume los tipos de programadores.
| Rol | Enfoque Principal | Nivel de Autonomía | Responsabilidad Clave |
|---|---|---|---|
| Junior | Aprender y ejecutar tareas específicas. | Baja (requiere supervisión). | Escribir código limpio para tareas pequeñas y entender la base del sistema. |
| Mid-Level | Construir funcionalidades completas. | Media-Alta (independiente en el día a día). | Entregar tareas de extremo a extremo y aportar en las decisiones de diseño del equipo. |
| Senior | Resolver problemas ambiguos y optimizar. | Alta (lidera técnica y estratégicamente). | Diseñar sistemas escalables, mentorizar al equipo y prever fallos técnicos. |
| Architect | Diseñar la estructura global del sistema. | Total (define la visión técnica global). | Alineación tecnológica con el negocio, estándares de seguridad y escalabilidad a largo plazo. |
Los niveles o tipos de programador muchas veces son superficiales. Nada tiene que ver con la edad o los años de experiencia. Muchas veces es la capacidad nata o hasta innata.
Enlaces:
https://blog.codinghorror.com/the-two-types-of-programmers/







No hay comentarios:
Publicar un comentario