¿Dónde puedo aprender habilidades avanzadas de programación de forma gratuita?

¿Dónde puede aprender “Habilidades de programación avanzadas”? La ubicación real es en el teclado y con una hoja de papel en blanco.

Con eso quiero decir que las mejores lecciones se aprenden haciendo, preferiblemente en un ámbito en el que su código será probado, auditado y criticado.

Pero debo decir que las habilidades más importantes y avanzadas para adquirir no son siempre las más obvias y son en gran parte independientes del lenguaje, mi lista personal que podría incluir muchas cosas para sorprenderte, no en un orden específico:

  • Claridad de código y comentarios consistentes útiles en el código.
  • Buenas prácticas de control de versión de código fuente y disciplina.
  • Escribiendo buenos requisitos desde cero o desde los originales pobres o inexistentes con los que comenzó.
  • Buena gestión de problemas: registre el problema con todos los detalles necesarios y luego haga lo mismo con la solución.
  • Diseño para prueba y mantenimiento.
  • Aprende a trabajar con los demás.
  • Excepto las críticas y sugerencias de otros, y aprenda a autocrítica su propio código: refactorizar es una habilidad vital
  • Pruebe todo y aprenda a escribir buenas pruebas que a) cumpla con los requisitos, b) pruebe todos los casos de esquina yc) sean mantenibles por sí mismos.
  • Considere los usuarios finales: ¿están claros los mensajes de ayuda y de error? Si considera la ceguera al color, la visión deficiente, las personas que hablan y leen otros idiomas, incluidos los scripts de derecha a izquierda, incluso un proceso integrado tiene una interfaz de usuario, aunque solo sea el interruptor de apagado.
  • La mayoría de los documentos de “estándares” son una pesadilla para leer, pero a menudo intentan condensar miles de horas de lecciones dolorosas de otros expertos; intente leerlos en el contexto de lo que intentaban lograr.
  • El único lugar donde deben aparecer las palabras “No tengo más que aprender” es posiblemente en tu lápida.

Un lugar posible para hacer un buen comienzo es la Comunidad de código abierto, pero encuentre un proyecto que:

  1. Le interesa, posiblemente debido a su trabajo o actividades de hobby, para que esté involucrado y tenga algún conocimiento del dominio,
  2. Tiene una comunidad de desarrolladores activa y una lista de desarrolladores bastante ocupada
  3. Da la bienvenida a sus contribuciones pero también es constructivamente crítico con su código

Una nota importante en el lado del código abierto es que si tiene un empleador, primero consulte con ellos, ya que puede haber restricciones en su contrato y en la política de las empresas que afectan su capacidad de contribuir.

A2A. Si las habilidades de programación avanzada incluyen algoritmos, vale la pena dedicar tiempo a examinar todos los recursos enumerados en: Recursos de CS y CP todo en uno por Manohar Reddy Poreddy en ProblemSolvingAndMore

No hay lugar ni nadie que pueda enseñarte “habilidades avanzadas de programación”. No hay escuela ni universidad. No hay academia de codificación ni bootcamp. Ningún libro ni artículo. Todo lo que puedes hacer es adquirir habilidades de programación básicas, ya sea por tu cuenta o en la escuela, y luego correr con ellas.

A medida que adquiera más experiencia en la escritura de software, sus habilidades de programación mejorarán. A medida que encuentre un buen código de otros desarrolladores, comprenderá lo que se le exige. Aprenderás de tus errores y mejorarás.

Solo sigue escribiendo software. No te costará ni un centavo.

Saludos

Asumiendo que ahora está versado en OOP, los conceptos SÓLIDOS pueden identificar y escribir patrones de diseño GoF de diseño a lo largo del nivel empresarial de los patrones de diseño que podría considerar aprender.

  • Las especificaciones del idioma que estás utilizando.
  • UML: como no se usa mucho hoy en día, aún es una habilidad muy importante que podría considerar conocer
  • Podrás ampliar tu conocimiento de la pila que estás utilizando.

En cuanto a los lugares para aprender gratis.

  • Mi favorito personal es las rutas plurales de aprendizaje a la vista que puede obtener por 3 meses de suscripción gratuita con el programa Microsoft dev-essentials, que es más que suficiente para finalizar cualquier ruta de aprendizaje.
  • Hay muchos libros electrónicos disponibles LEGALMENTE gratuitos que se pueden descargar y leer
  • También puede considerar la posibilidad de escuchar los podcasts de programación y suscribirse a la programación de sus canales de tube.

Algunos términos clave que podría querer considerar:

  • SOA
  • Principios de diseño de software

disculpe si hice una respuesta larga pero sin ninguna habilidad / concepto específico en la pregunta hice una explicación adicional de mi parte

Depende de lo que quieras decir con avanzado. Sugiero encontrar un amigo o mentor.

En primer lugar, creo que si realmente quieres impulsar tus habilidades, no solo tendrás que confiar en otras fuentes, sino que también podrás enseñarte a ti mismo. Cuanto más avance obtiene, menos fuentes disponibles y más caras son. Sin embargo, siempre tiene el código fuente y, con suerte, el sueño de todos los programadores: excelente documentación. Aprenda a leer, analizar, usar, re propósito y ampliar el código disponible para usted.

Practica mucho.

Y a un nivel más alto de habilidades, un mentor sería bueno, pero puedes abrir tu propio camino.

Si ya estás en un nivel intermedio avanzado, solo tienes que seguir programando para mejorar.

Si no lo eres, lo que haces depende de a qué nivel te encuentres . No empiezas a aprender “habilidades avanzadas de programación” a partir de no saber nada acerca de la programación en sí.

Un trabajo con buenos mentores te pagará para aprender habilidades avanzadas de programación de esas personas.