Entonces, ¿cuánto tiempo lleva aprender Java? ¿Diez años, diez semanas o un día? ¿Quizás toda tu vida? Puede encontrar respuestas muy peculiares a esta pregunta en algunos foros en línea. Dejémoslo claro desde el principio. En este artículo “conocer Java” no significa que puedas escribir “Hola mundo programa”. Se trata de conocer Java lo suficientemente bien como para encontrar tu primer trabajo. El lema de Buzz Lightyear aquí en el título no es exactamente una broma. Realmente puede continuar aprendiendo Java o cualquier otro idioma por el resto de su vida. La razón es que el lenguaje está en constante evolución, su alcance está cambiando y… ¡ Buenas noticias, amigos!¡No hay razón para entrar en pánico! La misión de aprendizaje de Java es definitivamente posible de completar en 3 a 12 meses, sin embargo, hay muchos matices que discutiremos en este artículo. Aquí también intentaremos responder a la pregunta "cómo aprender Java rápidamente".

¿Cómo buscamos la respuesta?

La pregunta "¿cuánto tiempo lleva aprender Java?" es un poco engañosa. Lo dividimos en subpreguntas más específicas y las respondemos aquí. Para ser más precisos, utilizamos entrevistas con estudiantes de CodeGym, fuentes abiertas y las estadísticas de la Encuesta. Esa Encuesta fue sobre los procesos de aprendizaje de Java y la búsqueda de ese primer trabajo. Fue realizado por una de las unidades locales de CodeGym. Los participantes de la encuesta eran estudiantes de CodeGym de nivel 30 y superior, que encontraron su primer trabajo relacionado con Java o participaron en una pasantía de Java.

¿Qué significa “Conocer Java”?

La respuesta más precisa, aunque muy general, a esta pregunta sería "ser capaz de resolver el problema usando Java". Tal problema puede ser el objetivo de "aprobar un examen" o "conseguir un trabajo". O puede ser una tarea técnica, ya sea grande "crear mi propio proyecto lo suficientemente bueno para Play Market", por ejemplo, o pequeña como "entender cómo escribir código que haga lo que necesitas". Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 2Por supuesto, sus problemas cambiarán con el tiempo. Después de obtener su primer trabajo, deberá crecer en posiciones (por ejemplo, de desarrollador junior de Java a desarrollador intermedio/senior de Java). La primera tarea de codificación es seguida por la segunda. Además, cuando lo hagas, aparecerán algunos objetivos nuevos. Volvamos a nuestra pregunta. ¿Qué temas debes conocer para escribir “Sé Java” en tu CV? Los estudiantes de Java generalmente aprenden los siguientes temas:
  • Núcleo Java o
  • Núcleo Java + JUnit o
  • Core Java + Bases de Datos o
  • Core Java + Herramientas o
  • Core Java + Bibliotecas o
  • Núcleo Java + Spring + SpringBoot + Hibernate o
  • Núcleo Java + Android SDK o
  • …y todas las combinaciones anteriores.
Todos estos temas tienen una cosa en común. Es Core Java, los fundamentos del lenguaje Java. Entonces, si no conoce Core Java , definitivamente no conoce Java en absoluto. Por lo tanto, aprender Core Java es el paso n. ° 1 para todos los futuros desarrolladores de software Java. Core Java cubre los conceptos fundamentales del lenguaje:
  • Tipos y objetos básicos.
  • Construcciones básicas (Operadores especiales, Bucles, Ramales)
  • Conceptos de programación orientada a objetos
  • Clases contenedoras
  • Colecciones
  • subprocesos múltiples
  • Flujos de E/S
  • Manejo de excepciones
Entonces Core Java contiene tipos básicos, objetos, construcciones y principios, así como las bibliotecas y marcos más importantes. Además, Core Jav cubre clases de redes, seguridad, acceso a bases de datos, desarrollo de interfaz gráfica de usuario (GUI) y análisis XML. La mayoría de los paquetes de "Core Java" comenzaron con 'java.lang..' El primer objetivo para cada estudiante de Java es aprender Core Java. ¿Qué aprender después de Java Core? Depende de para qué estés aprendiendo Java.

Tu manera personal. ¿Para qué aprendes Java?

