¡Hola! Hoy hablaremos sobre el camino de desarrollo de un desarrollador de Java y lo que debe saber para tener demanda. Cualquier desarrollador en una entrevista puede "rechazar" a un candidato para un puesto. Por ejemplo, comenzará a hacer preguntas sobre temas específicos que encontró en el proyecto actual. Pero está bien no saberlo todo. El hecho de que no respondas algunas preguntas también es normal. Generalmente, todo programador de Java debe tener conocimientos básicos de desarrollo. Entonces, veamos qué tecnologías se consideran "básicas".
En primer lugar, debería comprender qué es Spring: qué son un contenedor Spring, beans, DI, IoC, etc. Por así decirlo, comprenda la filosofía misma del uso de Spring. Se llevarán a cabo estudios adicionales de los marcos de Spring sobre esta base. Quizás valga la pena crear tu propia pequeña aplicación, a la que poco a poco irás añadiendo nuevas tecnologías que hayas aprendido.
Anteriormente hablamos de la tecnología JDBC como tecnología para crear una conexión a una base de datos. En general, es posible que el uso "desnudo" de la tecnología no se encuentre en los proyectos actuales, por lo que puede parecer que aprender JDBC no es necesario. Pero no es así. Al observar la esencia básica de JDBC, puede ver la tecnología en un nivel inferior y comprender sus problemas y deficiencias. Una vez que comience a aprender Spring JDBC, comprenderá qué es exactamente lo que este marco mejora, optimiza y oculta a nuestros ojos.
Al igual que con JDBC básico, este marco mejora el uso de una tecnología existente, en este caso Hibernate. Si considera usar Hibernate sin Spring, comprenderá exactamente cuál es el beneficio de usar Spring Hibernate.
Anteriormente hablamos de JPA y de que es sólo una especificación para la que existen varias implementaciones. Entre estas implementaciones, Hibernate es la más cercana al ideal. Spring tiene su propia implementación ideal de JPA, que utiliza Hibernate "bajo el capó" y está lo más cerca posible del ideal de las especificaciones JPA. Esta tecnología se llama Spring JPA. Por cierto, simplifica enormemente el acceso a la base de datos. Solo puedes aprender JPA sin aprender JDBC, Hibernate, Spring JDBC, Spring Hibernate. Pero en este caso, sus conocimientos sobre cómo conectarse a una base de datos serán muy superficiales.
Con esta tecnología, podemos mostrar la interfaz web de nuestra aplicación a los usuarios y permitir que la interfaz se comunique con el resto de la aplicación. La tecnología también puede funcionar sin visualización, cuando hay alguna aplicación responsable de la visualización y usted interactúa con esta aplicación mediante solicitudes y respuestas utilizando tecnología RESTful . Para comprender mejor la información sobre Spring, además de los artículos y conferencias en YouTube, puedes leer varios libros. Me gustó mucho el libro “Spring in Action” de Walls Craig. Desafortunadamente, en ruso ahora sólo existe una tercera versión, que se considera obsoleta. Te aconsejo que leas la versión 6 si sabes bien inglés. Otro gran libro sobre la primavera es "Spring 5 for Professionals". Es más difícil de aprender y se parece más a una Biblia de primavera que es mejor tenerla a mano que leerla de principio a fin.
Esta tecnología simplifica enormemente el uso de Spring. Lo puse al final de la lista por una razón, porque esconde muchas cosas bajo el "capó" y para una persona que no está familiarizada con Spring normal, muchos puntos pueden no ser obvios e incomprensibles. Primero, para comprender mejor cómo funcionan los marcos de Spring, debe usar Spring normal y luego todos los beneficios superiores de usar Spring Boot. También le aconsejo que se familiarice con Spring Security y Spring AOP. Pero a diferencia de las tecnologías mencionadas anteriormente, ahora no es necesario un conocimiento profundo de estas dos. Esta tecnología no es para principiantes. Durante las entrevistas, a los jóvenes no se les pregunta sobre ellos (excepto quizás una pregunta superficial). Lea en general qué son estas tecnologías y cómo funcionan. A lo largo de este artículo he mencionado repetidamente la lectura de libros. Por un lado, esto no es necesario. Puedes convertirte en programador sin leer un solo libro, habiendo estudiado todo lo que necesitas en artículos y videos de capacitación. Por otro lado, en este momento la competencia en el mercado para los desarrolladores novatos es alta, lo que eleva el nivel de conocimientos iniciales necesarios para un principiante. Por lo tanto, cuanto más sepa, más rápido podrá conseguir su primer trabajo impresionando al entrevistador con su nivel de conocimiento. Gracias a todos y que Java esté con ustedes .
1. Algoritmos básicos
Lo primero que debes hacer cuando empiezas a aprender a programar (esto se aplica no sólo a Java) es un análisis de los conceptos básicos. Por ejemplo, algoritmos. Hay un número infinito de ellos y no deberías pasar años enteros intentando aprender tantos algoritmos como sea posible: la mayoría de ellos no te serán útiles. Los conocimientos mínimos requeridos se pueden obtener del libro “ Algoritmos de Grocking ”. Esto será suficiente para iniciar el viaje, pero si lo deseas, puedes aprender con la ayuda del libro “ Estructuras y Algoritmos ” o “Algoritmos en Java” de Robert Sedgwick y Kevin Wayne. También te aconsejo que mejores tus conocimientos de los conceptos básicos de la informática. Esto se puede hacer en JavaRush usando el curso CS50 .2. Sintaxis de Java
Después de aprender los conceptos básicos de los algoritmos, debemos aprender la sintaxis de Java. Después de todo, aquí todos estamos aprendiendo a ser programadores Java, ¿no? El curso JavaRush es perfecto para esto. En el proceso de realizar numerosas tareas, dominará la sintaxis de Java y escribirá/leerá código Java sin pensarlo mucho, como si fuera su idioma nativo. JavaRush es práctica y, además, también debes observar la teoría para comprender qué estás haciendo exactamente. Para hacer esto, puede leer libros, por ejemplo uno de los siguientes:- “ Primero Java ”;
- “Java para tontos” de Barry Bird;
- "Java. Una guía para principiantes” Herbert Schildt.
- “La Filosofía de Java”, Bruce Eckel;
- “Programación efectiva”, Joshua Bloch;
- "Java. La guía completa”, Herbert Schildt.
3. Patrones de programación
Los patrones de programación son algunos patrones repetibles que representan una solución a un problema dentro de un contexto que ocurre con frecuencia. Entre ellas hay plantillas básicas y sencillas que todo programador que se precie debería conocer. Para comprender este tema, utilice el libro “ La cabeza primero. Patrones de diseño ." Ella explicará claramente los patrones básicos de programación. Pero el libro habla mucho sobre Java , por lo que a la hora de estudiar el libro es necesario dominar este lenguaje de programación. Para profundizar más en los patrones, también puede leer “Técnicas de diseño orientada a objetos”. Design Patterns” de Gang of Four ( Gand of Four: un equipo de autores que incluye a Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - nota del editor) . Después de estudiar este tema, comenzará a ver patrones prácticamente en todas partes de su código. Preste atención a esto, especialmente a los patrones utilizados en Spring , ya que es una pregunta popular en las entrevistas.4. Paradigmas de programación. Limpieza de código
Además de los patrones de programación estándar, existen varios principios y paradigmas que es necesario conocer ( SÓLIDO , GRASP ). También es necesario asegurarse de que el código esté limpio y legible. Todo lo que necesitas saber sobre este tema está en el libro “ Clean Code ” de Robert Martin o prueba el libro “Perfect Code” de Steve McConnell.5.SQL
Nuestro siguiente paso es estudiar el lenguaje de las bases de datos relacionales: SQL . Las bases de datos son donde se almacena la información (datos) de una aplicación web. Una base de datos consta de muchas tablas (la libreta de direcciones de su teléfono es el ejemplo más simple de este tipo de tablas). Puede leer más sobre bases de datos en este artículo . Para los desarrolladores de Java, el área de responsabilidad no es solo la aplicación Java, sino también la base de datos con la que interactúa y donde almacena datos. En las bases de datos relacionales (las más comunes), toda la interacción se produce a través de un lenguaje especial: el lenguaje de consulta estructurado o SQL. Para entender este tema, bastará con leer uno de los libros:- “Aprendizaje de SQL”, Alan Bewley;
- “SQL”, Chris Fiaily;
- “Primero SQL” por Lynn Bailey.
GO TO FULL VERSION