InicioCiencia Educacion5 cosas que deberías aprender para ser un gran programador

5 cosas que deberías aprender para ser un gran programador

Ciencia Educacion5/27/2016

¿Primero que es ser programador o desarrollador de software?
Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, el conjunto de instrucciones que ejecuta el hardware de una computadora, para realizar una tarea determinada.
Es decir... ¡Vas a poder crear lo que te imagines!



¿Qué se supone que debes saber?

Ésta es una lista de cosas que considero básicas para cualquiera que quiera dedicarse al desarrollo y haya dedicado unos cuantos años a formarse para ello. No hace falta ser un experto en nada (eso requiere mucho más tiempo), pero sí tener una idea más o menos clara de los conceptos básicos y una base lo bastante sólida como para poder seguir profundizando en aquello que necesites.

1. Programación orientada a objetos

Algunos dicen que ya ha alcanzado su zenit y empieza a ser desplazada por otros paradigmas, pero la realidad es que a día de hoy sigue siendo la manera de desarrollar la mayoría de aplicaciones.

El lenguaje no es importante, puede ser Java, C#, C++ o incluso cosas más exóticas como Smalltalk. Lo que importa es tener claros los conceptos, lo que es una clase, un objeto, un interfaz, una clase abstracta, un método estático, un método de instancia, herencia, composición, etc.

Dentro de este punto, considero especialmente útil conocer patrones de diseño, no tanto por los patrones en sí, que muchas veces están sobrevalorados, sino porque ayudan a establecer un lenguaje común para comunicarte con otros desarrolladores y la forma de implementarlos es un buen ejemplo de cómo aplicar técnicas de diseño orientado a objetos.

No se trata de conocer el último framework de moda, que seguramente estará anticuado en poco tiempo, sino de manejar los conceptos necesarios para poder comprender y utilizar no sólo ese framework, sino todos los que puedan surgir en el futuro.

2. Programación funcional

Cada vez se usa más, e incluso los lenguajes tradicionalmente orientados a objetos que evolucionan más lento como Java o C++ empiezan a incluir características funcionales. Y eso por no hablar de lenguajes como Ruby, Python o Javascript o el empuje de lenguajes funcionales como Clojure, F# o Haskell.

No hace falta ser un experto en teoría de categorías, ni en el sistema de tipos de Hindley-Milner o en cálculo lambda, pero al menos es necesario tener claro lo que es una función de orden superior, el valor de la inmutabilidad o la utilidad de un cierre lambda.

Aparte de que sea un paradigma de programación que está ganando popularidad actualmente, aporta otra forma de razonar sobre los problemas y eso siempre es positivo.

3. Bases de datos

Casi cualquier aplicación necesita, de una u otra forma, almacenar información, y ésta suele terminar en una base de datos. Hasta hace no mucho, decir base de datos era prácticamente lo mismo que decir base de datos relacional, pero hoy en día hay bastantes alternativas, como bases de datos documentales, de grafos, orientadas a objetos.

Es imposible pretender dominarlas todas durante tu periodo de formación, pero sí es bueno que las conozcas y tengas una idea aproximada de para qué sirven.

Además, merece la pena dedicarle un esfuerzo adicional a aprender algo más sobre SQL para ser capaz de lanzar consultas básicas. Además de su utilidad directa, aprender a expresar cosas de forma declarativa usando lógica de conjuntos es importante.

4. Hardware y redes

Hay programadores que piensan que por dedicarse a programar no necesitan saber nada del hardware que ejecuta sus programas, pero la realidad es muy distinta. Es necesario conocer las características básicas del hardware que utilizamos todos los días para poder tomar decisiones correctas.

Nuevamente, no se trata de convertirte en ingeniero de Intel, sino de entender que no es lo mismo acceder a memoria cache que a RAM, ni a RAM que a disco, y por supuesto no es lo mismo acceder a datos en local que a información en un servidor que está en la otra punta del mundo.


5. Sistemas de Control de Versiones

Tengo que reconocer que tenía mis dudas sobre este punto, pero después de pensarlo creo que hoy en día no hay excusa para que no aprendas a manejar un sistema de control de versiones mientras completas tus estudios.

Existen muchas opciones online gratuitas como Github, Bitbucket (o incluso Team Fundation Service, si no te queda más remedio) y es una herramienta tan útil, aunque sólo sea para coordinarte con tus compañeros de prácticas, que deberías saber manejarla.

Igual que pasa con los lenguajes de programación, no es importante cuál aprendas, pero aprende alguno que te permita practicar las ideas básicas de subir y bajar código, obtener cambios de otras personas, crear ramas, resolver conflictos, etc.

Mira este genial video!





Comienza Ahora: https://www.youtube.com/channel/UC1swshEhPgh8Mn_qXdcY62A
Datos archivados del Taringa! original
60puntos
943visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

G
Usuario
Puntos0
Posts6
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.