En este artículo no consideramos opciones como “Aprendo Java solo por diversión” o “Quiero enseñar Java en el futuro”. Aquí estamos hablando del uso profesional de Java en TI. En la actualidad, la mayoría de las veces Java se enseña con el fin de ir de una de estas tres maneras:
  • Desarrollador Java, de aprendiz/desarrollador junior a desarrollador senior
  • Desarrollador Android, indie o en una empresa (Junior a Senior)
  • Automatización de control de calidad (con Java)

Desarrollador Java

El grupo de desarrolladores de Java es muy amplio y los requisitos para el conocimiento de Java son para obtener su primer trabajo, lo que puede variar mucho. Según CodeGym Survey, hay algunas personas que obtuvieron su primer trabajo en Java Junior conociendo solo Java Core y nada más. Las empresas estaban listas para capacitarlos durante los procesos de trabajo. Sin embargo, este es un evento bastante raro. Más a menudo, esa persona puede unirse a una pasantía o convertirse en aprendiz de Java después de aprobar algunos exámenes. Por lo general, los solicitantes de Java Junior deben saber más que solo Java Core para obtener su primer trabajo. Aquí hay una lista de tecnologías relevantes que los desarrolladores de Java deben conocer.
  • Núcleo de Java
  • API de JDK
  • Java 8 (lambdas), Java 11
  • Bibliotecas de prueba (JUnit)
  • marco de primavera
  • Spring Boot y Spring MVC
  • Hibernar
  • JDBC
A continuación se muestra una infografía ampliada basada en la encuesta de CodeGym y el análisis de las vacantes actuales de Java Junior. Solo notamos que no representa Java en sí mismo, sino también una serie de otras tecnologías que se supone que los desarrolladores modernos de Java conocen. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 3Su tamaño y ramificación pueden asustar a un lector inexperto. ¡Por favor, mantén la calma y respira profundamente! Estas tecnologías las aprenderá en detalle durante su trabajo. Por lo general, un desarrollador de software principiante solo necesita tener una idea general sobre la mayoría de estas tecnologías (con raras excepciones).

Desarrollador de Android

Los desarrolladores de Android podrían trabajar para una empresa o tener sus propios proyectos. Deben conocer Java Core con seguridad y algunas otras tecnologías. Aquí tenemos una infografía que demuestra una forma de desarrollador de Android. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 4Bueno, hay muchos puntos en la lista, pero no muchos de ellos son directamente sobre Java (solo herramientas de prueba y, en realidad, Core Java). Por lo general, los desarrolladores están de acuerdo en que aprender la programación de Android por su cuenta es algo más fácil y rápido que el desarrollo empresarial. Sin embargo, incluso para aquellos que aspiren a la posición de Java Junior, será útil crear proyectos de Android para entrenar sus habilidades de programación.

Automatización de control de calidad

Un buen QA Automation debe conocer bastante bien el lenguaje de programación, es una de las habilidades más importantes para esta profesión. Conectado a Java
  • Core Java (especialmente OOP, Collection, FileOperations)
  • Bibliotecas de prueba (JUnit)
  • IDEA IntelliJ
Otras tecnologías:
  • Marco Selenium RC/WebDriver
  • Modelo de objetos de página
  • HTML/CSS
  • sql
Por lo general, el camino a Junior QA Automation es algo más corto que Java Junior Developer. Los números exactos los encontrarás al final de este artículo.

¿Quién está preguntando? Retratos de estudiantes potenciales de Java

“Creo que depende de tus antecedentes y de la cantidad de tiempo que puedas dedicar a estudiar. Cuando comencé mi viaje como desarrollador de software, dedicaba al menos 40 horas a la semana a estudiar. Después de 6 meses de estudiar a tiempo completo, me sentí lo suficientemente seguro de que puedo dominar cualquier tecnología nueva por mí mismo. Para obtener su primer trabajo como ingeniero de software, no solo necesitará aprender Java, sino también comprender los conceptos básicos de informática, programación orientada a objetos y escribir algunos proyectos que puedan mostrar su trabajo. Creo que esto puede llevar entre nueve y doce meses. Sé que esto suena como mucho trabajo, ¡pero no te desanimes! Este viaje puede ser realmente divertido si descubres qué aspecto de la codificación te brinda alegría y te permites jugar”. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 5
Yuliya Deinega , Desarrolladora de software autodidacta. Yulia trabaja para LinkedIn como ingeniera aprendiz de REACH. Además, creó un canal de YouTube para compartir su experiencia de aprender programación informática y encontrar trabajo en Silicon Valley.
Podemos dividir a quienes comienzan a aprender Java en tres categorías principales:
  1. “novatos”. Cero experiencia. Bueno, aquí hay gente que no sabe nada de programación.
  2. “Medios”. Estudiantes con experiencia mínima o caótica en programación. Esas personas aprenden a programar en la escuela, universidad o cursos, pero no era un aprendizaje serio.
  3. “Pros”. Desarrolladores de software que conocen otros lenguajes de programación (1 o más).
