Alguna vez has pensado ¿cuáles son los fundamentos de un programador?, es decir, ¿cuáles son los principios que lo guían?. ‘’Todo mundo en este país debería aprender a programar un computador… porque te enseña a pensar’’. A partir de esta frase dicha por Steve Jobs en una entrevista, probablemente podamos comenzar a entender hacia dónde se dirige la filosofía de todo programador.
Tal como lo exprese en el artículo anterior ‘‘Cómo ser un buen programador y no morir en el intento’’, un programador, o cualquier otro profesional, debe tener un equilibrio entre los aspectos afectivos, cognitivos e instrumentales, y entre los fundamentos de un programador, también se incluyen estas tres dimensiones.
Resolver problemas
Las empresas cada día demandan programadores capaces de resolver problemas. Al fin de cuentas, los programadores de corazón tienen como filosofía desarrollar un algoritmo matemático capaz crear soluciones al alcance de las personas. Como programador, cada día te vas a enfrentar a un problema, a un nuevo reto, y en general, a muchas cosas que tal vez no sepas, pero lo importante es “aprender a aprender”, saber a quién pedirás ayuda, o dónde buscarla.
Trabajo colaborativo
Colaborar con otras personas, compartir ideas, recibir críticas, retroalimentarse de información y construir relaciones interpersonales, es una de las claves del éxito y de la filosofía de un programador. Dos mentes piensan mejor que una y un equipo, ¡ni hablar! Un programador desarrolla programas en colaboración con otros programadores, clientes, usuarios, supervisores; es un requisito fundamental. Por esto, se debe practicar siempre la buena comunicación para una mejor y más efectiva resolución de problemas.
-
Habilidades blandas Vs Habilidades duras
Existen las denominadas “habilidades blandas’’ (asociadas a la parte social y humana) que, así como las “habilidades duras’’ (técnicas o cognitivas), son requeridas en las áreas de captación de personal de toda empresa. Sin embargo, resulta interesante que al contrario de como solía manejarse anteriormente, en la actualidad, las “habilidades blandas”, están siendo mucho más demandadas por las empresas que las habilidades duras.
Pero, ¿por qué está ocurriendo esto? Básicamente porque el conocimiento técnico resulta ser muy específico para los cambios que está sufriendo el mundo y puede quedar obsoleto en cualquier momento. Mientras que las Soft Skills o ‘’habilidades blandas’’, son destrezas que van ligadas a las aptitudes, personalidad y valores adquiridos, de aquí a que las empresas, se enfoquen ahora en ellas a la hora de reclutar personal. Y justamente el trabajo en equipo, forma parte de estas ‘’habilidades blandas’’.
Anteriormente, programábamos un código siguiendo una metodología clásica o en cascada, en la actualidad, para muchos de los proyectos de desarrollo de software utilizamos “metodologías ágiles”, que involucran trabajo colaborativo y comunicación constante con el cliente y usuario.
En el artículo publicado en BBC New ¿Se debe enseñar a los niños computación cuántica y otras ciencias que se estudian en la universidad?, el Director de Educación del Conference Board de Canadá, Matthew McKean, es uno de los que piensa de esta manera, pues argumenta que ‘‘Nuestra investigación confirma que el futuro del aprendizaje y el trabajo es social y emocional, no técnico. Los empleadores piden cada vez más habilidades humanas, como inteligencia social y emocional, colaboración, creatividad, competencias interculturales, construcción de relaciones, resiliencia y adaptabilidad’’.
-
Curiosidad el motor del programador
Por supuesto que todo programador debe poseer conocimientos teóricos y técnicos sólidos, pero la realidad, es que sí antes no se aprende a desarrollar habilidades más humanas como el trabajo colaborativo, probablemente tener un libro de códigos y lenguajes en tu cabeza, no sea del todo tu llave al éxito, pues las tecnologías avanzan, cambian y se transforman.
Precisamente por este motivo, la Curiosidad debe ser siempre una filosofía fundamental para todo programador: Si bien es cierto que un desarrollador debe comprender las bases teóricas y manejar diferentes programas, también debe ser capaz de integrar conocimientos de otras disciplinas entre sí. Para ello, un buen programador siempre debe conservar la curiosidad de un niño. El hambre de aprender e investigar nunca debe ser saciada, pues el proceso de investigación de un programador es trascendental en su resultado final. A fin de cuentas, el límite es tu imaginación y adivina: ¡es infinita!
Capacidad de adaptarte a los cambios y generar cambios
El mundo está cambiando de forma muy rápida, y la pandemia del COVID-19 es un ejemplo de cómo una situación puede cambiar radicalmente nuestras vidas de un día a otro en el aspecto social, económico, político e incluso personal, y por supuesto, nosotros como programadores no estamos exentos de estos cambios. Sin embargo, no todos los cambios tienen que ser negativos pues como desarrolladores, podemos y debemos aprovechar esta oportunidad de cambio o mutación al mundo digital a nuestro favor.
El caso de la crisis generada por el Covid-19, es un gran ejemplo, pues en EE.UU se ha disparado la demanda de expertos en lenguaje COBOL, un lenguaje de 1959, según lo señala en el artículo de La Vanguardia ‘’La crisis por Covid dispara la demanda de expertos en un lenguaje de 1959’’. Por esta razón, es importante que desarrolles la habilidad de adaptarte a una nueva situación.
Ser minucioso
Programar muchas veces implica descomponer problemas, y para ello, un buen programador sabe que debe ser detallista y detenerse a pensar en cada aspecto de su trabajo. Tanto escribir códigos en un lenguaje informático como probar, analizar, repetir y monitorear programas, son tareas que requieren de mucha precisión. También es muy importante, manejar y entender el idioma inglés como instrumento casi fundamental para este trabajo. Siendo así de detallista, el programador logra darse cuenta de errores que puede estar cometiendo y de esta manera poder encontrar otra solución de una manera más rápida y efectiva.
Utilizar la lógica
Ser analítico es esencial en la vida de un desarrollador. Este trabajo implica la creación de muchos códigos, por lo que la aplicación de la lógica es la base para escribir programas en los diferentes lenguajes informáticos.
Pasión
Y por último, pero no menos importante, la Pasión: todos los buenos programadores suelen tener algo en común: ser apasionados por lo que hacen. La búsqueda constante de crear nuevos algoritmos, programas, desarrollos, hace que esta profesión esté llena de adrenalina y nuevos retos diarios. Este ímpetu en aprender y ser el mejor, es definitivamente una de las principales filosofías que todo programador exitoso posee.
Ahora que conoces las bases de la filosofía de todo programador, ¡anímate a convertirte en uno de los mejores!