C√≥mo convertirse en un desarrollador de Java en 1.5 a√Īos

Mi nombre es Sergey, tengo 40 a√Īos y ahora trabajo como desarrollador de Java en una empresa alemana. Estamos desarrollando software para cervecer√≠a evaluaci√≥n de riesgos financieros y crediticios. Este es mi primer trabajo como desarrollador. Antes de eso, trabaj√© en el campo de soporte de TI e integraci√≥n de sistemas. El 1 de febrero de 2019, mi per√≠odo de prueba de seis meses finaliz√≥ y tengo un contrato perpetuo a mano. Quiero compartir mi experiencia sobre c√≥mo aprender Java de manera independiente para conseguir un trabajo.



Este es mi escritorio. Se nos permite beber cerveza durante las horas de trabajo, estamos en Alemania.


Mi primer art√≠culo: ‚Äú Emigraci√≥n de TI con la familia. Y especialmente la b√ļsqueda de trabajo en una peque√Īa ciudad de Alemania, cuando ya est√°s all√≠ "


Mi segundo artículo: " Conseguir un trabajo en Alemania será más fácil ".


Descargo de responsabilidad


Dir√© de inmediato que todo tipo de "aprender a aparecer en 10 d√≠as" (21 d√≠as, 30 d√≠as, etc.) son utop√≠as. No hay una p√≠ldora roja para ingresar r√°pidamente a la matriz. Pero durante un a√Īo o dos en paralelo con el lugar de trabajo principal, es bastante real.


Lo que tenía en mi activo antes de comenzar a aprender Java


Al principio quer√≠a nombrar el art√≠culo "C√≥mo convertirse en un desarrollador de Java en 1,5 a√Īos desde cero ", pero cambi√© de opini√≥n. Llegu√© a la programaci√≥n no desde un campo completamente diferente, sino desde TI. Pero no trabaj√© en desarrollo, sino en apoyo. Es probable que a un camionero no le resulte f√°cil repetir mis pasos para convertirse en programador. Aunque, si mi esposa tiene √©xito en su 34 para volver a entrenarse de humanidades puras a un desarrollador (o probador), escribir√© otro art√≠culo.


Vale la pena decir que ya sabía cuándo decidí convertirme en desarrollador.
En la universidad durante 2 semestres estudiamos programaci√≥n en C y C ++. Nada especial o alg√ļn conocimiento profundo. Rendido - olvidado. Adem√°s, como estudiante, escrib√≠ algunos programas simples de Delphi para m√≠. Y eso es todo. Eso fue hace m√°s de 20 a√Īos.


Entonces mi carrera se veía así:


  1. Administrador del sistema
  2. Ingeniero de sistemas
  3. Diputado jefe de departamento
  4. Supervisor
  5. Ingeniero de esos. apoyo

No hice la programación directamente.


Mi camino


Cursos en línea.


Comencé con las siguientes especializaciones en coursera.org :


Fundamentos de programación de Java e ingeniería de software - 4 meses

Tomé los siguientes cursos en línea:



Despu√©s de esta especializaci√≥n, estaba m√°s o menos versado en el idioma, pero escribir el programa en s√≠ segu√≠a siendo poco realista. El √ļltimo proyecto final que no hice. Fue dificil para mi. Y para ser honesto, perd√≠ mi entusiasmo. Me tom√© un descanso


Programación Java orientada a objetos: estructuras de datos y más allá: 5 meses

Después de un mes, decidí volver a las clases nuevamente. Fui a la especialización de cinco cursos:



Tampoco domin√© el √ļltimo proyecto final. Pero el pen√ļltimo curso sobre la lista de Entrevistas para dominar la ingenier√≠a del software me ayud√≥ a prepararme bien para la pr√≥xima entrevista. Y pude escribir mi primer analizador sin pretensiones de un sitio simple en HTML puro. Ya era bueno, pero no impresionante.


Cómo codificar - 3 meses

El siguiente paso fueron estos dos cursos extra√Īos en edx.org :



Escrib√≠ "raro" porque no se trata de Java en absoluto. Los autores del curso usan el lenguaje de programaci√≥n especial Lenguaje del estudiante principiante (BSL). Le√≠ en alguna parte que son mega √ļtiles. Quiz√°s estos dos cursos me ayudaron a comprender mejor algunos de los trucos para escribir programas y se convirtieron en una buena ayuda para escribir pruebas de Unidad en el trabajo real. Pero para ser honesto, puedes omitirlos.


Estructuras de datos y algoritmos: 2 meses

Luego volví a coursera.org nuevamente y comencé una nueva especialización, que consta de los siguientes cuatro cursos:



