JavaRush /Blog Java /Random-ES /¿Qué necesitas saber para convertirte en Java Junior y qu...

¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?

Publicado en el grupo Random-ES
Los requisitos para los posibles desarrolladores de Java cambian constantemente y es difícil mantenerse al día. ¿Es suficiente saber sólo Java Core para convertirse en aprendiz? ¿Qué tan bien necesitas entender Spring e Hibernate para conseguir un puesto de Java Junior? ¿Vale la pena aprender bases de datos y comprender algoritmos de clasificación y búsqueda? Y como los estudiantes de JavaRush suelen preocuparse por estas preguntas, decidimos planteárselas a nuestros graduados que ya están trabajando como Java Juniors o haciendo prácticas en empresas como Java Trainees. Tenga en cuenta que el 13% de los encuestados tuvo la suerte de conseguir un puesto Java Middle en su primer intento, sin pasar por la etapa Junior. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 1Los encuestados compartieron información sobre qué tecnologías necesitaban para aprobar la entrevista y cuáles utilizaron en el primer año de su primer trabajo en Java.

Todo el mundo necesita Java Core

El término Java Core es bastante amplio. Este nombre se refiere tanto a la sintaxis elemental del lenguaje como a un tema tan complejo como el subproceso múltiple. En realidad, el curso JavaRush está dedicado principalmente a Core. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 2Sintaxis de Java. Conceptos básicos del idioma. Todos estos tipos de datos, operadores, bucles y ramas. Naturalmente, el 92,4% de los que consiguieron el trabajo calificaron sus conocimientos de sintaxis como “buenos o excelentes”. Sin embargo, el 7,6% de los encuestados logró convertirse en aprendiz de Java con conocimientos de sintaxis medios. Sin embargo, esto debería valorarse más como suerte (o alarde de los encuestados :)). Por supuesto, todo aquel que solicite un puesto de programador debe conocer la sintaxis del lenguaje. Programación orientada a objetos (POO). Todo en Java está compuesto de objetos, por lo que la programación orientada a objetos puede considerarse uno de los temas más importantes del lenguaje. El enfoque orientado a objetos puede parecer desconocido al principio, especialmente si antes solo ha estudiado lenguajes procedimentales, pero no es difícil cambiar a objetos. Las mayores dificultades para los principiantes son los niveles de abstracción y su distribución independiente: un programador novato debe poder crear correctamente una jerarquía de objetos, comprender de qué será responsable la interfaz y qué se puede poner en una clase abstracta, crear una herencia. escalera, etcétera. Como es habitual, esta dificultad se soluciona con la práctica. La mayoría de los encuestados, el 80,3% de los que consiguieron su primer trabajo, conocían bien los principios de la programación orientada a objetos y los utilizaban constantemente. En el primer año de trabajo como Java Juniors y pasantes, el 78,8% de los encuestados utilizó los principios de programación orientada a objetos con mucha frecuencia, el 12,1%, de vez en cuando. El 7,6% de los oyentes rara vez los usaban; estos muchachos estaban principalmente ocupados con pruebas unitarias y varias tareas pequeñas. Es decir, por supuesto, también usaban clases u objetos (no puedes prescindir de esto en Java), pero rara vez creaban jerarquías de clases. Marco de colecciones. Una colección es una colección de objetos individuales presentados como un todo. Java tiene un marco de colecciones muy inteligente para representar colecciones. Las colecciones se basan en estructuras de datos populares: listas, ordinarias y conectadas, conjuntos, tablas hash. Por eso, al explorar colecciones, es una buena idea familiarizarse más con las estructuras de datos. La principal dificultad al estudiar colecciones es comprender y recordar cómo funcionan. Si comprende cómo acceden a un elemento, lo extrae de una colección y lo agrega, entonces comenzará a comprender dónde aplicar tal o cual estructura. Viene con la práctica. Pero, afortunadamente, no todas las colecciones se utilizan activamente en el trabajo real. El 80,3% de los encuestados indicó que tenía buenos o incluso excelentes conocimientos sobre colecciones antes de recibir su primera oferta de trabajo, y casi el 96,9% de los Juniors y aprendices utilizan colecciones en su primer trabajo. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 3Manejo de excepciones.Una excepción es una situación fuera de lo común que puede ocurrir mientras se ejecuta su programa. Todas las clases de excepción son subtipos de la clase java.lang.Exception. El mecanismo de manejo de excepciones simplifica enormemente el proceso de encontrar errores en los programas. Por lo general, los estudiantes comienzan a usar excepciones bastante temprano, por ejemplo, en JavaRush. En JavaRush, este tema se plantea en la primera búsqueda de sintaxis de Java. Casi todos los graduados de JavaRush que consiguieron su primer trabajo sabían cómo manejar las excepciones y, naturalmente, las utilizaron mientras trabajaban. Flujos de E/S Java. Los primeros programas escritos en Java normalmente contenían algo como System.out.println(“Hola mundo”). A menudo, los principiantes entienden que el método println imprime una línea en la consola, pero no tienen idea de por qué System y out están ahí y cómo funcionan. Un poco más tarde resulta que Java realiza operaciones de entrada y salida utilizando flujos, un flujo continuo de datos. Los subprocesos no son el tema más fácil de entender y no se utilizan muy a menudo en trabajos de novatos: sólo el 22,7% de las personas que consiguieron su primer trabajo Java Junior/Trainee dijeron que utilizan mucho los subprocesos de E/S, el 31,8%, de vez en cuando. vez, 25,8% - raramente. Así que poco menos del 20% no los usó en absoluto durante su primer año como desarrollador de Java. Durante sus estudios, el 18,2% no experimentó ninguna dificultad particular con los flujos y los conocía bien, el 36,4% calificó sus conocimientos como buenos, pero el 10,6% ignoró este tema. Multihilo (Java Multithreading/Simultaneidad). Quizás este sea el tema que provoca mayores malentendidos entre los desarrolladores novatos. Aunque el multiproceso en Java está muy bien implementado, es difícil de entender y pueden surgir problemas incluso al escribir programas simples (por ejemplo, "Hola, mundo" multiproceso). Muchos empleadores entienden esto y no requieren un conocimiento profundo de subprocesos múltiples por parte de los principiantes, esperando que lo adquieran con la experiencia. Sólo el 12% de los encuestados afirmó que conocía bien el tema antes de recibir la primera oferta, mientras que casi el 32% de los encuestados admitió que no sabía nada sobre el tema. La mayoría, el 56,2%, dijo que "tenía algún conocimiento" del subproceso múltiple. Entonces, si las dificultades de trabajar con hilos le parecen insuperables ahora, estos números pueden tranquilizarlo. Sin embargo, si quieres obtener una ventaja competitiva en una entrevista, este tema podría ser tu punto fuerte. En proyectos reales, a los principiantes rara vez se les permite trabajar con subprocesos. Por lo tanto, el 15,1% de los programadores novatos no se ha encontrado con Java Multithreading en absoluto en su trabajo, y el 39,4% lo ha encontrado, pero raramente. A menudo, en el primer año de trabajo, sólo el 9,1% de los encuestados tuvo que trabajar con subprocesos múltiples. Expresiones lambda.Las expresiones Lambda y sugerencias de programación funcional aparecieron en Java 8, pero los novatos no utilizan esta útil herramienta con mucha frecuencia. Una expresión lambda es una función que se puede crear sin pertenecer a ninguna clase y puedes pasarla como un objeto o ejecutarla bajo demanda. Sólo el 22,7% de los graduados encuestados conocía bien las expresiones Lambda antes de recibir su primera oferta de trabajo, y el 48,5% calificó su conocimiento del tema como "próximo a cero". Al mismo tiempo, más del 85% de los nuevos programadores dijeron que usaron expresiones lambda en su primer año. Para ser justos, señalamos que el bajo porcentaje de quienes conocen este tema puede deberse al hecho de que en JavaRush, las expresiones lambda hasta ahora solo se presentan en la nueva búsqueda y artículos de Java Syntax Pro . Por lo tanto, podemos decir con seguridad que el conocimiento de Core Java para cualquier potencial Java Junior e incluso Trainee es simplemente necesario. Por supuesto, es posible que sepa un poco menos sobre algunos temas, como el subproceso múltiple, pero la sintaxis de Java, la programación orientada a objetos y las colecciones deben estar firmemente arraigadas en su conciencia.

Algoritmos y estructuras de datos.

Existe un debate constante sobre el estudio de los algoritmos de clasificación y búsqueda. Por un lado, los mejores algoritmos se escriben desde hace mucho tiempo y se incluyen en las bibliotecas de todos los lenguajes de programación populares, incluido Java. Y pueden usarse legalmente sin la molestia de escribir su propio código. Sin embargo, los expertos que forman programadores todavía recomiendan que cada desarrollador novato entrene su cerebro escribiendo todos estos algoritmos de burbujas, fusión, búsqueda binaria y similares. En primer lugar, estos algoritmos son una especie de prueba de fuego de las habilidades de un programador (es decir, no de conocimientos, sino de habilidades) y de la comprensión de una persona de lo que es, en principio, la programación. Si su cerebro ya está bien sintonizado para este tipo de trabajo, escribirá algoritmos con relativa facilidad. Y, sin embargo, hay que recordar: se necesitan algoritmos precisamente para entrenar el cerebro... y para pasar una entrevista: a los corrosivos desarrolladores senior que los llevan a cabo les encanta atormentar a los solicitantes con solicitudes para escribir tal o cual algoritmo. Pero en su trabajo, la mayoría (48,5%) utiliza algoritmos de biblioteca estándar, eficaces y probados, mientras que el 16% de los encuestados no utilizó ninguna clasificación durante el primer año de trabajo como programador. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 4El 69,6% de los graduados afirma que antes de recibir su primera oferta de trabajo, conocía bien los algoritmos de clasificación y búsqueda y sabía escribirlos ellos mismos. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 5Ya tocamos el tema de las estructuras de datos cuando hablamos de colecciones Java. Sí, es mejor entenderlos para saber dónde y qué estructura aplicar. Crear tus propias estructuras de datos a imagen de las de la biblioteca es un gran ejercicio que te ayudará a comprenderlas mejor. Puede, por ejemplo, intentar escribir su propia versión de ArrayList o proponer su propia lista enlazada individualmente (la LinkedList habitual en Java está doblemente enlazada). ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 6Mientras trabajaban, los programadores novatos utilizaban principalmente estructuras de datos estándar.¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 7

Examen de la unidad

La biblioteca JUnit es responsable de las pruebas unitarias en Java. De hecho, puedes comenzar las pruebas unitarias casi al comienzo del entrenamiento. Como mínimo, cuando emprendas tu primer proyecto independiente, aunque sea muy pequeño, será mejor que ya domines esta herramienta. Escribir pruebas unitarias no es tan difícil, aunque existen algunos matices. Aprender JUnit no llevará mucho tiempo, pero los beneficios de conocerlo son enormes. Podrás cubrir tu código y el de otras personas con pruebas. Muy a menudo, a los novatos se les asigna la tarea de escribir pruebas unitarias para sus colegas, por lo que esto puede resultar útil directamente en su nuevo trabajo. El 57,5% de los encuestados dijeron que usaron JUnit antes de su primera entrevista exitosa sobre Java, y más del 83% ya habían usado pruebas unitarias en su primer año.

Bibliotecas de utilidades, GUI y componentes útiles.

Preguntamos qué tan familiarizados estaban los graduados de JavaRush con una serie de herramientas, algunas de las cuales se cubrieron en nuestro curso.
  • Los servlets son componentes de software Java que amplían las capacidades de un servidor.
  • JDBC es un estándar independiente de la plataforma para la interoperabilidad entre aplicaciones y bases de datos Java. JDBC se implementa como un paquete java. sql se incluye con Java SE (Edición estándar).
  • log4j es la biblioteca de registro de mensajes más famosa. Le permite escribir llamadas a la biblioteca en código Java y luego personalizarlas de manera flexible sin cambiar el código ya escrito.
  • Jackson/JSON. JSON (JavaScript Object Notation) es un formato de intercambio de datos y archivos estándar abierto extremadamente popular, y Jackson es un procesador JSON de alto rendimiento para Java.
Todas estas herramientas son muy útiles y se utilizan a menudo en el trabajo, y la mayoría de los estudiantes no las descuidaron al prepararse para la entrevista. Esto es especialmente cierto en el caso de Jackson, con el que se encontró el 72,7% de los solicitantes para el puesto de programador Java, JDBC; esta biblioteca fue probada por más del 78% de los encuestados. Casi todo el mundo utilizó estas tecnologías en su trabajo. Los desarrolladores de Java no se encuentran con GUI con mucha frecuencia. Hicimos una pregunta sobre JavaFX: sólo el 18% de los encuestados encontró esta tecnología en el trabajo. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 8Dos tercios de los encuestados trabajaron con servlets; un número ligeramente menor de encuestados los probó durante sus estudios. También resulta que algunos nuevos programadores de Java se han topado con proyectos como Apache Commons (un conjunto de bibliotecas centradas en todos los aspectos de los componentes Java reutilizables) y Guava (un conjunto de bibliotecas comunes de código abierto para Java, desarrolladas principalmente por ingenieros de Google).¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 9

Marcos

Anteriormente, nadie esperaba que Java Junior conociera Spring o Hibernate. Pero los tiempos cambian, y hoy en día a veces se espera esto incluso de los aprendices. Aprender estas tecnologías por tu cuenta no es fácil. Incluso si todo parece claro, los estudiantes a menudo olvidan muy rápidamente qué es qué. A veces, incluso las aplicaciones escritas de forma independiente en Spring no son una panacea. Sólo el trabajo activo ayudará. Sin embargo, antes de una entrevista exitosa, un tercio de los encuestados conocía Spring a un buen nivel y el 45,5% tenía un conocimiento medio del mismo. La situación con Spring Boot es algo peor (el 36,4% no lo sabía en absoluto), y casi el 44% de los graduados de JavaRush encuestados dijeron que tenían buenos conocimientos de Hibernate. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 10Al mismo tiempo, mientras trabajaban, casi el 88% de los nuevos programadores utilizaron el marco principal de Java, Spring Boot - 83%, Hibernate - 81%.¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - once

Construya herramientas de automatización y servidores de aplicaciones.

La mayoría de los graduados de JavaRush entrevistados han intentado trabajar con creadores de proyectos. La mayoría de las veces fue Maven (el 40,9% lo probó en la práctica, otro 30,3% lo usó de vez en cuando y el 12,1% lo usó constantemente durante sus estudios). Cuando trabajaba con Maven, encontré un 72,7% (a menudo), un 7,6% (a veces) y un 3% (rara vez). En cuanto a Gradle, la situación es algo peor. Sólo el 22,7% ha practicado con este coleccionista y la mayoría acaba de probar la tecnología. Casi la mitad de los encuestados utilizó Gradle en su trabajo. ¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 12Ant hace tiempo que perdió su posición, y esto se refleja en su popularidad entre nuestros graduados: solo el 3% de los encuestados lo ha modificado. Y el 12% de los que respondieron las preguntas tuvieron que trabajar con él. Entre los servidores de aplicaciones, Tomcat es el líder; más del 77% de los encuestados lo descubrieron durante sus estudios, el 11% probó GlassFish, el 12% probó JBoss. La popularidad de los servidores entre quienes ya están trabajando es similar. Sólo el 31,8% de los que consiguieron el trabajo no tenían experiencia con Tomcat. Además, los graduados de JavaRush, durante su primer año de trabajo como programadores, probaron servidores como WebSphere, Jetty, Netty, Wildfly, Weblogic.¿Qué necesitas saber para convertirte en Java Junior y qué hacer con todo ello?  - 13

¿Qué otra cosa?

La gran mayoría de los encuestados, incluso antes de conseguir su primer trabajo:
  • tenía conocimientos de HTML, CSS y JavaScript;
  • trabajaba con bases de datos, conocía SQL;
  • casi todo el mundo usaba Git y GitHub;
  • Intenté trabajar con XML puro.
Todas estas tecnologías les resultaron útiles en su trabajo posterior. Se espera que un programador de Java, o cualquier otra persona, esté familiarizado por defecto con todo lo anterior. Es conocimiento, no conocimiento profundo. Por eso recomendamos tomarse un descanso de Java en ocasiones y ampliar sus horizontes estudiando estas tecnologías. Además, algunos de los que respondieron las preguntas señalaron que en la entrevista se esperaba que tuvieran conocimientos, al menos teóricos, de patrones de diseño, patrones arquitectónicos, así como buenos modales en programación (todos estos KISS, DRY, SOLID). Sin embargo, la mayoría de las veces en las entrevistas sólo bastaban las definiciones: quienes realizaron las entrevistas sabían muy bien que una comprensión real de estas cosas sólo se consigue con la práctica constante. ¿Fueron útiles en su trabajo? Por supuesto que fueron útiles.

conclusiones

Esperamos no haberte asustado demasiado con la cantidad de tecnologías que tienes que aprender. No es necesario saber todo esto a fondo y, además, descubrirlo todo es bastante interesante. No en vano decidiste convertirte en programador, ¿verdad? Así que sigue aprendiendo Java y mantente motivado. ¡Buena suerte! PD: Si ya encontraste trabajo y quieres hablar de tu experiencia, ¡bienvenido a los comentarios!
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION