Gran pregunta, y gracias por el A2A.
Hay varios enfoques que se me ocurren de manera espontánea … pero el hilo común entre todos ellos es la retroalimentación .
- Haz pequeños ejercicios en varios idiomas diferentes. Nuevamente, hay algunas formas diferentes. Puede iniciar un blog (si aún no tiene uno), ver varias fuentes de Code Katas como CodeKata o codekatas.org, probar las mismas en todos los idiomas que desea aprender o practicar e invitar comentarios. Mejor en mi humilde opinión sería hacer los ejercicios en exercism.io (que obliga a un orden en usted, que es diferente para diferentes idiomas). Estos serán “alimentados” a otros que hayan completado ese ejercicio, para que comenten.
- Elija una “aplicación estándar”, es decir, una aplicación que intentará implementar en varios idiomas diferentes. Hazlos todos de código abierto (preferiblemente en algún lugar común como Github), ya que los estás haciendo para que la gente pueda comentar sobre la última etapa y ver tu progreso. Nuevamente, invita comentarios. Para algo más grande como este, es posible que desee completar al menos un conjunto importante de características en un idioma antes de pasar a otro. Además, por supuesto, no todos los idiomas (y sus marcos) serán adecuados para cada problema.
- O, como se ha sugerido, tómelos uno a la vez. Es probable que cada uno tenga (al menos) un tutorial muy popular que lo haga construir una aplicación no trivial, ya sea un blog (¡NO haga de este su blog “real”), un recordatorio de todo, un clon de Twitter o lo que sea. Trabaja hasta el final de cada una antes de pasar a la siguiente. Nuevamente, abra su código de código abierto mientras lo hace e invite a sus comentarios .
Ahora, ¿cómo puedes invitar a los comentarios, cuando no tienes algo como el ejercicio que se lo da a la gente? Las tres categorías principales de formas son remotas, en persona y automatizadas .
- ¿De dónde aprendo django?
- ¿Cuál es la mejor manera de crear boletines informativos receptivos?
- Cómo aprender el desarrollo de temas de WordPress
- ¿Qué tan fácil es hacer un sitio web usando Phoenix Framework for Elixir?
- ¿Cuál es la diferencia entre Google App Engine, Firebase y Google Endpoints?
Para control remoto, únase a foros en línea y listas de correo electrónico. En persona, estás en un área excelente para una amplia variedad de lenguajes de programación comunes. (Lo sé porque estoy justo en el camino en Fairfax, y solía vivir en Vienna VA.) Únase a los Meetups locales (u otros grupos similares) para cualquier idioma que le interese. Hay al menos cinco para Ruby en el área metropolitana de DC, así que supongo que hay al menos uno para cada idioma común que buscan. Muchos de ellos también tienen listas de correo activas. De cualquier manera, haga preguntas cuando esté atrapado, pídales (de vez en cuando) que miren lo que ha hecho y, a medida que desarrolle su propio conocimiento, compártalos también. Es mucho más probable que las personas ayuden a las personas que también ayudan, en lugar de “ayudar a los vampiros”. Esto también ayudará a cimentar su reputación cuando quiera ser contratado.
Para comentarios automatizados, algunos idiomas tienen una amplia variedad de herramientas, desde verificadores de estilo hasta analizadores de seguridad, mientras que otros no tienen prácticamente nada. Para cada uno, descubra lo que puede obtener y úselos con frecuencia. Con algunos idiomas, hay servicios gratuitos mediante los cuales puede hacer que un montón de ellos se ejecuten automáticamente cada vez que realice una solicitud de extracción u otra actualización en su repositorio de Github. Examine el concepto de “integración continua” si aún no está familiarizado con él; esa es la categoría en la que se encuentran la mayoría de estas herramientas.
¡Buena suerte y cuéntanos cómo va tu aventura!