Tu primer proyecto serio en Python

y que hacer luego de terminar un curso

Hoy vamos a hablar sobre como manejar tu primer proyecto importante en python. Este post esta apuntado a esos principiantes, como todos alguna vez fuimos, que acaban de terminar de leer un libro acerca de Python o completaron un curso y no están seguros como continuar su camino en este gran mundo que es la programación.

Manos a la obra.

Cuando es momento de dejar de anotarme en cursos introductorios?

Si eres como yo, estoy seguro que eres uno de esos que lee todos los tutoriales que encuentra en la web, descargas todas las app que enseñan como programar en python, has comprado cada libro recomendado, has completado todos los exámenes de las apps y AHORA QUÉ? Eso es lo que vamos a hacer hoy, llenar el vacío que queda luego de que competamos todos los objetivos de nuestros curso.

Existen infinidad de opciones para empezar a programar por primera vez en python, como leer libros, descargar aplicaciones (solo learn, datacamp, coursera), tomar cursos online y muchos más. Todos ellas hacen un muy buen trabajo enseñándonos como dar los primeros pasos, pero ninguna nos dice como continuar o que hacer una vez que hayamos terminado. No existe ningún tutorial sobre como comenzar a usar nuestra nueva habilidad para simplificar nuestra vida cotidiana o por lo menos como afrontar un nuevo proyecto.

En este artículo, voy a darte mi opinión personal sobre que camino debes apuntar cuando hayas terminado con la etapa de entrenamiento básica, como comenzar a programar cosas reales y obtener algún beneficio de tu nueva habilidad.

Conviértete al código abierto

Este es el mejor consejo que puedo darte. Probablemente muchos de ustedes no estén de acuerdo con esta idea, pero es la ruta que yo tomé y puedo decir que funcionó.

Ser un desarrollador de código abierto te permitirá abrirte al mundo. Github es una librería muy grande de conocimiento, e ignorarla sería una forma poco eficiente de ser un mejor profesional. No será una tarea sencilla y probablemente no consigas un mejor trabajo por ello, pero puedo asegurarte que va a cambiar la forma en que aprenderás a programar.

Crea tu primer proyecto en python

Bien, es momento de ponerse manos a la obra. Voy a asumir que ya sabes como utilizar Github. También voy a estar utilizando este proyecto mío Cheat Sheet Maker como guía. Te recomiendo que lo mires, te ayudará a tener una idea general.

Cada vez que yo comienzo un proyecto, siempre comienzo por crear las siguientes carpetas y archivos básicos:

  • projectfolder (nombre del proyecto, carpeta principal donde va el código)
  • tests (en esta carpeta van todos los test que verifican los cambios que le iremos haciendo a nuestro código)
  • documentation (aquí va toda la documentación)
  • LICENSE
  • README.md (probablemente uno de los archivos más importantes)
  • requirements.txt

Este es el esqueleto principal de cualquier proyecto decente. Es una forma simple de comenzar y mantener todo organizado. Esto no significa que tu proyecto debe verse de esta forma, pero si no estás seguro de como hacerlo, te recomiendo que lo utilices. A medida que vayas ganando experiencia con la práctica, vas a notar que este configuración puede mejorarse, pero para cuando ese momento llegue ya sabrás que hacer.

Sobre qué debe tratar mi primer proyecto?

Ahhh la pregunta del millón de dólares. La respuesta a esta pregunta es: “lo que tu quieras”. No es de gran ayuda verdad? pero es la realidad y probablemente la mejor respuesta que puedo darte. Pero antes de que descargues tu ira en los comentarios déjame darte algunos consejos.

Mira a tu alrededor, ¿qué tipo de cosas (probablemente las más molestas) puedes mejorar
usando tu nueva habilidad para programar? ¿Cuáles son tus problemas principales en este momento? Olvídate de lo que “el mundo” necesita, ahora tu misión es encontrar un problema que puedas solucionar, o al menos reducir, para tí o cualquier otra persona de tu entorno. Puede ser un hermano, una hermana o un padre que tenga algún problema que esta esperando para que tu lo soluciones. Piénsalo por un momento, ¿qué cosa en mi trabajo me esta ocupando la mayor cantidad de tiempo? ¿Qué es esa cosa aburrida que odio hacer todos los días?

Una vez que hayas terminado de pensar, has una lista. Te voy a ayudar a comenzar:

Lista de problemas que pueden resolverse programando:

  • Generador de lista de proyectos (tu problema actual)
  • Generador de amigo secreto/ secret Santa
  • Un juego para pasar el tiempo libre
  • Un generador de esqueleto para nuevos proyectos
  • Automatizar una hoja de cálculo de excel para un amigo o familiar