Pero dominó solo los dos primeros. El resto ni siquiera se inscribió. Paralelamente a estos cursos, comencé a leer el libro OCA, que se discutirá más adelante.


Estampado en el lugar

En ese momento me di cuenta de que estaba marchando. La aprobaci√≥n de nuevos cursos no produjo una cantidad tan tangible de nuevos conocimientos como los primeros. Es decir Parece que se agrega conocimiento, pero esto no me acerca a conseguir un trabajo. No entend√≠a c√≥mo con tal conocimiento generalmente puedes encontrar un trabajo. Todav√≠a no pod√≠a escribir nada que fuera m√°s complicado que el analizador. Bueno, ¬Ņc√≥mo es eso?!?!? Incluso intent√© escribir el servicio de an√°lisis de mi sitio con blackjack y prostitutas, pero despu√©s de una semana de desarrollo, mi proyecto se convirti√≥ en un desastre de las clases. Y yo mismo ya no pod√≠a entender lo que escrib√≠ all√≠. Adem√°s, todav√≠a no entend√≠a algunos aspectos del funcionamiento del lenguaje. ¬°Y esto es despu√©s de que ya pas√© alrededor de un a√Īo en todos estos cursos! Doce cursos en l√≠nea y todo un a√Īo, Carl, solo piensa en ello. De hecho, fue un fracaso. Estaba seguro de que en un a√Īo podr√≠a convertirme en desarrollador gracias a estos cursos. Estaba equivocado Necesitaba un plan B.


Alternativa

Comencé a buscar cursos que me ayudaran a adquirir algunas habilidades prácticas que son muy demandadas en el trabajo real. Pero no había nada sensato, o valía un dinero decente. Los mismos cursos de otus cuestan 50,000 por seis meses y las revisiones en ellos son contradictorias. No estaba preparado para tales gastos. Estaba listo para investigar por mi cuenta y estaba buscando cómo hacer esto de forma gratuita o muy económica. Como resultado, todos los cursos en línea que encontré se dividieron en dos categorías:


  • El primero est√° dise√Īado para principiantes o personas con cero formaci√≥n. Con su ayuda, alcanzas el nivel de "tres con un menos". Soy yo! Esto es sobre mi!
  • El segundo es para "buenos chicos" con experiencia laboral que quieren convertirse en "excelentes estudiantes". Como estos: "C√≥mo escribir microservicios en Java para proyectos de alta carga utilizando WildFly Swarm". ¬ŅDe qu√© se trata todo esto?

Y entre ellos un vac√≠o enorme. Bueno, ¬Ņd√≥nde estoy y d√≥nde est√°n todos estos microservicios? Result√≥ que para los "trochiks" no hay nada en absoluto. O lo hay, pero por buen dinero. Y c√≥mo convertirse en un "buen tipo" de forma gratuita, sin registro y SMS, generalmente no est√° claro.


Certificación Oracle


Entonces decidí convertirme en un desarrollador certificado de Java. ¡Porque la frase "Soy un programador profesional de Java" suena muy bien y debería derrotar al futuro empleador en el acto! En cualquier caso, pensé tan ingenuamente.


OCA: Programador asociado de Oracle SE 8 Java Certified - 2 meses

Para esto, compré un libro:


OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808

Me llev√≥ unos 2 meses dominar este libro. Realmente me abri√≥ los ojos a muchos aspectos y me hizo comprender c√≥mo funciona el lenguaje en detalle. Fue un buen avance. Pero no en la b√ļsqueda de empleo, sino en la comprensi√≥n del lenguaje Java. Fui al examen con la confianza de que lo aprobar√≠a bien y lo aprob√©. Obtuve un 84% con el 65% requerido. Estaba inmensamente orgulloso de m√≠ mismo.


El costo del examen es de $ 245. En Rusia, cuesta un poco m√°s barato.


Estime el costo de una capacitación oficial de Oracle para prepararse para este examen


OCP: Programador profesional certificado de Java SE 8 de Oracle - 4 meses

Entusiasmado me puse sobre el segundo libro de los mismos autores:


OCP: Guía de estudio de Oracle Certified Professional Java SE 8 Programmer II: examen 1Z0-809

