¿Cómo ser un buen programador?

Ser programador no se trata solo de escribir código y más código como normalmente se muestran en las películas de hackers o que impliquen tecnología. De hecho, muchas veces está súper alejado de lo que realmente muestran. Como decía, ser programador no solo es “tirar y tirar” código, va un poco más allá.

Un buen programador no es aquel que se sabe todas las palabras claves, métodos y APIs de X lenguaje, la cualidad más importante para programar es la capacidad de abstracción. Sino eres capaz de abstraer los problemas, nunca serás capaz de construir un software de calidad.Hoy por hoy existen muchos programadores expertos en lenguajes de programación pero no hay muchos programadores con capacidad de abstracción.

A continuación, comparto una serie de consejos que he recibido en su momento o basados en mi propia experiencia que quizás te sean de ayuda en tu carrera como programador.

1.- Practicar y practicar

Este consejo es obvio, muy obvio diría yo. Bien dicen que la practica hace al maestro, por lo tanto, no queda más que ponerse a “tirar código” para dominar un lenguaje de programación. Dicen por ahí que para dominar algo, lo tendrás que repetir al menos 50 veces.

via GIPHY

 Si es posible que te construyas un proyecto real es mucho mejor, y que lo vayas perfeccionando conforme vayas leyendo tutoriales y viendo videos. Hablando de esto: No solo leas y solo veas los tutoriales, escríbelos.

2.- Sigue siempre las buenas prácticas de programación

Ya sabemos que el programador es celoso de su código por naturaleza, de verdad. Esto a veces puede causar que intentes “proteger” tu código de otros llamando a tus variables y funciones con nombres que en ese momento solo tú entiendes. No lo hagas. No hay nada como generar código limpio y legible no solo para ti sino para tus colegas.

via GIPHY

Para ser un buen programador es fundamental aprender buenas prácticas de programación. Existen libros muy buenos como Código Limpio de Robert C. Martin el cual tiene excelentes referencias. No se trata solo de que tu programa compile y funcione, debe estar bien organizado y lo más optimo posible.

El buen código es el que es bonito de leer y además hace correctamente para lo que está pensado.

3.- Aprende a resolver problemas

En mi opinión, esta es la clave para ser el mejor programador. Aprende estructuras de datos, algoritmos y fundamentos de programación. Muchos programadores se lanzan a tirar código desde un inicio esperando que en el camino resuelvan el programa. Si es sencillo quizás lo harán, pero un proyecto realmente grande les será imposible sin una correcta planeación.

via GIPHY

Debido a que la estructura de los datos es una parte fundamental de cualquier programa, su dominio es muy útil a la hora resolución de problemas. De igual forma, un conocimiento sólido de los principios de programación, y de algoritmos de búsqueda y de ordenar, y otros algoritmos típicos te ayudan a mejorar tus destrezas como programador.

4.-  Sin miedo a cometer errores

Prueba una y otra vez tu aplicación en busca de errores. No tengas miedo de encontrar errores en tu código, es mucho mejor encontrarlos en modo test que ya en producción. También, es mejor que sean otros los que prueben tu aplicación, ya que el programador  inconscientemente no quiere encontrar errores en su código o más o menos se imagina donde están esos errores y se los salta.

Los tests ayudan a definir y validar la funcionalidad del software que estés implementando.

5.- Nunca se termina por aprender

Es evidente que la tecnología cambia día a día. Lo que hoy es novedad, mañana es obsoleto. Por eso trata siempre de estar al pendiente de las nuevas versiones de tu lenguaje favorito. Por ejemplo, si eres muy bueno en Ionic 1, debes saber que Ionic 2 fue un cambio muy drástico y así muchos ejemplos.

via GIPHY

No se confunda con “aprender muchos lenguajes a la vez”, es mejor ser experto en uno a intentar abarcar todos los que se puedan. De hecho, un buen reclutador valorará más a un candidato experto en X que además es honesto al reconocer que desconoce Y, que a otro candidato que afirma conocer X, Y, Z, y no sé qué más pero querealmente no domina ninguno.

BONUS:

Aprende inglés (al menos algo)

La mayoría de la documentación y la mayoría de los foros de programación son en inglés y en más de una ocasión irás a buscar información a estos lugares (Guiño a StackOverflow). No digo que lo aprendas al 100%, pero si al menos para tener la capacidad de entender lo que estás leyendo.

¿Que agregarías a estos consejos?