¿Querés empezar a programar y no tenés ni idea de como? Esto te puede servir.
Tags: productivity, career, beginners
Published: 2021-07-24 20:22:07

## Que aborda el articulo y a quien está dirigido
Este artículo está pensado para quien no tiene conocimiento previo en la programación pero quisiera empezar a aprender, y no sabe cuales son los primeros pasos.

## "Me interesa pero no sé si soy lo suficientemente inteligente para eso ¿Yo también puedo programar?"
Dejame decir esto así: **Todas, absolutamente todas las personas podemos programar**, si te interesa, hacelo, vas a poder, te lo aseguro.

## "Quiero programar pero no me gustan las matemáticas"
No te hagas drama, muchos campos de la programación no necesitan matemática muy compleja, aunque sí vas a tener que aprender sobre lógica.

## Consideraciones previas
Para programar, literalmente, sólo vas a necesitar una computadora con internet, no hay más que eso, pero (Y es importante) tenés que entender que trabajar en software, es estar en un **constante** estado de incertidumbre en el que no sabés que tenés que hacer, pero debés investigar (O sea, googlear, el 95% de las veces) y resolverlo. Quisiera, primero, que pienses y medites eso puesto que es un punto muy relevante. 
Por otro lado, recordar que esto te va a llevar, **al menos**, un año, dependiendo de cuanto le dediques, para encontrar un trabajo en la industria, no va a ser de la noche a la mañana.

## ¿Cuáles son los beneficios de ser programador/a?
- Vas a poder trabajar desde cualquier parte del mundo.
- Vas a poder conocer personas de toda parte del mundo.
- Vas a tener la oportunidad de trabajar en compañías con un ambiente relajado, flexible y amistoso.
- Vas a tener un trabajo muy poco repetitivo en el que siempre hay cosas nuevas que aprender y, por lo tanto, inmune a la obsolescencia.
- Hay una demanda de programadores ENORME en todo el planeta, hay mucho, mucho trabajo. [Nota] (https://www.equiposytalento.com/talentstreet/noticias/2021/02/05/en-2021-la-demanda-de-desarrolladores-y-programadores-expertos-aumentara-en-un-30/4499/).
- Y si, si sos de Latinoamérica, tus expectativas de crecimiento a nivel salarial son absurdamente grandes. Si no sos de LATAM, igualmente tus expectativas son muy considerables.

Nota: Estos beneficios están sujetos principalmente a **vos** , a como trabajes y cuan proactivo/a seas.

## Ahora si, ¿Cómo empiezo?
- Lo primero, en la programación hay diferentes paradigmas, el que yo creo más conveniente aprender es la **Programación orientada a objetos** o POO o OOP que es lo mismo y, personalmente me decanto por empezar con el lenguaje **Python**, del que te dejo un curso completamente gratis [acá](https://www.youtube.com/watch?v=G2FCfQj-9ig&list=PLU8oAlHdN5BlvPxziopYZRd55pdqFwkeS&index=1) que te recomiendo llegar, al menos, hasta el video 42.
- Todo lo que sea referente a métodos, funciones, variables, tipos de datos, clases, herencia, polimorfismo y estructura de datos (Pilas, colas, arreglos, arboles, etc), son cosas que debés saberlas perfectamente tanto a nivel teórico como a nivel práctico (Te dejo los temas para que vos por tu propia cuenta investigues en libros, artículos o videos que encuentres, eso es parte de ser programador/a, también).
- Tenés que ejercitar y ejercitar. El ejercicio de estos conceptos nuevos va a hacer que tu mente comprenda de a poco las bases de la programación a nivel más profundo y que, por consecuencia, puedas implementar estos nuevos saberes en un sin fin de problemas, pero para eso, tenés que chocarte una y otra vez con ejercicios desafiantes que te hagan pensar y re-pensar sobre lo aprendido (Spoiler. la más minima cosa te va a llevar un tiempo considerable al principio). Te dejo un link [acá] (https://byte-mind.net/curso-python-objetivos-primer-programa/) con muchísimos ejercicios de Python para que practiques, aunque no te limites con estos y buscá más.
- No sólo tenés que codear, sino que también, tenés que hacer pruebas, todo código que hagas **debe** estar probado y eso no es opcional. Es importante que aprendas bien el proceso de como probar tu propio código, las **pruebas unitarias** y, después, las pruebas de integración. Te dejo [acá] (https://www.youtube.com/watch?v=5ufpsjfk99U&ab_channel=CodinEric) un video sobre pruebas unitarias en Python y la recomendación de que le hagas las pruebas que se te ocurran a TODOS los ejercicios anteriores.
- Cuando hayas hecho tantos pero TANTOS ejercicios que ya tengas hasta biceps en los dedos, algo que si o si vas a necesitar saber, es GIT. Create un repositorio en Github y hacé un curso de GIT con los ejercicios que hiciste antes.
- ¿Terminaste con GIT? Ahora toca Django. Django es un framework (Buscá que es eso) de Python que te permite crear páginas web como la que estás viendo ahora mismo y, que es súper popular hoy en día (2021)

## "¿Genial, algo más?"
Si, vas a tener que aprender una dinámica de trabajo, vas a tener que aprender a buscar las soluciones a tus problemas, a googlear y leer muchísimo y a que las cosas casi nunca te van a venir servidas, la proactividad acá te va a abrir puertas que no creés.

## Una encuesta muy util
Te dejo esta encuesta de StackOverflow para que veas algunos detalles de como es visto Python (O de lo que quieras, hay mucha información interesante), cuanto trabajo hay y cuales son los sueldos hoy en día. [Encuesta] (https://insights.stackoverflow.com/survey/2020)

Muchas gracias por tomarte el tiempo de leer el artículo, mi intención es brindar mi perspectiva sobre como alguien con cero conocimiento, puede empezar a dar sus primeros pasos en la industria hasta llegar a ser un desarrollador senior. Si tenés comentarios o sugerencias, escribímelas abajo que las leeré y veré si puedo mejorar el articulo en base a estas.

Happy coding :)