aprender a ser programador

Si estás leyendo esto es porque quieres aprender a ser programador y estarás aprendiendo a programar ya seguramente. Pero esto es sólo el principio.

Un programador pasa la mayor parte del tiempo programando pero saber programar nada más no te va a llevar muy lejos en el mundo del desarrollo de software. Lo que hace un programador es automatizar tareas manuales o crear otras formas automáticas de hacer algo que seria muy complejo de forma manual.

Esto es muy importante a la hora de crear software. Tienes que saber hacer algo manualmente antes de poder automatizarlo. Debes saber exactamente qué quieres hacer antes de ponerte a programar o no vas a conseguir buenos resultados. Y eso lo consigues gracias a los algoritmos.

¿Qué es un algoritmo?

Lo primero que hay que entender es lo que es un algoritmo. Un algoritmo en programación es la secuencia de pasos lógicos que hay que dar para solucionar el problema que queremos resolver.

Por ejemplo, si queremos hacer un programa que divide 2 números, los pasos podrían ser los siguientes:

  • Preguntar por el primer número
  • Almacenar el primer número en una variable
  • Preguntar por el segundo número
  • Almacenar el segundo número en una variable
  • Dividir el primer número entre el segundo número
  • Escribir el resultado en pantalla

Esto que hemos hecho es escribir el algoritmo en pseudo código de nuestro programa. Ya tenemos un punto de partida y a partir de aquí podemos empezar a escribir el código.

algoritmo
Christina Morillo at Pexels

Escribir buen código no es sencillo

Una vez que tenemos el pseudo código podemos pasar a escribirlo en el lenguaje de programación que hayamos decidido. Cualquiera puede escribir código, pero no todo el mundo puede escribir buen código y si quieres aprender a ser un programador, mejor que seas de los buenos.

Hay muchos libros donde puedes aprender a hacer que tu código sea mejor. Esta es mi selección personal de 3 libros que todo el mundo debería leer al menos una vez en su vida:

  • El libro de referencia y la biblia del buen código, Clean Code de Robert C. Martin. Es sin duda el mejor libro para aprender cómo hacer mejor código. Si tuviera que comprarme un solo libro sobre programación, sin duda sería este. Te dejo los enlaces a Amazon tanto en su versión en ingles como en español para que puedas pedirlo cuanto antes.
  • Otro gran libro donde aprender mucho es The Pragmatic Programmer de David Thomas y Andrew Hunt. Sin duda un libro esencial a la hora de aprender muchas cosas sobre el mundo del desarrollo de software. Debajo tienes el enlace a Amazon por si quieres comprarlo.

  • Y por último pero no menos importante, el libro del gran maestro Martin Fowler, Refactoring. Es la navaja suiza de la refactorización, de la cual hablaremos en otro artículo. También dejo el enlace a Amazon para que puedas comprarlo.

* En calidad de Afiliado de Amazon, obtengo ingresos por las compras adscritas que cumplen los requisitos aplicables

Testear el código

La única forma de saber si lo que has hecho funciona es probarlo. Es lo que se llama testear el código.

Ya sea de forma automática o a mano debes probar que tu programa hace lo que tiene que hacer y que lo hace exactamente como quieres que lo haga.

Hay muchas metodologías para hacer las pruebas y asegurarte que tu código funciona bien pero las pruebas hay que hacerlas sí o sí. Y no sólo las que creas que son necesarias, si no, todas las combinaciones que se pueden dar.

Volviendo a nuestro ejemplo, tendrías que probar que pasa cuando se usan números enteros, números decimales, una mezcla de ellos, cuando se intenta dividir por cero, cuando el resultado es decimal… No es sencillo pero poco a poco iremos viendo técnicas que hacen que todo sea mas fácil de probar. Sobre todo, haciendo hincapié en la forma de escribir el código para luego poder testearlo de forma más óptima.

Desplegar la aplicación

Una vez probado hay que desplegar la aplicación. Desplegar una aplicación es ponerla a disposición de otros usuarios para que puedan usarla, ya sea en un servidor web, en una app store o incluso enviarla por correo.

Ya ahondaremos en esto porque es una de las grandes disciplinas de esta profesión. Y quizás siendo un programador estés pensado que eso no es parte de tu trabajo y no debas preocuparte de ello, pero cada vez más se impone la cultura DevOps, que mezcla la parte de desarrollo con la de operaciones, es decir la parte del despliegue de esas aplicaciones. Así que has de pensar no solo en cómo hacer que tu código funcione bien, si no cómo se va a desplegar de forma sencilla y correcta.

¿Cómo compartir código con otros programadores?

