Recién salido del horno, llegas a tu puesto de trabajo con un diploma aún con olor a tinta, y de inmediato te enfrentas a reglas que no están en los libros y a un sinfín de asuntos cotidianos. Esta historia es muy común, y el trabajo de programación no es una excepción.
Pocos estudiantes están 100 % preparados para su primer trabajo real. Si no quieres ser uno de ellos, aprende estas 10 habilidades básicas que puedes dominar sin necesidad de que te guíen paso a paso:
1. Sistema de control de versiones (VCS)
El VCS quizá sea la mayor omisión de los planes de estudio de informática. Estos cursos solo se acuerdan de enseñar a escribir código, pero a menudo olvidan enseñar a los estudiantes cómo gestionarlo. Todo programador debería saber usar Git o Subversion para crear repositorios de manera eficaz, editar y confirmar código, ramificar y fusionar, y comprender el flujo de trabajo del proyecto.
2. Aprender a escribir
Como programador, no solo escribes código. También debes redactar las notas de versión del proyecto, mensajes de confirmación para el control de versiones e informes de errores en el sistema. Estas y muchas otras tareas requieren una comunicación escrita clara y eficaz, pero es una habilidad que la informática rara vez enfatiza.
3. Expresiones regulares
Las expresiones regulares son por sí mismas un lenguaje que todo programador moderno debe dominar. Todos los lenguajes modernos admiten expresiones regulares o cuentan con bibliotecas estándar relacionadas. Si el código necesita validar si una cadena contiene 5 caracteres, un guion y un dígito, deberías poder escribir de inmediato /^[A-Z]{5}-\d$/.
4. Uso de bibliotecas
Ya estamos en 2014, así que nadie necesita usar expresiones regulares para extraer el nombre de host de una URL, porque todos los lenguajes de programación modernos tienen bibliotecas estándar para realizar funciones comunes.
El programador debe entender que el código que ya ha sido desarrollado, probado y depurado suele ser mejor que el que uno mismo escribe desde cero. Y lo que es más importante, el código que no necesitas escribir se implementa mucho más rápido.
5、SQL
Mucha gente aprende SQL en el trabajo. ¿Cómo es posible que las bases de datos sean una asignatura optativa? ¿Acaso hay alguien que no use bases de datos?
La era de guardar datos en archivos planos ha terminado. Todo entra y sale de las bases de datos, y SQL es el lenguaje para acceder a los datos. Es un lenguaje declarativo, no un lenguaje procedural, por lo que resolver problemas con él requiere una nueva forma de pensar. Todo programador debería conocer los fundamentos de la normalización de bases de datos y ser capaz de ejecutar SELECT (incluidos INNER y OUTER JOIN), INSERT, UPDATE y DELETE.
6. Saber usar IDE, editores y herramientas CLI
Un carpintero que solo sabe usar una sierra nunca llegará a oficial, por lo que resulta sorprendente que un graduado en informática solo sepa usar Notepad o pico. Las herramientas de programación ayudan a manipular el código y otros datos, y hacen la vida del programador más fácil. Por eso, todo programador debería saber usar la línea de comandos, los scripts de shell, find, grep y sed.
7. Depuración
Todo programador debería saber depurar programas con un depurador interactivo o salpicando el código con sentencias de salida. La capacidad de rastrear problemas mediante refinamiento progresivo es demasiado importante.
8. Programación defensiva
Los errores siempre son inevitables; ni siquiera los programadores estrella son una excepción. La falta de control es el estado normal del mundo, y equivocarse no es nada extraño. La programación defensiva entiende precisamente este hecho. Si las cosas nunca fallaran, no comprobaríamos si el archivo se abrió correctamente, no verificaríamos si el ID de cliente es un número válido, ni necesitaríamos probar si el código funciona.
Los programadores deben saber que las advertencias del compilador son herramientas útiles que nos hacen la vida más cómoda, no molestias de las que hay que huir. Todo programador debería saber por qué todo programa PHP debe comenzar así:
set_error_reporting(E_ALL)
Todo programa Perl debe incluir estas sentencias:
use strict; use warnings;
9. Colaboración en equipo
Muy pocos trabajos de programación te permiten trabajar completamente solo, y si lo haces a menudo, tu intelecto se resiente y tu rendimiento se debilita. Tu código debe interactuar o combinarse con el de los demás. Por muy talentoso que sea un programador, si no puede colaborar con otros, tendrá un impacto negativo en el proyecto y rápidamente se convertirá en una carga para la organización.
10. Aprovechar el código existente
En la escuela, cada tarea es un proyecto nuevo. Pero el mundo real no es así. Para quienes acaban de empezar a trabajar, la primera tarea suele ser corregir un error en el código. Luego, sobre la base del código existente, agregas una pequeña funcionalidad al sistema actual. Diseñar código nuevo es algo que ocurrirá meses después, si tienes suerte.
[Este artículo fue traducido y adaptado de: blog.newrelic.com]