JavaRush /Blog Java /Random-ES /Lista de verificación del desarrollador de Java. Lo que u...

Lista de verificación del desarrollador de Java. Lo que un desarrollador debe saber

Publicado en el grupo Random-ES
¡Hola! Hoy hablaremos sobre el camino de desarrollo de un desarrollador de Java y lo que debe saber para tener demanda. Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 1Cualquier 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".

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.
Después de leer estos libros, podrás leer libros más difíciles:
  • “La Filosofía de Java”, Bruce Eckel;
  • “Programación efectiva”, Joshua Bloch;
  • "Java. La guía completa”, Herbert Schildt.
Los últimos tres libros no son de lectura fácil para principiantes, pero pueden proporcionar una base sólida en la teoría de Java. Además, no te olvides de los artículos sobre JavaRush, porque en ellos puedes encontrar explicaciones sobre la mayoría de los temas que te interesan. Puede encontrar el artículo que necesita escribiendo el tema que le interesa: Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 2También recomiendo buscar preguntas de entrevistas sobre Java, como en esta colección de preguntas sobre clases e interfaces abstractas . Esto le ayudará a comprender qué es exactamente lo que necesita estudiar y para qué preguntas debe estar preparado.Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 3

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.
Pero la práctica sin teoría no funciona, ¿verdad? Y en las entrevistas para comprobar el conocimiento de SQL, a menudo (casi siempre) dan uno o dos problemas al escribir una consulta SQL. Por lo tanto, es muy importante perfeccionar sus habilidades prácticas de SQL para mostrarse bien. Un recurso excelente para adquirir práctica en SQL puede ser el recurso sql-ex.ru .

6. MySQL/PostgreSQL

Después de aprender el lenguaje SQL, debe familiarizarse con la implementación específica de la base de datos. Dependiendo de la base de datos, algunos comandos pueden variar dramáticamente. Y la diferencia en las capacidades de la base de datos es bastante notable. Las bases de datos relacionales más comunes son MySQL y PostgreSQL . Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 4MySQL es mucho más simple, pero PostgreSQL tiene más capacidades. Para empezar, basta con estar familiarizado con al menos uno de ellos. Puede estudiar implementaciones de bases de datos si utiliza sus habilidades de búsqueda en Google; encuentre los artículos y tutoriales necesarios en Youtube. Tienes que ser bueno buscando correctamente las preguntas que te interesan, porque un programador es una persona “con cinturón negro” en las búsquedas de Google.

7. Maven/Gradle

Necesitas estudiar uno de los frameworks Gradle o Maven , que están diseñados para ensamblar proyectos, ya que ahora para ti Java no es solo tareas de un par de clases, sino también un lenguaje para escribir aplicaciones completas. Debe comprender cómo ensamblar un proyecto, cuáles son las etapas de ensamblaje, cómo cargar las bibliotecas externas necesarias con código listo para usar y mucho más. Aunque Gradle es más nuevo y conciso, en la mayoría de los casos se utiliza Maven. Por tanto, preste especial atención a su ciclo de vida de montaje.

8. Git

Git es un sistema de control de versiones distribuido. Esta tecnología permite a los desarrolladores crear conjuntamente una aplicación sin interferir entre sí. Por supuesto, existen análogos a este sistema de control de versiones. Por ejemplo, Subversión . Pero es Git el que se utiliza principalmente y es necesario poder trabajar con él. Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 5Además de los artículos educativos al respecto, en Youtube hay suficientes vídeos que te ayudarán a dominar esta tecnología paso a paso. Al principio, es mejor usar la consola Git, y no algún tipo de implementación de interfaz, porque en ella tendrás que hacer todo mediante comandos. Durante las entrevistas la gente suele pedir algunos comandos de Git , por lo que te recomiendo que los escribas y los tengas a mano. También te aconsejo que lleves una nota en la que marques los puntos más importantes, para que antes de la entrevista puedas repasarla y refrescar la memoria.

9. JDBC

Esta tecnología está diseñada para proporcionar conectividad entre su aplicación Java y una base de datos relacional. Para familiarizarse con los conceptos básicos, recomiendo leer el artículo JDBC o Where It All Begins. Hay muchos artículos que explican la tecnología JDBC y brindan ejemplos elementales, a pesar de que ya nadie usa JDBC desnudo directamente.

10. APP. Hibernar

JPA es una forma de establecer una conexión entre una aplicación Java y una base de datos, al igual que JDBC. Pero al mismo tiempo, JPA es una tecnología de nivel superior y, en consecuencia, más fácil de usar. Pero JPA es sólo una especificación (un concepto) que no está implementada y requiere una implementación específica. Existen muchas implementaciones de este tipo, pero la más cercana a los ideales de JPA, popular y desarrollada, se considera Hibernate . En su carrera de desarrollo, encontrará esta tecnología más de una vez. Por lo tanto, además de familiarizarse con esta tecnología a través de artículos, puede que valga la pena considerar leer un libro al respecto, por ejemplo, " Java Persistence API ".

11.primavera

Cuando te conviertes en desarrollador de Java, Spring ya no es solo una palabra para ti. Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 6Ahora bien, este marco comparte el primer lugar en importancia con la necesidad de conocer la sintaxis del lenguaje Java. Se puede decir que Spring tiene su contraparte, es decir, las tecnologías Java EE. Pero Java EE está desactualizado y ya no se utiliza en proyectos nuevos. La gran mayoría de los desarrolladores de Java ahora son desarrolladores de Java Spring, por lo que es obligatorio tener conocimiento de algunas tecnologías básicas de Spring. Spring no es solo un marco, sino toda una plataforma de marcos: Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 7y esto es solo una parte de los marcos que proporciona Spring. Un principiante basta con conocer solo algunos de ellos:

  • Núcleo de resorte

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.

  • JDBC de primavera

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.

  • Hibernación de primavera

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.

  • APP de primavera

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.

  • MVC de primavera

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.Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 8

  • Bota de primavera

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 .Lista de verificación del desarrollador de Java.  Lo que un desarrollador debe saber - 9
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION