¿Cuál es la mejor manera de encontrar proyectos en los que trabajar para desarrollar habilidades para aquellos con capacidades de principiante / intermedio?

En primer lugar, para convertirte en un “gran” programador, debes encontrar dónde buscar las respuestas. No aprenderás mucho sin una auto-investigación. En estos días es mucho más fácil que hace algunas décadas: Google (y cualquier búsqueda en la web que desee) está a solo unas pocas teclas de distancia para ahogarlo en las respuestas. Así que realmente trate de practicar dando palabras clave a ese cuadro de búsqueda hasta que obtenga mejores respuestas. Le ayudaría en el futuro más que todas las respuestas en quora combinadas.

Aparte de eso: estoy de acuerdo con Reed Oei sobre el Proyecto Euler. Para aprender / practicar / experimentar con algoritmos (y algunas estructuras de datos) es un recurso muy bueno desde lo más básico hasta lo mucho más complicado. Por supuesto, es solo un ejemplo de dichos sitios, aquí hay una lista de muchos otros: Más de 1000 Principiantes de Programación y Problemas de Práctica – Motivación del Programador

Pero más específicamente, como afirma Mari-Lyn Harris: Debe especificar el tipo de dominio en el que está interesado. Los “problemas” de propósito general solo lo llevan a la medida. Y peor aún, tienden a comenzar a aburrirte si no son exactamente lo que hace girar tus ruedas. Por esta razón, estaría aún mejor si aprendiera a buscar en la web con mayor precisión, es decir, hace que esa capacidad sea aún más importante.

MIT ha comenzado un curso en línea para aprender Python. Ya están en la tercera semana, es un curso de nueve semanas. Preety un buen material junto con videos / problemas para resolver / diapositivas y mucha ayuda para aprender Python.
Ingresa o Registro

1) Primero, si necesita destrezas para resolver problemas, entonces el promotor de proyectos es el mejor,
2) Courseera es también un recurso en línea y contiene muchos cursos de programación y diseño de algoritmos,
3) La competencia de programación, el concurso de programación, la programación de computadora en línea es otra.
Si desea crear algunos proyectos de la vida real, entonces puede pensar en cualquier idea de aplicación que pueda ser un juego, una aplicación de negocios, etc., y luego comenzar a desarrollarla, aprenderá muchas cosas en una aplicación muy simple … ..

Participe en Open Source … por ejemplo: encuentre un proyecto huérfano en la lista de paquetes de Debian que tenga un número significativo de usuarios. Pruébalo. Hacer un poco de investigación Si vale la pena el mantenimiento, ofrezca el mantenimiento de la adquisición.

Aprenderás MUCHO de tan simples esfuerzos.

Personalmente, soy un fan del Proyecto Euler ( https://projecteuler.net/ ). Tiene una larga lista (500 ish) de problemas que son en su mayoría relacionados con las matemáticas, pero que en general están destinados a resolverse a través de la programación. Los problemas van desde muy fáciles hasta increíblemente difíciles.

Si eso no es lo tuyo, te sugeriría que crearas un juego que quieras hacer (uno simple, como Tetris y eso), o, como he disfrutado, crea un programa que resuelva un rompecabezas de sudoku o similares.

No dijiste en qué tipo de proyectos quieres trabajar ni qué tipo de habilidades quieres desarrollar. Por favor aclarar