¿Cuáles son los mejores recursos (libros / artículos / charlas / blogs) para los codificadores intermedios que desean aprender a codificar software más grande y complejo del mundo real?

A2A

Algunos libros que definitivamente podrías leer:

  1. El mes del hombre mítico por Frederick Brooks Jr.
    Este libro es ampliamente considerado como la Biblia de Ingeniería de Software. Es una colección de ensayos de Brooks que narra los problemas que tuvo su equipo cuando construyeron el OS / 360 en IBM.
  2. Código Completo por Steve McConnell
    Este libro de casi 1000 páginas cubre casi todo lo que siempre querría saber sobre el arte y la ciencia de escribir un buen software. Una referencia muy útil para tener a tu lado.
  3. El programador pragmático por Andrew Hunt y Dave Thomas
    Este libro sobre la construcción de software bueno y reutilizable en un entorno de equipo ha ganado un estatus de culto entre los desarrolladores de software. Úticamente útil sin importar la experiencia que tenga como ingeniero de software.

En lo que respecta a los artículos, hay muchas buenas publicaciones de Tecnología en Medium que podría seguir.

Comience de nuevo aquí: Tecnología – Medio

Además, la mayoría de los proyectos de código abierto tienen sus charlas y conferencias disponibles en el sitio web de su proyecto. Por ejemplo, si está intentando aprender React, dar una vista a las conferencias React sería un excelente lugar para comenzar.
En caso de que te interese: Videos – Reaccionar

Dicho esto, los recursos pasivos (libros, videos, charlas, blogs) solo pueden hacer mucho. Si realmente desea convertirse en un gran desarrollador, lo que necesita es experiencia práctica. Solo cuando codifique en un entorno del mundo real con usuarios reales que enfrentan problemas reales, aprenderá cómo adaptarse a diversas adversidades en el mundo del software.

  1. Construir un proyecto paralelo
    Podría ser cualquier cosa que siempre quisiste construir. Realmente no importa, incluso si lo que estás construyendo es en gran medida un clon de algún sitio web o aplicación bien conocida.
  2. Trabajar en proyectos freelance
    Aquí hay sitios web como Fiverr y Freelancer donde realmente podría ganar dinero con sus habilidades de desarrollo de software. Además, la entrega de acuerdo con las expectativas de un cliente es una forma asombrosa de conocer lo que la gente realmente quiere de un producto.
  3. Contribuir a una sin fines de lucro
    Aquí hay muchas organizaciones sin fines de lucro que podrían ser voluntarios. Encuentre una organización cuya causa crea y ofrezca construir una aplicación o un sitio web para ellos.
  4. Obtener una pasantía
    La mejor manera de perfeccionar sus habilidades sería probablemente obteniendo una pasantía en una startup. De esta forma, aprenderá a trabajar en un entorno de arranque y rápido. Hay un montón de nuevas empresas que ofrecen trabajo remoto para que pueda trabajar desde cualquier lugar del planeta. AngelList sería un excelente lugar para buscar tales pasantías.

Tal vez, no le daré los enlaces / nombre del libro en mi respuesta, sin embargo, intentaré resaltar los temas de mi experiencia que pueden serle útiles. Dicho esto, creo que seguir los blogs de Martin Fowler es una buena idea.

En mi opinión,

  • Trate de aprender varios idiomas desde diferentes paradigmas, por ejemplo, en su mayoría he codificado en Java (OO langauge) y solo sé cómo resolver cualquier problema usando objetos. Pero últimamente he empezado a trabajar en lenguajes funcionales. Esto me da una perspectiva diferente de cómo abordar el mismo problema. Java en sí es funcional ahora.
  • Trate de aprender sobre los patrones comunes y anti-patrones. Es necesario leer la banda de cuatro para conocer los problemas comunes en el software.
  • Aprenda sobre diferentes arquitecturas y marcos para ex MVC, SOA, microservicios, etc.
  • Obtenga información sobre las diversas prácticas de codificación, como el diseño basado en dominio, el desarrollo guiado por pruebas, etc. Todas estas son buenas prácticas y lo ayudarán a diseñar bien su sistema.
  • Lea sobre buenas prácticas, estándares y refactorización. Debe saber cuándo su sistema se atasca y cuándo requiere más atención. Un poco de google te dará resultados para libros populares.
  • Aprenda sobre varias capas del software para vistas, negocios, persistencia, etc.

Al final, diría que te involucres, cuanto más practiques, mejor sabes.

Espero que ayude.

Feliz codificacion

Hay muchos lugares donde puedes encontrar tutoriales y preguntas de práctica. Esto incluye una pequeña contribución de mí también …

Mi blog:

Tecnologías Ritambhara – Codificación de los preparativos de la entrevista

Mi libro:

Compre programación dinámica para programar entrevistas: un enfoque ascendente para la resolución de problemas Reserve en línea a precios bajos en la India