El punto de partida para aprender Java: lo que debe saber y cosas que desearía haber sabido

Publicado: 2020-04-14

Comenzar a programar es más fácil si es parte de tu plan de estudios universitario. Entonces, no tiene que elegir qué idioma aprender, qué argumentos omitir y a qué conceptos prestar más atención.

Cuando fui a la universidad, C fue el primer lenguaje de programación que aprendí, luego los profesores nos daban un curso de C++ y más tarde, si querías, podías aprender Java, Python y otros lenguajes.

Sin embargo, cuando hablo con desarrolladores de software de nivel de entrada, no recomiendo que abandones tu educación en programación con C. En su lugar, normalmente sugiero aprender Java; explicaré por qué un poco más adelante.

Aunque, en mi opinión, la comunidad de Java está repleta de materiales de aprendizaje, los desarrolladores principiantes a menudo me preguntan "¿Por dónde empiezo?" o "¿Tengo que leer la teoría o comenzar a escribir código de inmediato?".

Aparentemente, aprender a codificar por tu cuenta no es fácil. Como desarrollador experimentado, decidí ayudar a los compañeros novatos y guiarlos a través de las trampas de la curva de aprendizaje de Java. En esta publicación, descubrirá qué prácticas cambian las reglas del juego en el aprendizaje de Java, dónde fallan muchos desarrolladores de Java y cómo asegurarse de aplicar los conceptos que domina en el lugar de trabajo.

Pero, ¿por qué Java?

Si su primer instinto es iniciar un debate conmigo y explicarme que Python es más fácil o que C es una forma más tradicional de aprender a desarrollar software, permítame asegurarle que veo de dónde viene.

Veo Java por lo que es objetivamente, reconozco sus desventajas (velocidad y eficiencia de la memoria, por ejemplo); sin embargo, creo que no hay mejor lenguaje para aprender como desarrollador de nivel de entrada.

He aquí por qué me gusta tanto Java como punto de partida en la programación:

  • Los conceptos de Java son utilizados por múltiples lenguajes de programación. La programación orientada a objetos, las variables tipeadas o el flujo de control son conceptos que puede usar más adelante cuando trabaje en C o C++. Si un desarrollador de Python solo sabe cómo codificar en Python, tendrá un puente entre Java y otros lenguajes web y móviles (Kotlin, por ejemplo, debe gran parte de su funcionalidad a Java). En términos de versatilidad, elegir Java es definitivamente una victoria sobre cualquier otro lenguaje.
  • La codificación en Java es versátil. Para su primer lenguaje de desarrollo, no solo desea una tecnología lucrativa que le proporcione habilidades y un trabajo. Más bien, lo mejor para usted es asegurarse de disfrutar de un viaje divertido, y Java es exactamente lo que está buscando. Si recién está comenzando, la sensación de que C es más simple porque tiene que escribir menos puede atormentarlo (es engañoso, como comprenderá más adelante). Sin embargo, según recuerdo mis días de aprendizaje del lenguaje de programación, ninguna otra experiencia de aprendizaje supera la intromisión en Java. Hay mucho espacio para la creatividad y la creación de aplicaciones de muestra: juegos de rol basados ​​en texto, juegos administrados por consola y muchos más. Además de eso, puede encontrar proyectos para todos los niveles de dificultad: no es necesario aprender conceptos teóricos durante meses antes de pasar al aprendizaje práctico.
  • Lenguaje ampliamente utilizado. A veces, es tan simple como eso: quieres aprender un lenguaje que te permita hacer cualquier cosa, y no hay nada mejor que Java. El lenguaje es excelente para aplicaciones web, software, proyectos de Android y herramientas internas. Después de familiarizarte con Java, tendrás la sensación de que puedes hacer más o menos cualquier cosa. Por supuesto, seguirá siendo necesario entrometerse en lenguajes con secuencias de comandos como JavaScript; sin embargo, no sería tan aterrador como aprender un lenguaje de programación desde cero una vez que esté al menos en el nivel intermedio de competencia de Java.

Mercado de trabajo de programación Java: ¿algo bueno?

aprender a codificar el desarrollo
Imagen: Tienda KnowTechie

Aprender Java puede ser divertido y todo, pero ¿no me quedaré sin trabajo y hambriento si este es el único idioma que conozco?

Debido a que Java es tan popular entre los desarrolladores de nivel de entrada, es posible que sienta que todos saben cómo usarlo y que ya nadie contratará programadores. Lo más probable es que esté experimentando los efectos clásicos del cebado: pensar que, debido a que está viendo mucho de algo, podría ser dolorosamente común.

Recopilé algunas estadísticas sobre el mercado laboral de Java para demostrar que hay mucho trabajo para un desarrollador razonablemente capacitado:

  • Java es el lenguaje de programación de más alto rango según la última encuesta de Stack Overflow;
  • El salario promedio de un desarrollador de Java en los EE. UU. es de $ 79,137, según Glassdoor;
  • Número de vacantes de desarrollo de Java actualmente disponibles en Indeed: 27,049

Si tiene en cuenta las tendencias generales en el mundo de la tecnología, como la creciente demanda de talento tecnológico y la creciente proliferación de dispositivos Android (Java es un lenguaje de desarrollo de Android ampliamente utilizado), queda claro que no se está quedando sin trabajos. en cualquier momento.

Por lo tanto, en lugar de dudar si debe o no probar Java, inténtelo y comience a aprender el idioma hoy.

Cosas que desearía saber en mi viaje de aprendizaje de Java

Antes, cuando estaba aprendiendo Java, no había ni la mitad de herramientas y recursos, aparte de unas pocas docenas de tutoriales, libros y documentación oficial. Por qué creo que los desarrolladores lo tienen más fácil ahora que hay muchos recursos, muchos codificadores de nivel de entrada están confundidos y abrumados por la variedad de herramientas.

Aunque no existe una estrategia inamovible para adquirir competencia en desarrollo de software, aquí hay un par de cosas que desearía que alguien me hubiera dicho antes.

1. Aprende a resolver problemas, no a programar

desarrollador web
Imagen: Pexels

Veo a muchos principiantes hojeando tutoriales tras tutoriales, recogiendo patrones y conceptos. Sin embargo, si bien esto lo ayudará a aprender la sintaxis de Java, aún estará lejos de la mentalidad de un programador.

Inmediatamente después de completar los tutoriales de Java y tuve que poner en práctica mis habilidades, me confundí y me desafiaron. En lugar de diseccionar aplicaciones en partes móviles y ver cómo podía construirlas yo mismo desde cero, seguí viendo cada proyecto como una montaña alta que no tenía forma de escalar.

Afortunadamente, en el camino, encontré muchos recursos que me ayudaron a tener más confianza en el desarrollo de Java en el mundo real:

  • Piense como un programador: un libro que lo ayuda a adquirir la mentalidad de un desarrollador, independientemente del idioma que esté aprendiendo.
  • Codegym: una plataforma dedicada específicamente al aprendizaje de Java que pone énfasis en la aplicación práctica de conceptos teóricos. Gracias a este, descubrí varios trucos útiles que me ayudaron a facilitar el desarrollo del proyecto.
  • Desbordamiento de pila: sé que ha escuchado mucho acerca de estar al acecho aquí, aunque no recomiendo pegar fragmentos de código de SO, hojear los foros ciertamente lo acerca un paso más a la mentalidad de un desarrollador.

2. Subestimé la tecnología de asistencia

De alguna manera, ignoraba felizmente lo útiles que pueden ser las bibliotecas y los marcos de Java. Naturalmente, como desarrollador principiante, desea hacer todo por su cuenta; sin embargo, solo hay mucho que puede hacer en un día, y buscar atajos suele ser crucial.

Si tuviera que reiniciar mi viaje de aprendizaje de Java, sería considerablemente más cuidadoso al elegir un conjunto de herramientas para emparejar el lenguaje.

Estas son las herramientas que recomendaría para que los desarrolladores revisen:

  • JUnit: una herramienta de prueba conveniente para programadores de Java
  • JRat: un generador de perfiles de rendimiento de Java que permite a los desarrolladores monitorear la ejecución de sus productos;
  • Mockito: un marco de código abierto que facilita la simulación de Java;
  • Ehcache: una herramienta de almacenamiento en caché diseñada específicamente para la programación Java.

A continuación, enumeraré las bibliotecas, los marcos y las API más esenciales para el aprendizaje de Java.

3. No tenía un plan de aprendizaje

Confiando mucho en los tutoriales y los recursos en línea, comencé a aprender Java con la cabeza completamente vacía. No tenía una línea de tiempo para mi viaje, ni idea de cómo usaría mis habilidades, ni una rutina de estudio diaria desarrollada. Mi motivación era simple y estúpida: Java parecía estar de moda, no saberlo se siente como algo perdido, entonces, ¿por qué no lo aprendo?

Si está comenzando en el desarrollo de software, sea más minucioso acerca de dónde quiere llegar al final del día. No permita que el objetivo que tiene en mente lo ciegue tampoco: aprender un lenguaje de programación siempre debe comenzar con lo básico, incluso si desea convertirse en un desarrollador de pila completa: un experto en todos los oficios.

En este momento, si tuviera que aprender Java desde cero, esta sería aproximadamente mi hoja de ruta:

API de JDK:

  • E/S de Java
  • Colección Java
  • Concurrencia de Java
  • Java 8

Marcos Java:

  • Primavera
  • Bota de primavera
  • Hibernar
  • micronauta
  • Microperfil Eclipse

Bibliotecas de prueba:

  • Pepino: facilita las pruebas impulsadas por el negocio
  • Robot Framework: ayuda a optimizar las pruebas de integración
  • JUnity para pruebas unitarias
  • Mockito para pruebas de maquetas.

Para obtener una maqueta de aprendizaje de desarrollo de Java más detallada, eche un vistazo al gráfico a continuación.

Asignaría una fecha límite a cada uno de estos bloques para asegurarme de no holgazanear y progresar.

Conclusión

Cuando digo que aprender Java es divertido, me refiero principalmente a la nostalgia y los recuerdos felices que sentirás después de dominarlo. En cuanto al proceso, experimentará tanto lo alto de obtener la respuesta correcta al problema como lo bajo de no entender qué diablos quiere de usted su recurso de aprendizaje.

Como con cualquier aprendizaje, dominar un lenguaje de programación es sangre, sudor y lágrimas. Sin embargo, mientras perseveres y superes la incomodidad inicial de Java, el proceso de aprendizaje se volverá gradualmente más agradable y menos agotador.

¿Tiene alguna idea sobre esto? Háganos saber a continuación en los comentarios o lleve la discusión a nuestro Twitter o Facebook.

Recomendaciones de los editores:

  • Ponga en marcha sus habilidades de JavaScript con este curso para principiantes de $13
  • 9 deben aprender mazos para estar al día con Java
  • 3 cosas que debe saber sobre el alojamiento Java
  • ¿Por qué la programación Java es popular para las empresas?