Según la Encuesta, el 49% de nuestros estudiantes tenían programación básica en escuelas o cursos antes de comenzar a aprender Java en serio.
  • 33.3% eran absolutamente novatos
  • 17,6% conocía al menos un lenguaje de programación
Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 6

¿Qué afecta positivamente el tiempo de estudio?

Para no perder el tiempo en vano, debe abordar el aprendizaje de manera efectiva desde el principio. Hemos identificado los puntos principales que contribuyen a una programación de estudios exitosa.

Elige las fuentes adecuadas

Puede encontrar mucha información diferente sobre Java en Internet. Es fácil perderse en él. A veces, si no entiende un tema, es útil buscar nuevas fuentes en Google, pero antes de comenzar, es una buena idea elegir: 1 curso principal y 1-2 fuentes auxiliares, como libros o tutoriales de Java . Quédate con ellos. En este caso, ahorrarás tiempo evitando deambular sin rumbo por Internet y buscar algo.

Prepárate para aprender mucho y de manera constante.

John Selawsky, tutor de Java y desarrollador de software, dijo en uno de sus artículos que a veces tenía algunos estudiantes que programaban increíblemente bien, pero algunos de ellos simplemente dejaban de aprender. Sus problemas no estaban en el tiempo libre, la edad o el género. ¡No se trataba de habilidad! Se trataba de consistencia. Todos los estudiantes exitosos tenían un horario constante y se apegaron a él. Hicieron progresos, aunque a veces fue lento. Por lo tanto, debe tener un horario (puede tomarlo de su curso principal o tutorial) y establecer un tiempo para aprender. ¿Quieres hacer de la programación Java tu profesión? Si es así, prepárese para aprender diariamente durante 1 a 3 horas. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 7Según CodeGym Poll, el 52,3 % de nuestros alumnos exitosos tenían de 1 a 3 horas de práctica diaria.

Buena relación entre teoría y práctica.

No puedes aprender a nadar sin intentar nadar, solo con un libro. La misma historia con la programación. No puedes aprender Programación sin escribir código. La programación es una actividad práctica. Es importante empezar a escribir código lo antes posible. No necesitas aprender demasiada teoría a la vez, especialmente en los primeros meses de estudio. Es mejor estudiarlo en pequeñas porciones y luego corregirlo inmediatamente en la práctica. Entonces, el 20% de su tiempo es para la investigación teórica y el 80% para la práctica. Este es el lugar adecuado para volver a la primera pregunta "¿Qué significa conocer Java?" y aclarar la respuesta. Saber Java significa poder codificar en Java. No "saber sobre Java", pero ser capaz de escribir programas de diversa complejidad y tener algo de experiencia en dicha codificación.

Buena relación para tareas fáciles y difíciles

Los novatos a menudo intentan resolver algunas tareas difíciles, inténtalas una y otra vez. Si lo hacen durante demasiado tiempo, el resultado podría ser triste. Este es un camino para perder la motivación. Para los principiantes es más beneficioso resolver muchas tareas pequeñas y sencillas que algunas complejas. Una buena proporción para los primeros meses de aprendizaje es 1 tarea difícil por 10 a 20 tareas simples. Y una cosa más: si la tarea es demasiado complicada para ti e intentaste resolverla varias veces, sé lo suficientemente valiente como para… posponerla hasta que sepas más. Es mejor resolver varios problemas más fáciles y luego regresar a la fortaleza infranqueable. O.. si todavía crees que este es el momento adecuado para resolverlo, no tengas miedo de hacer una pregunta. Este es el siguiente punto.

Ser capaz de hacer preguntas

