JavaRush /Blog Java /Random-ES /La ruta del desarrollador de Java
trinit
Nivel 41

La ruta del desarrollador de Java

Publicado en el grupo Random-ES
Bueno, es mi turno de escribir mi historia. En resumen, soy desarrollador Java junior desde hace 3,5 meses. Si quieres detalles, sigue leyendo. Como todo aquel que escribe historias laborales, probablemente sea mejor empezar con la historia de fondo de quién era yo y en quién me convertí. Hace mucho tiempo, hace muchos, muchos años, intenté empezar a programar.. Era 2do o 3er grado, me inscribí en un club de programación, fui varias veces, aprendí a escribir mi nombre y dirección en el teclado, y ahí se acabó mi programación, porque por alguna razón dejé ese club. . No tenía conocimientos de programación en la escuela ni en la universidad, al igual que estaba estudiando para ser contador. Varias veces intenté aprender a programar por mi cuenta. Tenía un libro en casa sobre informática que contenía problemas en Pascal, pero no entendía nada y no había nadie a quien explicárselo, así que lo dejé. Pasaron los años, estudié para contador, no había trabajo. Y hace unos dos años finalmente encontré trabajo en una franquicia de 1C. Allí fui a la línea de soporte técnico al usuario, porque... Sabía contabilidad y la dirección principal de 1C sigue siendo esta industria. Después de un tiempo, el director dijo que sería necesario que aprendiera programación, porque... No hay nadie a quien escribir y este conocimiento no vendrá mal en el soporte técnico. No había ningún lugar adonde ir y este fue mi primer paso en el camino. Durante dos meses leí un libro sobre la plataforma 1C, luego me explicaron qué es una variable y luego fue como una niebla :) Es broma. No entendía nada más allá de las variables y tuve que ver cursos para principiantes basados ​​en Python. Ya en el proceso de trabajo y tareas específicas, comencé a comprender los bucles, las matrices y el mecanismo de depuración paso a paso. El verdadero avance fue cuando descubrí cómo pasar parámetros a otras funciones. Un día estaba sentado y buscando en Google qué podría ayudarme a aprender 1C y en uno de los foros descubrí que aprender el lenguaje VB.NET podría ayudarme con esto. Este fue otro gran avance. Descargué el libro "Lukin S.N. Understanding Visual Basic.NET. Manual de autoinstrucción en 3 volúmenes" y comencé a estudiar con él. El libro es muy bueno, especialmente para principiantes. Y el lenguaje para principiantes también es bueno, aunque mucha gente habla mal de él (al parecer recuerdan el antiguo VB). Por un lado, le permite cortar la lógica sin distraerse con la interfaz de usuario; por otro lado, es a la vez procedimental y POO al mismo tiempo. Además, VB.NET realmente resultó ser muy similar a 1C, o más bien, 1C era similar a él y fue fácil para mí programar en 1C todo el día, resolver problemas de trabajo, venir por la noche y cambiar rápidamente a otro idioma. Dediqué todo mi tiempo libre y fines de semana a la programación. Por esa época, ya estaba empezando a cansarme de 1C y me di cuenta de que no podía ganar dinero con 1C (ganaba una vez y media menos que mis clientes contadores, para quienes escribí el programa y a quienes capacité). Empecé a pensar, ¿qué hacer a continuación? Surgieron pensamientos sobre Android, parecía interesante, prometedor, etc. Un amigo programador dijo que escriben en Java e Internet lo confirmó. Un amigo dijo que sería mejor aprender C++ antes que Java. Ya quería empezar, pero aún quedaba más de la mitad del libro en VB.NET y no quería dejarlo. El libro se podría haber leído en un mes, pero me di cuenta de que leer solo sin práctica no daría nada y decidí escribir un proyecto pequeño, pero propio. Para ello se eligió un bloc de notas. Escribí un bloc de notas que abre y guarda archivos, determina la codificación al abrir un archivo y colorea la sintaxis 1C. Luego escribí una calculadora (nunca pensé que fuera algo tan complicado). Luego hubo otro gran proyecto, según mis estándares: un programa para resolver pruebas 1C. La cuestión es que se toma un archivo de texto con preguntas y respuestas, lo mete todo en un archivo excel (sí, en ese entonces no sabía trabajar con una base de datos) y luego puedes resolver tanto la sección como los tickets aleatorios, etc. Había un par de otros pequeños programas para comprender flujos, modificadores de acceso y otras cosas. Ha llegado el momento en que completé el libro de VB.NET. Tenía una base suficiente, aproximadamente la misma que después del segundo o incluso tercer año de universidad. En el trabajo, también podía escribir bien y comprender la jungla del código. Es solo que el trabajo finalmente se volvió aburrido, porque para escribir en 1C no es necesario saber programación, pero en mayor medida solo es necesario comprender los mecanismos de la plataforma. Es el turno de C++, como me aconsejó mi amigo. Abrí el libro de C++ y abrí el segundo. En todas partes escriben que antes de aprender C ++, necesitas saber C. Encontré un libro sobre C, lo hojeé y pensé "¡Jódete!", Quiero escribir en Android, NECESITO JAVA. Y como si finalmente y sin renunciar a C, decidí, puramente para el futuro, mirar cursos para principiantes en Java. ¿Adivina dónde tropecé? Sí, a nuestro querido JavaRush. Era el Año Nuevo 2015. Tan pronto como presioné el gran botón verde PLAY, me sentí abrumado. Los primeros 10 niveles fueron fáciles. Luego hubo una tarifa y el dólar estaba en niveles sin precedentes, había que esperar un descuento. Mientras tanto, encontré cursos gratuitos sobre Python de nivel de dificultad intermedio; nunca es mala idea ejercitar el cerebro, y completé estos cursos, que me llevaron un par de meses más. Un día tuve la oportunidad de ir a una entrevista a una empresa, necesitaban una persona que supiera escribir en Java. No pude dormir bien en toda la noche, seguía pensando que me preguntarían, por la mañana repetí la diferencia entre una interfaz y una clase abstracta, modificadores de acceso, polimorfismo. Pero no me preguntaron nada, simplemente escribieron una lista de tecnologías que debían aprender, después de lo cual prometieron darme una tarea de prueba, basándose en ella mirarían mi estilo de codificación, mi lógica y luego harían una decisión sobre mi empleo. La vacante no era para Android, sino para el lado del servidor, tal vez sea lo mejor. El segundo día, dejé 1C, ya que esta área estaba agotada para mí, y ganar centavos y palear toneladas de código 1C todos los días, y luego estudiar tecnologías Java, estaba más allá de mis fuerzas. Empecé con entusiasmo a estudiar las tecnologías Java que me dieron, esta En aquel entonces no sabía cómo trabajar con una base de datos) y luego puedes decidir tanto la partición como los tickets aleatorios, etc. Había un par de otros pequeños programas para comprender flujos, modificadores de acceso y otras cosas. Ha llegado el momento en que completé el libro de VB.NET. Tenía una base suficiente, aproximadamente la misma que después del segundo o incluso tercer año de universidad. En el trabajo, también podía escribir bien y comprender la jungla del código. Es solo que el trabajo finalmente se volvió aburrido, porque para escribir en 1C no es necesario saber programación, pero en mayor medida solo es necesario comprender los mecanismos de la plataforma. Es el turno de C++, como me aconsejó mi amigo. Abrí el libro de C++ y abrí el segundo. En todas partes escriben que antes de aprender C ++, necesitas saber C. Encontré un libro sobre C, lo hojeé y pensé "¡Jódete!", Quiero escribir en Android, NECESITO JAVA. Y como si finalmente y sin renunciar a C, decidí, puramente para el futuro, mirar cursos para principiantes en Java. ¿Adivina dónde tropecé? Sí, a nuestro querido JavaRush. Era el Año Nuevo 2015. Tan pronto como presioné el gran botón verde PLAY, me sentí abrumado. Los primeros 10 niveles fueron fáciles. Luego hubo una tarifa y el dólar estaba en niveles sin precedentes, había que esperar un descuento. Mientras tanto, encontré cursos gratuitos sobre Python de nivel de dificultad intermedio; nunca es mala idea ejercitar el cerebro, y completé estos cursos, que me llevaron un par de meses más. Un día tuve la oportunidad de ir a una entrevista a una empresa, necesitaban una persona que supiera escribir en Java. No pude dormir bien en toda la noche, seguía pensando que me preguntarían, por la mañana repetí la diferencia entre una interfaz y una clase abstracta, modificadores de acceso, polimorfismo. Pero no me preguntaron nada, simplemente escribieron una lista de tecnologías que debían aprender, después de lo cual prometieron darme una tarea de prueba, basándose en ella mirarían mi estilo de codificación, mi lógica y luego harían una decisión sobre mi empleo. La vacante no era para Android, sino para el lado del servidor, tal vez sea lo mejor. El segundo día, dejé 1C, ya que esta área estaba agotada para mí, y ganar centavos y palear toneladas de código 1C todos los días, y luego estudiar tecnologías Java, estaba más allá de mis fuerzas. Empecé con entusiasmo a estudiar las tecnologías Java que me dieron, esta En aquel entonces no sabía cómo trabajar con una base de datos) y luego puedes decidir tanto la partición como los tickets aleatorios, etc. Había un par de otros pequeños programas para comprender flujos, modificadores de acceso y otras cosas. Ha llegado el momento en que completé el libro de VB.NET. Tenía una base suficiente, aproximadamente la misma que después del segundo o incluso tercer año de universidad. En el trabajo, también podía escribir bien y comprender la jungla del código. Es solo que el trabajo finalmente se volvió aburrido, porque para escribir en 1C no es necesario saber programación, pero en mayor medida solo es necesario comprender los mecanismos de la plataforma. Es el turno de C++, como me aconsejó mi amigo. Abrí el libro de C++ y abrí el segundo. En todas partes escriben que antes de aprender C ++, necesitas saber C. Encontré un libro sobre C, lo hojeé y pensé "¡Jódete!", Quiero escribir en Android, NECESITO JAVA. Y como si finalmente y sin renunciar a C, decidí, puramente para el futuro, mirar cursos para principiantes en Java. ¿Adivina dónde tropecé? Sí, a nuestro querido JavaRush. Era el Año Nuevo 2015. Tan pronto como presioné el gran botón verde PLAY, me sentí abrumado. Los primeros 10 niveles fueron fáciles. Luego hubo una tarifa y el dólar estaba en niveles sin precedentes, había que esperar un descuento. Mientras tanto, encontré cursos gratuitos sobre Python de nivel de dificultad intermedio; nunca es mala idea ejercitar el cerebro, y completé estos cursos, que me llevaron un par de meses más. Un día tuve la oportunidad de ir a una entrevista a una empresa, necesitaban una persona que supiera escribir en Java. No pude dormir bien en toda la noche, seguía pensando que me preguntarían, por la mañana repetí la diferencia entre una interfaz y una clase abstracta, modificadores de acceso, polimorfismo. Pero no me preguntaron nada, simplemente escribieron una lista de tecnologías que debían aprender, después de lo cual prometieron darme una tarea de prueba, basándose en ella mirarían mi estilo de codificación, mi lógica y luego harían una decisión sobre mi empleo. La vacante no era para Android, sino para el lado del servidor, tal vez sea lo mejor. El segundo día, dejé 1C, ya que esta área estaba agotada para mí, y ganar centavos y palear toneladas de código 1C todos los días, y luego estudiar tecnologías Java, estaba más allá de mis fuerzas. Empecé con entusiasmo a estudiar las tecnologías Java que me dieron, esta Y como si finalmente y sin renunciar a C, decidí, puramente para el futuro, mirar cursos para principiantes en Java. ¿Adivina dónde tropecé? Sí, a nuestro querido JavaRush. Era el Año Nuevo 2015. Tan pronto como presioné el gran botón verde PLAY, me sentí abrumado. Los primeros 10 niveles fueron fáciles. Luego hubo una tarifa y el dólar estaba en niveles sin precedentes, había que esperar un descuento. Mientras tanto, encontré cursos gratuitos sobre Python de nivel de dificultad intermedio; nunca es mala idea ejercitar el cerebro, y completé estos cursos, que me llevaron un par de meses más. Un día tuve la oportunidad de ir a una entrevista a una empresa, necesitaban una persona que supiera escribir en Java. No pude dormir bien en toda la noche, seguía pensando que me preguntarían, por la mañana repetí la diferencia entre una interfaz y una clase abstracta, modificadores de acceso, polimorfismo. Pero no me preguntaron nada, simplemente escribieron una lista de tecnologías que debían aprender, después de lo cual prometieron darme una tarea de prueba, basándose en ella mirarían mi estilo de codificación, mi lógica y luego harían una decisión sobre mi empleo. La vacante no era para Android, sino para el lado del servidor, tal vez sea lo mejor. El segundo día, dejé 1C, ya que esta área estaba agotada para mí, y ganar centavos y palear toneladas de código 1C todos los días, y luego estudiar tecnologías Java, estaba más allá de mis fuerzas. Empecé con entusiasmo a estudiar las tecnologías Java que me dieron, esta Y como si finalmente y sin renunciar a C, decidí, puramente para el futuro, mirar cursos para principiantes en Java. ¿Adivina dónde tropecé? Sí, a nuestro querido JavaRush. Era el Año Nuevo 2015. Tan pronto como presioné el gran botón verde PLAY, me sentí abrumado. Los primeros 10 niveles fueron fáciles. Luego hubo una tarifa y el dólar estaba en niveles sin precedentes, había que esperar un descuento. Mientras tanto, encontré cursos gratuitos sobre Python de nivel de dificultad intermedio; nunca es mala idea ejercitar el cerebro, y completé estos cursos, que me llevaron un par de meses más. Un día tuve la oportunidad de ir a una entrevista a una empresa, necesitaban una persona que supiera escribir en Java. No pude dormir bien en toda la noche, seguía pensando que me preguntarían, por la mañana repetí la diferencia entre una interfaz y una clase abstracta, modificadores de acceso, polimorfismo. Pero no me preguntaron nada, simplemente escribieron una lista de tecnologías que debían aprender, después de lo cual prometieron darme una tarea de prueba, basándose en ella mirarían mi estilo de codificación, mi lógica y luego harían una decisión sobre mi empleo. La vacante no era para Android, sino para el lado del servidor, tal vez sea lo mejor. El segundo día, dejé 1C, ya que esta área estaba agotada para mí, y ganar centavos y palear toneladas de código 1C todos los días, y luego estudiar tecnologías Java, estaba más allá de mis fuerzas. Empecé con entusiasmo a estudiar las tecnologías Java que me dieron, estalista: 1. POO. 2. Experto. 3. Azulejos Apache. 4. Primavera MVC. 5. Hibernar. 6. Eclipse (recomiendo no utilizar un entorno limpio, sino STS de Spring: https://spring.io/tools/sts/). 7. Tomcat 8. 8. JUnit. Agregaré un par de tecnologías más que es muy recomendable conocer: 9. Bootstrap: con él puedes crear rápidamente una interfaz de sitio web sin inventar ya sabes qué... 10. JQuery: para no escribir toneladas de JS nativo código + hay todo tipo de ventajas útiles como autocompletar(), etc. 11. Linux/Ubuntu: en la mayoría de los casos, se instalará en el trabajo. Al menos debe poder instalar JDK y Tomcat. 12. Es imprescindible tener GIT u otro sistema de control de versiones. 13.JSON. y tecnologías que quizás deban usarse en proyectos: 14. AngularJS: marco JS, algo genial. 15. MongoDB. 16. ConejoMQ. y lo que no puedes prescindir: 17. ¡inglés! Era necesario mantener un equilibrio entre la calidad del estudio y el tiempo dedicado a él. La vacante no podía esperarme eternamente y eso fue lo que me impulsó a seguir adelante. Todos los días dedicaba entre 14 y 16 horas a estudiar. Me tomó 3 semanas familiarizarme con estas tecnologías. Acabo de leer algunos artículos sobre algunas tecnologías y vi videos sobre otras. Conocí a personas como Spring e Hibernate en la práctica: vi videos de indios y repetí lo que hacen. Escribí varias pruebas JUnit y simplemente instalé Tomcat en mi computadora. Maven incluyó dependencias en pom.xml. Acerca de Eclipse pensé que era sólo una herramienta y que podía cambiar a ella desde IDEA en cualquier momento (qué equivocado estaba). Aunque no confiaba en mis conocimientos, ya era hora de hacer la prueba. Lo tomé, resultó no ser muy difícil, porque durante las últimas 3 semanas me he encontrado con casi todo esto mientras estudiaba tecnología. Era necesario escribir una aplicación web: un administrador de tareas (sitio), donde se puede crear una tarea, cambiarla, eliminarla, darle un estado y una fecha de creación. Y también desarrollar un módulo de registro/inicio de sesión para ello. Todo esto se puede hacer sin usar JS, una hermosa interfaz de usuario, HTML y CSS simples. Al mismo tiempo, apareció un descuento en JavaRush y me inscribí en una suscripción, pero no hubo tiempo para cursos. Fue muy interesante realizar la tarea de prueba. Tomó una semana completar la funcionalidad principal, luego otras 3 para corregir errores menores, refactorizar, reescribir de org.hibernate.SessionFactory a javax.persistence.EntityManager, cambiar la base de datos de MySQL a H2 o HSQLDB, escribir pruebas JUnit. Mientras rehacía todo esto, encontré mil errores, en el camino aprendí a leer mi ahora querido stackoverflow en inglés y a entender al menos un poco, aunque sea del traductor de Google. También tuve problemas con Eclipse porque estaba en la lista de tecnologías que me dieron durante la entrevista. Permítanme decirles que la diferencia entre IDEA y Eclipse es colosal. Imagina que estás volando en un avión, entonces IDEA es un avión con un piloto, duermes en un asiento de primera clase y vuelas lentamente hacia tu destino, y Eclipse, también estás volando en un avión, pero como piloto. , afuera hay una tormenta y un rayo cae sobre el motor cada 20 minutos. En serio, IDEA hace muchas cosas por usted y usted ni siquiera lo sabe; en Eclipse, todo esto debe configurarse, configurarse y registrarse. En los primeros días de “mi Eclipse” escupí, maldije y mostré tendencias suicidas, después de 5 meses de trabajar con este IDE puedo decir que es genial, poderoso y utilizable, solo necesitas acostumbrarte. Al final todo salió bien, hubo otra entrevista con preguntas sobre la implementación de la funcionalidad de la aplicación y la aprobé. Luego otra entrevista con el director. Luego algunas de las personas que decidieron mi destino se fueron de vacaciones, luego vinieron las vacaciones de mayo, luego trajeron mi computadora y algo más. Entonces pasaron otros 2 meses. Durante estos 2 meses logré completar los niveles 13-22 en JavaRush, ver 2 cursos de Batyrshynov en Spring y Spring MVC, por cierto, buenos cursos, pero sólo para principiantes, porque básicamente todos los ejemplos están en el nivel "Hola mundo". Y me puse manos a la obra. Inmediatamente me dieron un proyecto: una API REST para un juguete para iOS, comunicación a través de JSON. Fue muy interesante, pero difícil. Al principio fue especialmente difícil profundizar en algo que nunca había visto: Ubuntu y GIT. Ubuntu se puede dominar sin problemas, pero GIT es algo divertido, poderoso y complejo, especialmente en proyectos grandes y en situaciones no estándar. Nunca olvidaré mi primer salario, que resultó ser 4 veces más que en 1C. Inmediatamente después de conseguir el trabajo, para estudiar tecnología de forma independiente y como proyecto de prueba, decidí escribir un juguete, como una caja de arena, para implementar algunas ideas. Y hace poco lo terminé. Si quieres, puedes ver el resultado (pero es muy recomendable iniciar sesión desde una computadora y Chrome, porque todavía soy un mal maquetador): http://triangles.cf Llevo trabajando el cuarto mes ahora. Pensé que todo lo difícil ya había quedado atrás, pero resultó ser todo lo contrario. Por delante está aprender inglés, porque si no lo sabes, aunque te contraten, no trabajarás por mucho tiempo. Leer documentación, comunicarse con clientes, escribir código y comentarios, todo en inglés. También necesitas completar cursos de JavaRush, patrones de estudio, algoritmos y otras cosas útiles. Me gustaría desearles a todos mucha suerte, un desarrollo fácil y una mente fuerte. Para quienes trabajan y quienes quieren encontrar trabajo. Lo conseguirás, sólo necesitas esforzarte y hacerlo, luchar contigo mismo y con las interrupciones. ¡JAVA a todos!) Lucha contigo mismo y con las excepciones. ¡JAVA a todos!) Lucha contigo mismo y con las excepciones. ¡JAVA a todos!)
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION