De entre los perfiles profesionales actuales, el de programador es probablemente uno de los más demandados. Y, como no podían ser menos que otros roles profesionales, tiene su propia festividad. El Día del Programador fue una iniciativa del trabajador ruso Valentin Balt, empleado de la en la compañía de diseño web Parallel Technologies. Fue aprobado como día festivo Rusia en el año 2009 y hay otros lugares en los que también se reconoce la festividad. Se celebra el día número 256 de cada año, los años normales el 13 del 9 y los festivos el 12 del 9. Se eligió el 256 porque es la cantidad de números que pueden representarse con 8 bits (o 1 byte). Además, es la potencia mayor de 2 menor de 365 (cantidad de días que tiene el año).
Como forma de celebrar el Día del Programador, hoy nos vamos a lanzar a describir al programador (o programadora) ideal. Se diría que trabajando en una empresa de desarrollo, hemos conocido diversos perfiles de programador. Sin embargo, aunque no todos tienen todas las características que vamos a citar, los que brillan lo hacen porque tienen un puñado de ellas.
¿Cuáles son las características del programador(a) ideal?
1. Especialista, pero con conocimientos de diversos lenguajes
Aunque muchos programadores están especializados en un lenguaje, para ser un buen programador hay que conocer varios. Nunca se sabe cuándo vas a necesitar C#, JavaScript, HTML5 o PHP, así que los buenos programadores saben algo de varios, aunque estén más especializados en uno o dos.
2. Aprendizaje constante
Un buen programador está al día en las últimas tecnologías. Tanto en lenguajes como en herramientas de programación. Conoce bien las funciones y características de cada lenguaje y también las de los nuevos dispositivos y plataformas.
3. Proactividad al buscar soluciones
Un buen programador busca fuera las respuestas que él mismo no tiene. Pregunta a otros programadores, intercambia información e investiga en foros. En definitiva, es proactivo en su aprendizaje
4. Pensar en fases
Un programador es analítico y lógico en el enfoque de los problemas. Sabe descomponer los proyectos en bloques y a su vez estos en partes más pequeñas, sin perder de vista el conjunto. Pensar y planificar en fases es una de las características más cotizadas en un analista programador.
5. Paciencia y resistencia mental
Un programador es capaz de concentrarse en problemas durante largos periodos de tiempo. No solo horas cada día, sino también días enteros, semanas o meses. Además, hay que tener gran resistencia mental para dominar todos los elementos involucrados en los problemas que la programación genera.
6. Capacidad para gestionar el tiempo
Un programador es capaz de organizarse con técnicas de productividad para priorizar tareas y lograr en circunstancias de presión y cumplir con los plazos determinados en todos sus proyectos.
7. Flexibilidad ante el cambio
La mayoría de las personas nos sentimos cómodos dominando dos o tres tareas, pero los programadores deben manejar en su día a día hasta media docena de campos de trabajo: Lenguajes de programación, sistemas operativos, entornos de programación, redes, entornos de programación o elementos de hardware son los más importantes de ellos. Y todos exigen aprender algo nuevo cada día, o transformar totalmente algo que iba bien en un entorno, y en otro nuevo no funciona.
8. Creatividad y espíritu de juego
Un buen programador no ve el día a día como un trabajo cansino que hay que llevar a cabo con gran esfuerzo, sino que tiene el espíritu de un niño que quiere resolver cada problema para pasar a la fase siguiente. Con curiosidad y espíritu de reto, vive la programación como ir superando pantallas con agilidad en un gran juego al que dedica su vida profesional.
9. Dejar el Ego en casa
De todo lo demás podemos deducir que un programador es un profesional altamente cualificado, por lo que no es raro que en algunos casos su “Ego” le pueda. Un buen programador sabe cuándo lo que ha programado no sirve al usuario final, entiende su punto de vista y deja el “Ego” a un lado para empezar de nuevo y adaptarse a lo que se necesita.
10. Capacidad de comunicación
Un buen programador sabe explicar a “los profanos” los conceptos sin utilizar un lenguaje técnico. Es capaz de explicar la complejidad de un modo sencillo. Esto es fundamental porque los programadores trabajan con comerciales, técnicos o directivos, que no tienen ni idea de conceptos de programación. Para no hablar de los clientes… Y tienen que entenderse con todos ellos en un lenguaje claro y accesible.
En conclusión, hay grandes programadores que conocen diversidad de lenguajes y saberes, tienen gran adaptación al cambio y además se comunican bien con compañeros y clientes. Otros pueden estar meses trabajando sobre un problema para el que necesitan recurrir a varias áreas de conocimiento, sin perder de vista la visión de conjunto y con el espíritu de un niño que cada día aprende algo nuevo. Y los hay que están siempre formándose y nunca se dan por vencidos para encontrar la solución a un problema, aportándola cuando la encuentran con la sencillez y claridad del que simplemente ha hecho su trabajo, sin darse mayor importancia.
Sin todos ellos el trabajo de una empresa de desarrollo como Extra Software sería imposible. Por eso, hoy queremos rendir un homenaje a esos sobresalientes hombres y mujeres, y brindar con ellos en el Día del Programador, para que sigan trabajando cada día para hacer del mundo un lugar en el que todo funciona cada vez mejor.