La razón principal por la que no puedes navegar bien en Java Land es porque no sabes cómo categorizar lo que estás viendo. Por ejemplo, sé muy poco acerca de JSP, JSF, Swing o J2ME, pero sé exactamente cómo usarlos.
En resumen, aprenda los patrones de diseño básicos que describen todos esos marcos. Un recurso decente es “Patterns of Enterprise Architecture” de Martin Fowler, aunque nunca lo leí. Me pasó a aprender en el trabajo. En general, aprender patrones de diseño. Le ayudarán más que cualquier conocimiento específico sobre cualquier tecnología. Dependiendo del tipo de trabajo al que apunta, comprender lo siguiente también será útil: SOA, ESB, servicios web, AJAX y back-end / front-end. Hay un par más, pero no puedo pensar en ellos en este momento.
Sin embargo, su pregunta no se trata solo de comprender los conceptos básicos de esas tecnologías (y los patrones de diseño), usted pregunta específicamente cómo aprendería sobre las prácticas actuales en la industria del software.
Mi respuesta es: no . No intente ponerse al día con las prácticas actuales de la industria del software porque simplemente desea actualizarse con las prácticas actuales de la industria del software.
- ¿Cómo puedo aprender el diseño gráfico suficiente para simular una aplicación de Internet?
- ¿Qué es más fácil de aprender para un hablante nativo de inglés, ruso, serbio o ucraniano?
- ¿Deben los estudiantes de los grados medios aprender a escribir ensayos e historias sin utilizar una “voz” en primera o segunda persona?
- ¿Qué tan similar es aprender un lenguaje de programación a un idioma extranjero?
- ¿Cómo podría aprender a memorizar todo un libro?
Hay un par de razones para esto:
- La cantidad de conocimiento de la que estás hablando es enorme. Estoy hablando de pasar al menos un mes o dos de 60 horas a la semana investigando todos los temas posibles.
- Cuando llegue el momento de ponerse al día, por ejemplo, después de 3 meses, es posible que parte del conocimiento que aprendió en los últimos dos meses ya haya cambiado.
- El conocimiento y la experiencia son un arma de doble filo en la profesión del software: es peligroso saber demasiado sobre una tecnología o área que no te gusta. Podría terminar teniendo que trabajar con él, lo que significa que aprenderá aún más sobre él, lo que significa que terminará trabajando con él durante el resto de su carrera. Está bien, no es totalmente cierto, pero entiendes mi esencia.
En resumen, aprenda sobre las cosas con las que le gusta trabajar. ¿Te gusta el front-end o back-end? ¿Te gustan las aplicaciones de escritorio o web? ¿Le gustan los sistemas empresariales grandes, sitios web pequeños, aplicaciones de una página, sitios web de varias páginas o aplicaciones móviles? Piensa primero en lo que te gusta hacer y luego aprende sobre eso. Y “Aplicaciones web de Java” no es una respuesta aceptable a eso, porque es como preguntar qué tipo de leguminosa te gusta y decir “verduras”.