Guía para principiantes absolutos.
(Nota del traductor: son consejos del autor indio, pero parecen útiles. Complementen en los comentarios.)

Un mes es mucho tiempo. Si dedicas de 6 a 7 horas al día a estudiar, puedes lograr mucho.
Meta para el mes:
- Familiarízate con los conceptos básicos (variable, condición, lista, ciclo, función)
- Domina en la práctica más de 30 problemas de programación
- Crea dos proyectos para aplicar en la práctica los nuevos conocimientos
- Familiarízate con al menos dos frameworks
- Empieza a trabajar con IDE (entornos de desarrollo), Github, hosting, servicios, etc.
Así te convertirás en un desarrollador junior de Python.
Ahora el plan por semanas.
Este artículo fue traducido con el apoyo de EDISON Software, que , así como .
Primera semana: conoce Python
Comprende cómo funciona todo en Python. Prueba tantas cosas como sea posible.
- Día 1: 4 conceptos básicos (4 horas): entrada, salida, variable, condiciones
- Día 2: 4 conceptos básicos (5 horas): lista, ciclo for, ciclo while, función, importación de módulos
- Día 3: Problemas simples de programación (5 horas): intercambiar dos variables, convertir grados Celsius a grados Fahrenheit, sumar todos los dígitos de un número, verificar si un número es primo, generar un número aleatorio, eliminar duplicados de una lista
- Día 4: Problemas de programación de dificultad media (6 horas): invertir una cadena (verificar si es un palíndromo), calcular el máximo común divisor, combinar dos arrays ordenados, crear un juego de adivinanza de números, calcular la edad, etc.
- Día 5: Estructuras de datos (6 horas): pila, cola, diccionario, tuplas, lista enlazada
- Día 6: OOP — Programación orientada a objetos (6 horas): objeto, clase, método y constructor, herencia en OOP
- Día 7: Algoritmo (6 horas): búsqueda (lineal y binaria), ordenación (por burbuja, selección), función recursiva (factorial, serie de Fibonacci), complejidad temporal de algoritmos (lineales, cuadráticos, constantes)
No instales Python:
Entiendo que suena contradictorio. Pero confía en mí. Conozco a muchas personas que perdieron todo interés en aprender algo después de no poder instalar su entorno de desarrollo o software. Recomiendo empezar directamente con una aplicación de Android como o en el sitio web y comienza a explorar el lenguaje. No te pongas la tarea de instalar Python como lo primero si no tienes mucha preparación técnica.
Segunda semana: comienza el desarrollo de software (configura el proyecto)
Gana experiencia en desarrollo de software. Intenta utilizar todo lo que has aprendido para crear un proyecto real.
- Día 1: Familiarízate con el entorno de desarrollo (5 horas): El entorno de desarrollo es un entorno interactivo donde escribirás código para los proyectos más grandes. Debes conocer al menos un entorno de desarrollo muy bien. Te recomiendo comenzar con o Jupyter notebook
- Día 2: Github (6 horas): Aprende sobre , crea un repositorio. Intenta hacer un commit, hacer push de tu código, calcular la diferencia entre dos árboles de Git. También familiarízate con el branching, merging y pull requests.
- Día 3: Primer proyecto: Calculadora Simple (4 horas): Familiarízate con Tkinter. .
- Días 4, 5, 6: Proyecto personal (5 horas cada día): Elige uno de los proyectos y comienza a trabajar en él. Si no tienes ideas para un proyecto, mira esta lista:
- Día 7: Alojamiento (5 horas): Aprende sobre servidores y alojamiento para . Configura Heroku y despliega tu aplicación.
Por qué un proyecto:
Simplemente seguir ciegamente los pasos en un tutorial o video no desarrollará tu capacidad de pensar. Debes aplicar tus conocimientos en un proyecto. Una vez que gastes todas tus fuerzas buscando una respuesta, la recordarás.
Tercera semana: adquiere destrezas como programador
Tu objetivo en la semana 3 es obtener una comprensión general del proceso de desarrollo de software. No necesitas perfeccionar tus habilidades. Pero debes conocer algunos conceptos básicos, ya que afectarán tu trabajo diario.
- Día 1: Fundamentos de bases de datos (6 horas): Consulta SQL básica (Create Table, Select, Where, Update), Funciones SQL (Avg, Max, Count), base de datos relacional (Normalización), Inner join, Outer join, etc.
- Día 2: Usar bases de datos en Python (5 horas): Utiliza un framework de base de datos (SQLite o Pandas), conéctate a la base de datos, crea y añade datos en varias tablas, cuenta los datos de las tablas
- Día 3: API (5 horas): Aprende a hacer llamadas a APIs, familiarízate con JSON, microservicios, REST API
- Día 4: Numpy (4 horas): y practica su uso en
- Día 5, 6: Portafolio del sitio web (5 horas cada día): Aprende Django, , también echa un vistazo al framework Flask
- Día 7: Pruebas unitarias, registros, depuración (4 horas): Familiarízate con las pruebas unitarias (PyTest), aprende a trabajar con registros y a verlos, y usa puntos de interrupción
Escala de tiempo real (Secreto):
Si te apasiona este tema y te dedicas completamente a ello, podrás completar todo en un mes.
- Estudia Python constantemente. Comienza a las 8 de la mañana y trabaja en ello hasta las 5 de la tarde. Haz una pausa para el almuerzo y refrigerios (en total una hora)
- A las 8 de la mañana, haz una lista de las cosas que estudiarás hoy. Luego dedica una hora a recordar y poner en práctica todo lo que aprendiste ayer.
- De 9 de la mañana a 12 del día, estudia y practica un poco. Después del almuerzo, aumenta el ritmo. Si te quedas atascado en algún problema, busca la solución en Internet.
- Dedica cada día de 4 a 5 horas a estudiar y de 2 a 3 horas a practicar. (puedes darte un día libre a la semana como máximo)
- Tus amigos pensarán que estás loco. No los decepciones: mantén la imagen.
Si trabajas a tiempo completo o estudias en la universidad, necesitarás más tiempo. Cuando era estudiante, me tomó 8 meses completar todo en la lista. Ahora soy desarrollador senior. A mi esposa, que trabaja en el banco central de EE. UU., le tomó seis meses completar todas las tareas de la lista. No importa cuánto tiempo necesites. Completa la lista.
Cuarta semana: tómate en serio la búsqueda de trabajo (pasantía)
Tu objetivo en la cuarta semana es considerar en serio conseguir un trabajo. Incluso si no deseas un trabajo ahora mismo, aprenderás mucho en el proceso de entrevistas.
- Día 1: Currículum (5 horas): Crea un currículum de una página. En la parte superior del currículum, coloca un breve resumen de tus habilidades. Asegúrate de incluir una lista de tus proyectos con enlaces a Github.
- Día 2: Portafolio del sitio web (6 horas): Escribe algunos blogs. Agrégales a tu portafolio de sitio web anterior que hiciste.
- Día 3: Perfil de LinkedIn (4 horas): Crea un perfil en LinkedIn. Transfiere a LinkedIn todo lo que tienes en tu currículum.
- Día 4: Preparación para la entrevista (7 horas): Busca en Google las preguntas más frecuentes en las entrevistas. Practica resolviendo 10 problemas de programación que suelen preguntarse en las entrevistas. Hazlo en papel. Las preguntas de entrevistas se pueden encontrar en sitios como Glassdoor, Careercup.
- Día 5: Networking (~ horas): Sal del armario. Comienza a asistir a meetups, ferias de empleo. Conoce a reclutadores y otros desarrolladores.
- Día 6: Simplemente postúlate a trabajos (~ horas): Busca 'trabajo Python', revisa qué ofertas hay en LinkedIn y en sitios locales de empleo. Elige 3 ofertas a las que postularte. Ajusta tu currículum para cada una de ellas. Encuentra 2-3 cosas en los requisitos que no conozcas. Dedica los próximos 3-4 días a entenderlas.
- Día 7: Aprende de los rechazos (~ horas): Cada vez que recibas un rechazo, identifica 2 cosas que necesitas saber para conseguir el trabajo. Luego, dedica 4-5 días a perfeccionar tus habilidades en esos temas. Así, después de cada rechazo, te volverás mejor como desarrollador.
Preparación para el trabajo:
La verdad es que nunca estarás 100% listo para trabajar. Lo único que necesitas es aprender muy bien 1-2 cosas. Y familiarizarte con otros temas para superar la barrera de las entrevistas. Una vez consigas un trabajo, aprenderás mucho en él.
Disfruta del proceso:
El aprendizaje es un proceso. En tu camino habrá dificultades. Cuantas más haya, mejor serás como desarrollador.
Si logras completar la lista en 28 días, eres increíble. Pero incluso si haces el 60-70% de la lista, desarrollarás las cualidades y habilidades necesarias. Te ayudarán a convertirte en programador.
Dónde estudiar:
Si aún no sabes por dónde empezar,
- (aplicación de Android divertida para aprender Python)
- (recursos gratuitos para aprendizaje en versión web)
- (mira videos y aprende)
Te deseo un emocionante viaje. El futuro está en tus manos.
Traducción: Diana Sheremyeva
Fuente: habr.com