Para el desarrollo del segundo libro, pas√© 4 meses. Y result√≥ ser realmente dif√≠cil. Dos veces tom√© descansos una semana, porque me resultaba muy dif√≠cil entender las expresiones lambda o multithreading. Adem√°s, la abundancia de clases de entrada y salida me estaba matando. Todos estos NIO y NIO2, que son muy similares y que necesita saber. ¬ŅQu√© hay una clase base, qu√© es una derivada? Fue una verdadera pesadilla. Como resultado, fij√© la fecha del examen por un mes, luego la mov√≠ a dos semanas, luego otras dos. Me estaba quedando sin tiempo, una entrevista se avecinaba en el horizonte. Y necesitaba este certificado. No hice el examen por tercera vez y fui con lo que ten√≠a. A diferencia del primer examen, ya no estaba seguro de un buen resultado. No estaba del todo seguro de poder pasarlo. No hab√≠a rastro de orgullo pasado. La cantidad de informaci√≥n para comprender y recordar en el segundo libro es cinco veces m√°s que en el primero. Pero tambi√©n pas√© este examen. Afortunadamente, las tareas de prueba en los libros resultaron ser m√°s dif√≠ciles que las que estaban en el examen. Pero fue un gran avance ... para m√≠. Un avance en t√©rminos de conocimiento y comprensi√≥n de c√≥mo funciona el idioma y qu√© herramientas ofrece.


El costo del examen también es de $ 245.


Puedo decir que estos dos libros me han dado m√°s que todos los cursos en l√≠nea que tom√© antes. Pero no s√© si podr√≠a aprobar estos ex√°menes si no hubiera tomado los cursos antes. Con la ayuda de estos ex√°menes, pas√© al nivel de "tres m√°s". Y eso ya era algo. Pero tampoco pude implementar independientemente ning√ļn proyecto interesante. WTF ????


Me di cuenta de que había alcanzado el máximo de lo que podía obtener, y seguir aprendiendo el idioma no tenía sentido. Además, entendí que mi conocimiento, que tenía tan difícil de obtener, desaparece rápidamente sin práctica. Era imposible tirar, y comencé a prepararme para la entrevista y a adquirir las habilidades que se podrían requerir al solicitar un trabajo.


¬ŅQu√© necesitas para conseguir un trabajo?


¡Necesito pasar por una entrevista y una entrevista técnica! No escribiré sobre la preparación para la entrevista. Este es un tema para un artículo separado. Escribiré solo sobre el conocimiento que se necesita para pasar una entrevista técnica.


Preparación para la entrevista - 1 mes

Compré el siguiente libro:


Cracking the Coding Interview, 6ª edición: 189 preguntas y soluciones de programación

Lo recomiendo mucho Ella ayudará a prepararse para la parte técnica de la entrevista. Pasé alrededor de un mes en eso. Muchas tareas eran incomprensibles, por lo que encontré otra copia en ruso, y cuando me resultó completamente incomprensible, lo investigué.


Habilidades adicionales

En este punto, ya estaba monitoreando activamente el mercado laboral en mi ciudad y eleg√≠ la compa√Ī√≠a en la que me gustar√≠a trabajar. Ten√≠an una vacante de Desarrollador Java. Entre las habilidades deseadas en la vacante estaban el conocimiento de Oracle SQL, GWT, Eclipse, SVN, Maven, Jenkins. No necesitaba un conocimiento profundo de todas estas tecnolog√≠as, necesitaba una comprensi√≥n simple de qu√© es y c√≥mo funciona. Para que en la entrevista puedas decir, s√≠, lo s√©, pero no profundamente.


Oracle SQL - 1 semana

Ya conocía SQL bastante bien, ya que, como cuestión de deber, tenía que hacer muchos informes arbitrarios para la administración. Pero era T-SQL de Microsoft, y aquí se requería SQL de Oracle. Tuve que comprar un libro para recordar los puntos principales y entender la diferencia.


OCA Oracle Database SQL Exam Guide (Examen 1Z0-071)

Ejecuté este libro rápidamente en una semana. Y me di cuenta de que estoy 70% listo para aprobar otro examen. Pero ya no estaba a la altura.


SVN - 1 semana

Sistema de control de versiones distribuido SVN. GIT o SVN se utiliza en la mayoría de las empresas de desarrollo de software. No encontré cursos de SVN, así que decidí tomar un curso corto sobre GIT: " Control de versiones con Git " para mantenerme al día con el tema. Incluso pensé que si preguntaban sobre SVN, diría que estaba tratando con GIT. Y luego me orientaré en el acto. Si de repente algo no está claro, entonces siempre puedes decir que en GIT es un poco diferente. Y eso, por cierto, funcionó.


GWT - 3 días

La próxima tecnología en la lista es GWT. Después de pasar varios días buscando información, me di cuenta de que simplemente no puedo entender este Marco de Google. Si se simplifica, puede escribir sitios complejos en Java, y este Framework convierte su código en HTML + JavaScript y lo muestra en el navegador sin complementos ni complementos. Demasiado guay. GWT decidí saltarme.


