
Tú, recién salido del horno, llegas al trabajo con tu diploma aún con olor a tinta, y de inmediato te enfrentas a reglas no escritas en los libros y a una multitud de quehaceres cotidianos complicados. Estas historias son muy comunes, y el trabajo de programación no es una excepción.
Pocos estudiantes pueden estar 100 % preparados para su primer trabajo real. Si no quieres ser uno de ellos, aprende las siguientes 10 habilidades básicas que puedes dominar sin que te guíen paso a paso:
1. Sistema de control de versiones (VCS)
El VCS es quizás la mayor omisión en 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 gestionar el código. Todo programador debería saber crear repositorios de manera eficaz con Git o Subversion, editar y confirmar código, hacer ramas y fusiones, y comprender el flujo de trabajo del proyecto.
2. Aprende a escribir
Como programador, no solo escribes código. También tienes que escribir notas de versión del proyecto, mensajes de confirmación para el control de versiones y reportes de errores en el sistema. En estos y muchos otros casos se necesita una comunicación escrita clara y eficaz, pero la informática rara vez hace hincapié en esta habilidad.
3. Expresiones regulares
Las expresiones regulares son en sí mismas un lenguaje, y todo programador moderno debería dominarlas. Todos los lenguajes modernos admiten expresiones regulares o tienen bibliotecas estándar relacionadas. Si el código necesita validar si una cadena contiene 5 letras, un guion y un dígito, deberías poder escribir /^[A-Z]{5}-\d$/ de inmediato.
4. Uso de librerías
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 que realizan funciones comunes.
Los programadores deben entender que el código que ya ha sido desarrollado, probado y depurado suele ser mejor que el que uno mismo escribe desde cero. Más importante aún, el código que no tienes que escribir se implementa mucho más rápido.
5、SQL
Muchas personas aprenden SQL en el trabajo. ¿Cómo puede ser optativa la asignatura de bases de datos? ¿Acaso hay algún trabajo que no use bases de datos?
La era de guardar datos en archivos planos ha terminado. Todo entra y sale de bases de datos, y SQL es el lenguaje para almacenar y recuperar datos. Es un lenguaje declarativo, no un lenguaje de programación, 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 de CLI
Un carpintero que solo sabe usar una sierra nunca podrá graduarse, 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 código y otros datos, y hacen la vida más fácil al programador. Por eso todo programador debería conocer el uso de la línea de comandos, los scripts de shell, find, grep y sed.
7. Depuración
Todo programador debería saber depurar programas utilizando un depurador interactivo o salpicando el código con sentencias de salida. La capacidad de rastrear problemas mediante refinamiento paso a paso es demasiado importante.
8. Programación defensiva
Los errores son inevitables, incluso para los programadores estrella. La pérdida de control es lo normal en el mundo, y equivocarse no es nada raro. La programación defensiva precisamente entiende este hecho. Si las cosas no pudieran fallar, no comprobaríamos si el archivo se abrió correctamente, ni verificaríamos si el ID del cliente es un número válido, ni probaríamos si el código funciona correctamente.
Los programadores deben saber que las advertencias del compilador son una herramienta útil que nos hace la vida más cómoda, no una molestia que deba evitarse. 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. Trabajo en equipo
Pocos trabajos de programación te permiten hacerlo todo solo; si lo haces a menudo, tu intelecto se resiente y tu rendimiento se debilita. Tu código debe interactuar o mezclarse con el de los demás. Por muy talentoso que sea un programador, si no puede colaborar con otros, afectará negativamente al 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 quien acaba de empezar a trabajar, la primera tarea suele ser corregir errores en el código. Luego, sobre la base del código existente, se añade una pequeña funcionalidad al sistema actual. Diseñar código nuevo es algo que ocurre meses después, si tienes suerte.
Fuente original: http://www.36kr.com/p/212678.html