¿Qué habilidades debo dominar para decir que soy bueno en Python con confianza?

Esa es una buena pregunta. Debes evitar pasar demasiado tiempo para estimar si eres bueno o no. Algunos días te convencerás de que eres un dios programador. Otros días te verás como completamente incompetente y querrás conseguir un trabajo en el compost local para paletas de efecto invernadero.

En la práctica, no es una mala idea trabajar todo el camino a través de un libro o curso de python serio, ser capaz de reconocer la mayoría de los temas y dominar algunos, en particular las partes de python que tiendes a ver mucho.

Soy un estudiante de libros. Los libros que me han gustado para una amplia encuesta de python son de Alex Martelli, David Beasley, Mark Summerfield, Wesley Chun y Dusty Phillips. Hay otros. Las ediciones para python2 o python3 funcionarán. Lo que estás buscando es un maestro del que aprendas bien y suficiente cobertura sobre Python para que puedas saber dónde comenzar si encuentras algo que no entiendes. Desea un aprendizaje “justo en el caso” para tener un contexto para el aprendizaje “justo a tiempo”.

Pula lo que aprendes aprendiendo todo lo que puedas sobre los modismos y las trampas de los pitones. Otro recurso que me gusta es Python 2.7 Quick Reference. No es una mala idea hacer de esta su página de inicio en su navegador.

Utilice stackoverflow y quora. En una pregunta dada, lea todas las respuestas, trabaje para comprender las diferencias entre las respuestas y lea todas las preguntas relacionadas que pueda encontrar. Muchas veces, encontrará que ha iniciado su búsqueda de una respuesta con la pregunta incorrecta.

Una vez que tenga una idea clara de la variedad de cosas que puede hacer en Python, desea desarrollar un área de dominio. En sus áreas de tutoría de lectura de dominio, observe el código fuente, busque pruebas que muestren cómo se usa el código y escriba el código. Después de escribir su código, pruébelo. Más importante aún, asegúrese de entender lo que ha escrito. No escribirás buenas pruebas si no sabes para qué estás probando.

En el camino, ya sea a través de foros en línea, proyectos de código abierto o asistiendo a reuniones locales, busque un programador experimentado para que lo cuide y le aconseje sobre todos los elementos intangibles que pueden ayudarlo a comprender la cultura, cómo trabajar bien con los demás. Un buen trabajo y disfruta de lo que estás haciendo.

Ya he escrito varias respuestas como esta:

¿Qué conjuntos de habilidades tienen realmente buenos desarrolladores de Python?

¿Cuáles son las técnicas imprescindibles en el desarrollo de Python?

¿Cuáles son las mejores prácticas de codificación para todos los idiomas?

En resumen :

Necesitas un buen conocimiento de la biblioteca estándar.

Necesitas comprender las comprensiones.

Necesitas saber cuándo usar el mapa, reducir, etc.

Necesitas tener un muy buen manejo de clases, objetos, meta programación, etc.

Debe poder escribir decoradores según sea necesario y comprenderlos.

Debe tener un buen control de al menos un marco principal, por ejemplo, numpy, sympy, Django, Flask, Pyramid, etc.

También debe tener una buena comprensión de los principios de buen diseño, abstracción, control de cambios, control de versiones, pruebas, pruebas de integración, documentación, etc.

A2A. Pregunta original “¿Qué habilidades necesito dominar para decir que soy bueno en Python con confianza?”

No hay contexto en cuestión para dar respuesta específica. Desde la pregunta, parece que eres muy temprano en tu carrera y quieres dejar una marca. Mi sugerencia será considerar el dominio de los fundamentos del software principal y cómo ser bueno para resolver problemas. Los lenguajes de programación se desvanecerán con el tiempo o la profesión podría evolucionar hacia algo diferente y dominar un idioma será irrelevante. Conocer los fundamentos te ayudará a largo plazo.

Para dominar los directores de software, lea libros de diseño como GoF y utilícelos en la práctica. Aprende diferentes estilos de programación y cómo abordar problemas comunes. Tus colegas, SO y Quora serán las mejores opciones aquí. Siempre sé curioso como un niño y nunca estés satisfecho con las soluciones, sigue intentando encontrar mejores respuestas. Esa será mi sugerencia.

¡Buena suerte!