Eclipse - 3 días

Eclipse es un entorno de desarrollo, la principal herramienta de desarrollo con la que trato todos los d√≠as. No tom√© ning√ļn curso especial. Vi varios videos en youtube, entend√≠ las t√©cnicas b√°sicas. Lo intent√© todo con mis manos.


Maven, Jenkins: 15 minutos.

Simplemente no queda tiempo para estas dos cosas. La entrevista ya era por la ma√Īana, as√≠ que solo le√≠ 2 art√≠culos de Wikipedia y me fui a la cama.


Resumen


Tiempo


Me tomó alrededor de 18 meses, 2 semanas, 6 días y 15 minutos obtener el conocimiento y las habilidades necesarias para obtener el lugar de un desarrollador. Lo hacía por las tardes, pasando de 1 a 3 horas entre semana. Y alrededor de 5-6 horas los fines de semana.


Dinero


Estaba listo para gastar mi tiempo y no estaba listo para gastar dinero. Pero todavía tenía que gastarlos.


Cursos:


  • Todos los cursos en l√≠nea que tom√© gratis . C√≥mo hacer esto en coursera.org, escrib√≠ aqu√≠ .

Libros:



Ex√°menes



Gastos adicionales:


  • Viaja a otra ciudad para los ex√°menes, como en mi no hay centros de certificaci√≥n - 120 ‚ā¨.

Total: 702 ‚ā¨


Desafortunadamente, no funcionó completamente gratis. Compré libros en inglés porque El examen también está en inglés.


Resultado


Este conocimiento fue suficiente para pasar una entrevista y firmar un contrato con una compa√Ī√≠a alemana suficientemente buena. Incluso dir√≠a que fueron suficientes con un margen.


También fueron suficientes para pasar por un período de prueba de seis meses y obtener un lugar permanente en el personal de desarrolladores.


Durante estos 6 meses de trabajo como desarrollador, cerr√© m√°s de 200 aplicaciones para el desarrollo, finalizaci√≥n y correcci√≥n de errores en el c√≥digo de subsistemas y m√≥dulos completamente diferentes. Y no rechac√© una sola solicitud "porque no pude". S√≠, ten√≠a que y ahora tengo que entender cosas nuevas, buscar informaci√≥n, profundizar en los detalles. Estoy haciendo algo lentamente, pero es interesante para m√≠ y el proceso contin√ļa. ¬°Y lo pagan bien!


Pero no pienses que soy muy inteligente. Soy el tipo m√°s f√°cil que decidi√≥ cambiar su vida para mejor. Yo soy como tu Y si yo pudiera, ¬°t√ļ tambi√©n puedes!


Express es el camino


De hecho, para convertirme en desarrollador, no me llev√≥ 1,5 a√Īos, sino dos. Pero esto se debe a mi propia estupidez (lea sobre esto en mi canal de telegramas ). Directamente en la realidad, pas√© 1,5 a√Īos. Pero no es necesario repetir mis errores. Creo que es posible lograr el mismo resultado en menos tiempo. Tiramos todo el exceso y obtenemos algo como esto:


Primera parte - 5 meses


Tomamos los siguientes cursos de especialización de Programación Java Orientada a Objetos: Estructuras de datos y más allá en el cursor:



Paralelamente, leemos un libro:



En base a los resultados aprobamos el examen.



Segunda parte - 2 meses


Tomamos los siguientes cursos de especialización de Estructuras de datos y Algoritmos :



Paralelamente, leemos un libro:



Tercera parte - 4 meses


Leemos el libro:



En base a los resultados aprobamos el examen.



Cuarta parte: 1 mes


Analizamos específicamente lo que el empleador quiere de quienes buscan trabajo y dedicamos una semana a cada una de las 4 tecnologías, programas o marcos más necesarios (Git, Eclipse, Maven, Spring, etc.). Además, estudiamos el área temática en la que trabaja el empleador, sus productos, si los hay, etc.


A√Īo total. Durante un a√Īo, es bastante real.


Mantenerse en contacto


Sobre c√≥mo cambi√© mi vida a los 40 a√Īos y me mud√© con mi esposa y mis tres hijos a Alemania, escribo en mi canal de telegramas @LiveAndWorkInGermany . Escribo sobre c√≥mo fue, qu√© es bueno y qu√© es malo en Alemania, y planes para el futuro. Brevemente y por negocios. √önete a nosotros, ser√° interesante.

Source: https://habr.com/ru/post/439432/


All Articles