¿Cómo debo proceder para mejorar aún más mis habilidades de programación después de estar expuesto durante unos años?

Hola, me he sentido como lo has hecho antes. Como si supieras mucho, pero puedes hacer muy poco, y sé cómo solucionarlo. Hay algunas cosas que puede hacer para mejorar sus habilidades de programación. Esto es lo que realmente recomiendo que hagas (también es lo que hice yo mismo):

** Aprende frameworks, no solo idiomas. **
Veo que sabes algunos idiomas, ¡y eso es genial! Los idiomas son un gran comienzo. La sintaxis es fácil de aprender después de un idioma o dos. Lo que realmente quieres aprender es un marco. No puedes simplemente `recoger ‘marcos como lo haces con los lenguajes (los conceptos de alto nivel como MVC sí, pero no el funcionamiento interno de los mismos).

Por ejemplo, aquí hay algunos con los que puede comenzar personalmente:
Veo que conoces a Ruby, ¡genial! Expande eso con el marco de Rails .
¿Y también Python? Excelente, Django te hará ganar dinero.
¿Qué tal Javascript? ¡Puedes aprender N ode.js, Backbone, Meteor, Ember Angular, etc. tantas posibilidades!

Los marcos combinan desarrollo de software y desarrollo web (principalmente). Así es como obtendrás experiencia de programación real. Una nota para agregar, los marcos son increíblemente valiosos desde una perspectiva profesional. Las empresas no se preocupan por los idiomas a menos que pueda aplicarlos a su aplicación (que a menudo se crea utilizando uno o más marcos).

Una última nota:
No deje que StackOverflow lo detenga, algunos de esos tipos tienen décadas de experiencia en desarrollo de software. Lo que puede ver como un pequeño problema y preguntar en SO, pueden verlo como nada porque probablemente lo hayan encontrado ellos mismos. Así que no dejes que eso te haga sentir tonto, solo tienen mucho más tiempo en la industria que tú (¡más razón para respetar su opinión sobre tus preguntas!).

Antes de responder a sus preguntas, me gustaría que considere otro factor en la programación que es más importante tener un conocimiento profundo de 2-3 idiomas es muy importante que tener un conocimiento superficial del conocimiento (tipo Hello World) para muchos idiomas. En la industria, se valora más el conocimiento profundo.

Dicho esto, asegúrese de conocer los siguientes idiomas (si es posible, tener un conocimiento profundo)

1.) un lenguaje de script (python / javascript u otro)
2.) Un lenguaje de bajo nivel (C / C ++ – preferiblemente C ++ ya que es un lenguaje orientado a objetos)
3.) Un lenguaje orientado a objetos de alto nivel (Java / C # u otro)

Ahora, para practicar y aprender un idioma, primero debes conocer todos los conceptos del idioma. Tome un libro gratis en línea para el idioma y revise todos los conceptos una vez. No es necesario asaltar / recordar cosas.

Siguiente paso, tome un proyecto simple y comience a codificar o puede usar el ejercicio detrás de cada capítulo del libro (la mayoría de los libros tienen las tareas asignadas).

Una vez hecho esto, cree un proyecto más grande y avance a conceptos de nivel avanzado del lenguaje y practíquelos de la misma manera.

Esto me ayudo. Espero que esto te sea útil.

Una cosa que no necesariamente necesitas es aprender todo de una vez, ya que para mí soy más como alguien como tú, pero una cosa que aprendí es en el área en la que nos encontramos, ¿cuáles son esas cosas que te interesan, como dijiste? un proyecto en desarrollo de juegos para trabajar, investigar, diferentes motores de juegos, para qué plataforma estás construyendo, investigar sobre el desarrollo de juegos para esa plataforma en particular, los mejores idiomas para desarrollar juegos para esa plataforma … desarrollar interés en diferentes proyectos de programación diferente campos de su desarrollo de aplicaciones móviles sin fin, software de escritorio, software de seguridad lo nombran. La clave es tu curiosidad absoluta en lo que haces, deja que te lleve.