Existen infinidad de cosas que puedes hacer, así que no apuntes a realizar un mega proyecto, eso puedes dejarlo para el segundo. Además no pierdas mucho tiempo en elegir uno, recuerda que estamos dando los primeros pasos.
No importa si estas seguro de que puedes resolver el problema, vamos a adquirir el conocimiento a lo largo del camino, así que no tengas miedo de elegir alguna idea al azar.

Momento de comenzar a investigar

¡Genial! has elegido un proyecto (si aún no lo has hecho, apresúrate), pero no tiene idea de como llevarlo a cabo. Si este eres tu, significa que has elegido bien, no muy fácil ni tan difícil. Entonces, ¿qué hacemos ahora? Investigar.

Hay grandes probabilidades de que el problema que estás intentando resolver ya haya sido atacado por varias personas, es por eso que Google es tu amigo en esta etapa. Búscalo y mira como otras personas lo resolvieron. Vas a encontrar una infinidad de variaciones de tu tarea y posibles soluciones. Crea una idea general, prueba diferentes códigos ya creados y prepárate para hacer lo que sabes, programar.

Crea pequeños commits para todo lo que hagas

Muy bien, ahora viene la parte sencilla. Acabas de elegir un proyecto y has hecho las investigación respectiva. Es momento de que TU comiences a programar. Git is tu amigo aquí, crear pequeños commits de todo. Va a ser dificil y molesto al inicio, pero una vez que te acostumbras siquiera lo vas a notar. Pequeños commits van a permitir que lleves un control de todos los cambios que hagas y así poder revertir cualquier error sin dañar el resto del código. A medidad que la complejidad aumente, el historial de commits va a ser de gran ayuda.

El archivo readme

Probablemente has leído mucho sobre este tema, y puedo decirte que todo es verdad. Sin un archivo readme, no solo nadie va a comprender what es tu código ni que hace, sino que en unas semanas tu tampoco (lo digo por experiencia propia).

Hagamos un pequeo resumen de como debería verse un readme (hay toneladas de articulos en la web de cómo crear un buen readme, esto es solo un simple resumen):

  1. Título del proyecto (puede sonar obvio, pero muchos no lo escriben)
  2. Pequeño resumen del proyecto, qué es y par qué sirve (si no encuentro un resumen en un proyecto, puedes estar seguro de que o voy a inventir más de 2 segundos en tratar de adivinarlo leyendo el código)
  3. Instalación
  4. Cómo usarlo
  5. Contribuciones (si deseas que las personas te ayuden)
  6. Soporte (qué debe hacer un visitante si el/ella tiene problemas)
  7. Licensia

Eso es todo. Siempre ten al menos esas categorías. Unas semans después de que abandones el proyecto, tu cerebro va a borrar todo lo que hayas hecho y te convertirás en un visitante más, por lo tanto asegúrate de crear un buen archivo readme.
Como consejo extra, puedes incluir una imagen de tu código funcionando.

Publicación y contribuciones

Una vez que tengas un programa básico funcionando, es momento de que lo publiques (si es que aún no lo has hecho). Eso significa que existe la posibilidad de que algunas personas encuentren tu proyecto y comienzen a ayudarte a mejorarlo y terminarlo.

Este es el momento en el que tu código es revisado. Aprenderás mucho durante este proceso, no solo tu programa va a mejorar sino también la forma en lo que lo haces. Las críticas y devoluciones que recibas en esta etapa serán invaluables y valdrán oro en tus futuros proyectos. No pierdas esta oprtunidad y acepta cualquier crítica que recibas. La mayor parte de ellas serán de gran ayuda y te ahorrarán meses de errores, asi que presta mucha atención a cada una de ellas.

Otra forma de obtener la atención del publico en nuestro proyecto es compartirlo en Reddit. Una de las comunidades mas amigables es r/python o r/learnpython. Muchos estarán dispuestos a ayudarte, asi que no tengas verguenza.

Últimas palabras

Tomar cursos y leer libros es solo una pequeña parte de la aventura que es programar. Existe un enorme mundo fuera de la teoría, y aquí te he presentado una de los miles de caminos que puedes tomar para continuar con tu travesía.
Hay muchas cosas que podesmos seguir hablando, pero el artículo se esta volviendo muy extenso y no quiero que te duermas. Si tienes alguna pregunta o hás publicado tu primer proyecto, compártelo aquí.

Espero que esta nota te haya gustado y esperaré por tu opinion. Nos vemos en el próximo post.


Deja un comentario