Los principiantes a menudo dudan si deberían hacer preguntas en foros y comunidades, porque piensan que sus preguntas podrían ser estúpidas. Bueno, ¡definitivamente podrían! Pero está bien, ¡no hay razón para preocuparse! Todos los desarrolladores de software estaban en su lugar y necesitaban una respuesta a una estúpida pregunta de novato. ¿Así que lo que? Las comunidades de programación son algo colaborativas. Los desarrolladores de software suelen trabajar en equipo y todos ellos alguna vez fueron principiantes. Todos los estudiantes e incluso todos los desarrolladores de software profesionales hacen preguntas estúpidas de vez en cuando y no hay delito en ello. Entonces, si algo salió mal, vaya al foro y haga una pregunta. Podría ser Javaranch o Stack Overflow o CodeGym Help, seguro. Los mejores foros para hacer preguntas o buscar respuestas:

Entonces, ¿cuánto tiempo debo aprender Java para conseguir mi primer trabajo?

Nos hemos acercado al punto en el que podemos responder a la pregunta principal de este artículo: ¿cuánto tiempo lleva aprender Java antes de comenzar a enviar su CV y ​​obtener su primer trabajo? Usamos los datos de la encuesta y las entrevistas a los estudiantes para crear los siguientes gráficos, que tomaron en cuenta el nivel inicial de los encuestados y uno de los tres puestos necesarios. Para cada grupo, determinamos los intervalos de tiempo durante los cuales estudiaron Core Java y el tiempo que dedicaron a estudiar las tecnologías relacionadas necesarias para obtener el primer trabajo. ¡Atención!Aquí hay información para leer gráficos. “Rookie” es una persona con cero experiencia en programación, “Middle” es alguien que aprendió un poco de programación en la escuela o cursos. En el caso de Java y Android Developer, “Pro” significa una persona que conoce bien uno o más lenguajes de programación. En el caso de QA Automation “Pro” significa aquel que ya trabaja en testing manual y quiere convertirse en un automatizador con lenguaje Java. Para todos los gráficos usamos una escala de tiempo con el número de meses. Los rectángulos rojos indican el tiempo dedicado a aprender Core Java, los azules son para otras tecnologías necesarias además de Core Java. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 8Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 9Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 10Es importante entender que los gráficos indican el tiempo promediogastados por los encuestados de cada grupo para estudiar tecnologías. De hecho, hubo campeones en cada grupo que hicieron frente a su aprendizaje mucho más rápido, y también hubo quienes retrasaron sus estudios durante varios años. El tiempo general de aprendizaje indica el momento en que los solicitantes comenzaron a enviar un currículum o completaron su primer proyecto (uno que comenzó a ganar dinero). Según nuestra encuesta, en promedio, toma de un mes a tres para encontrar un trabajo. Estos meses de búsqueda comienzan al finalizar el estudio de tecnologías relacionadas. Hubo gente afortunada que encontró trabajo una semana después de enviar su primer CV, pero también hubo quienes estuvieron un año buscando. Hasta el infinito y más allá: ¿cuánto se tarda en aprender Java?  - 11

Conclusiones

¿Cuánto tiempo para aprender Java? Según los resultados de la investigación, la velocidad de aprendizaje de Java y tecnologías relacionadas depende principalmente de la regularidad y el nivel inicial del estudiante. Seguro que ahora no puedes hacer nada con tu nivel inicial, pero el estudio regular es definitivamente tu responsabilidad. ¿Cómo aprender Java rápido? Trate de no hacer paradas largas ni posponer las cosas mientras aprende. Es extremadamente importante, porque durante las paradas largas, no solo te quedas quieto, sino que retrocedes poco a poco. Práctica diaria, perseverancia y motivación: definitivamente necesitará todo esto si decide aprender Java y tecnologías relacionadas. Si sigue un horario establecido, observa el equilibrio correcto de teoría y práctica, y practica diariamente durante al menos 1-3 horas, no tenga miedo de hacer preguntas. es bastante posible aprender Java al nivel que le permitirá encontrar su primer trabajo en 6-12 meses. ... ¡Y luego continúe su aprendizaje como desarrollador/profesional de automatización de control de calidad hasta el infinito y más allá! PD: ahora y tu? ¿Cuánto tiempo aprendes Java por ahora? ¿Es duro este proceso? ¿O tal vez ya encontró su primer trabajo relacionado con Java? ¿Fue duro? ¿O tal vez acabas de empezar a buscarlo? ¡Comparte tu experiencia aquí!