Normalmente es muy raro que la aplicación la desarrolle un solo programador por lo que en algún momento tendrás que compartir lo que tú haces con lo que hacen otros programadores. Esto normalmente se hace mediante un sistema de control de versiones.

Tranquilo, ya llegaremos a este punto también y verás que no es algo tan complejo. Hay varias opciones a la hora de compartir el código, pero sin duda la más extendida a día de hoy es Git.

¿Cómo almaceno datos de mi aplicación?

Cuando empiezas a manejar datos llegará un momento en que quieras guardarlos. Desde el nombre del usuario, a su email o los productos de la tienda on-line que estás haciendo. Todo esto se suele hacer con bases de datos, aunque hay otras alternativas.

Ya definiremos que tipos de bases de datos hay, cuales son las más comunes y qué características tienen unas que las hacen mejores que otras en ciertas tareas.

¿Cómo arreglo los fallos de mi programa?

Y por último, cuando tengamos que buscar los fallos que pueda haber en nuestra aplicación, tendremos que depurar el código. Esto es ir paso a paso por nuestro algoritmo buscando dónde está el fallo que hace que no funcione el código como nosotros lo habíamos planteado.

Quizás, la mejor definición de este proceso es la que dio el creador de uno de los algoritmos mas famosos:

Si depurar es el proceso de quitar los errores de software, entonces programar debe ser el proceso de ponerlos.

Edsger W. Dijkstra

Pero, ¿qué más falta?

Si después de haber visto esto aún no te has asustado falta una ultima cosa: LA NUBE. Ese ente abstracto que hoy en día hace que funcione desde tu móvil hasta tu coche o incluso tu calefacción.

La nube es un concepto para definir los centros de datos donde se encuentran los servidores que hacen que todo esto funcione. Ya sea una nube privada que contratas a una empresa de centros de datos o una nube pública, como la de Amazon por ejemplo, sí sí, ese Amazon donde te compras tus cosas.

Cada día es más importante saber manejarse en la nube, o al menos, tener la idea clara de cómo hacer las cosas mas básicas dentro de la nube. Esto en sí mismo es una rama muy grande del desarrollo de software que a su vez se puede dividir en otras ramas, pero ya llegaremos a ello.

Espero haberte ayudado y que tengas una idea mas clara de que hace falta para aprender a ser programador y que sepas que si quieres ser un programador, mejor que seas un buen programador. Como ya te dije en el articulo de ¿Como ser desarrollador de software? son los que las empresas están deseando tener en su plantilla y los que no tienen problemas de encontrar el proyecto que más feliz les hace.

🆘 Si quieres saber cómo te puedo ayudar con tu carrera en el mundo del software, reserva GRATIS y sin compromiso una llamada conmigo


Todo sobre Desarrollo Profesional

  • Hasta que no enseñas algo realmente no lo has aprendido
    En el mundo de la programación y del desarrollo de software pasamos mucho tiempo aprendiendo. Siempre hay nuevos frameworks, nuevas tecnologías y nuevos servicios que debemos aprender. Ya sea para llevar a cabo un proyecto o para progresar en nuestra carrera es inevitable aprender cosas nuevas. Es por eso que aprender de una forma rápida […]
  • Ingeniero Cloud: ¿Qué es y cómo convertirse en uno?
    Seguro que si has visto ofertas de trabajo últimamente te habrás fijado que se busca en muchas cubrir puestos de Ingeniero Cloud. Pero realmente, ¿qué es un Ingeniero Cloud? ¿Qué hace que sea una profesión cada vez mas demandada?. En este artículo voy a definirte qué es (para mí) un Ingeniero Cloud, cuáles son sus […]
  • ¿Cómo cambiar de profesión y triunfar en el mundo del software?
    Quizás llegues aquí desde algún post en Facebook, o desde Google buscando cambiar de profesión en estos tiempos tan difíciles, o incluso que te lo haya pasado algún conocido. Lo que es seguro es que si estás aquí es porque quieres cambiar de profesión y entrar de lleno al mundo del software. Si te estás […]
  • Aprender a ser programador no es solo programar
    Si estás leyendo esto es porque quieres aprender a ser programador y estarás aprendiendo a programar ya seguramente. Pero esto es sólo el principio. Un programador pasa la mayor parte del tiempo programando pero saber programar nada más no te va a llevar muy lejos en el mundo del desarrollo de software. Lo que hace […]
  • ¿Cómo ser desarrollador de software?
    Esta es una de las preguntas que más me hacen algunos de mis conocidos, ¿Cómo ser desarrollador de software? ¿Cómo empiezo en el mundo del desarrollo del software? ¿Cómo puedo aprender a programar?. Bueno esa, y ¿cuánto ganas al mes? Pero a la respuesta de esta ya llegaremos mas adelante. Cuando empece en esto del […]