JavaRush /Blog Java /Random-ES /Mi estilo Java
Spoloborota
Nivel 22
Казань

Mi estilo Java

Publicado en el grupo Random-ES
Como muchos aquí, hace tiempo que quería escribir la historia de mi entrada en el camino de un desarrollador de Java. Y ahora pude implementarlo. Empezaré desde lejos. Todo empezó el 23 de enero de 2003. Esa noche llegué a casa después de la escuela y del club de teatro, entré en la habitación y vi cajas en el suelo. Uno muy grande. Y algunos otros, más pequeños. Sí, eso fue todo: mi primera computadora: AMD Athlon XP 1800+, 256 Mb de RAM, NVidia GeForce 2 de 64 Mb y 40 Gb de disco duro. A partir de este día tan importante comienza una nueva historia de mi vida. Luego estaba en noveno grado. ¿Qué hice tan pronto como lo instalé y lo encendí? ¡¡¡Por supuesto que juega!!! Dejé la vida durante unos 4 años. Quake, Doom, Warcraft, Starcraft, Diablo, Command y Conker Generals, Civilization, Silent Hill, Deus Ex, GTA, Farcry, etc. Hubo muchos conflictos con mi madre, que no me dejó jugar durante mucho tiempo y me dijo yo para hacer mi tarea. Sí, no fue fácil pasar a estudiar en la escuela y luego en la universidad. Después de todo, existía un mundo virtual tan maravilloso donde, para lograr ciertos éxitos allí, en los juegos, tenías que realizar acciones predeterminadas, siempre podías iniciar un guardado anterior y lograr lo que querías. Quizás sea en la vida real... En resumen, pasé gran parte de mi vida jugando. ¡Pero! Hubo un plus muy importante para mí en todo esto. De vez en cuando, los juegos no se iniciaban, se ralentizaban o simplemente no se instalaban. Y en esos momentos había un gran deseo de comprender el problema. Y luego instalé, reinstalé, configuré y optimicé todo lo que pude. Comenzando por reelaborar las particiones del disco duro y cambiando el sistema de archivos con la reinstalación de Windows, finalizando con el ajuste del registro y los archivos de configuración del juego. Gracias a los conocimientos adquiridos de esta manera, me hice conocido entre mis amigos como “programador”. Ayudaron con sus computadoras, reinstalando Windows, eliminando virus, etc. Además, en ese momento todavía no tenía acceso a Internet y compré discos con software en los puestos correspondientes. Y entonces, un día, en el verano, después de apenas completar el primer año de mi universidad técnica, decidí empezar a vender mis habilidades. Anoté un anuncio en Word con el título “Ayuda de emergencia informática” y lo publiqué por el pueblo donde vivo. Había suficiente para “cerveza y chicle”. Luego, en el quinto año, en lugar de escribir una tesis con diligencia, conseguí un trabajo a través de un conocido como administrador en una oficina pequeña y torcida. Por primera vez aprendí sobre el dominio de Windows, el trabajo en redes, el firewall Kerio Winroot. Cuando recibí un diploma en la especialidad "Computadoras, complejos, sistemas y redes" en 2010, vi dos caminos: programador o administrador. La experiencia en programación se limitó al laboratorio, trabajos de curso y trabajos de posgrado. Incluso entonces entendí qué eran las matrices, los bucles, las declaraciones condicionales y las clases. Pero realmente nunca me incliné por la codificación. Hubo intentos de aprender a codificar mientras aún estaba en la escuela. Pero GTA logró interrumpir este deseo. Aunque vale la pena señalar que codifiqué con considerable placer. Ayudé a mis compañeros con los laboratorios. Pero como tenía más experiencia en temas administrativos, elegí este camino. En uno de los siguientes trabajos, Cuando resolví los problemas acumulados, decidí que era hora de empezar con Linux. Por las noches me sentaba a trabajar y experimentaba. El resultado fue configurar una puerta de enlace a Internet con un firewall, reenvío de puertos, conexión a Internet mediante Wi-Fi y conexión a una VPN. Sí, no muy bien, estoy de acuerdo. Pero fue un buen comienzo. Gracias a este conocimiento pude conseguir un trabajo en 2011 como jefe del departamento de implementación y soporte. Tenía 4 personas subordinadas a mí. Estábamos implementando un cliente pesado en Java Swing en las tiendas y almacenes de una empresa de joyería. ¡Ahora entiendo lo interesante que estábamos implementando! Pero luego me interesaron poco las sutilezas de la implementación de este software. Viví en Kazán. Y hace tiempo que quería probarme a mí mismo en la vida independiente. Tenía muchas ganas de ir a Nerezinovaya para esto. Y así, después de un tiempo, mientras seguía trabajando en la misma organización, a finales de 2012 me mudé a Moscú. ¡Ooooh, es el metro! ¡Estas calles gigantescas con un rápido flujo de coches caros! ¡Estas enormes corrientes de personas están por todas partes! Me sentí increíblemente atraído por todo esto. Estaba orgulloso de haber podido lograr este movimiento. Después de cerrar el proyecto, a mediados de 2013, decidí que era hora de dejar de montar computadoras, soporte técnico y administración. Todo me pareció una frivolidad. Vi 2 opciones: análisis o gestión de proyectos. Existía una vacante que planteaba la oportunidad de desarrollarme en estos puestos que indiqué. Me llevaron allí.... Y allí me di cuenta... ¡Lo que no quiero hacer nunca en mi vida! Hubo un momento en el que, mientras reorganizaba las páginas del informe del contrato gubernamental en el orden correcto, de repente me di cuenta de lo que estaba sucediendo. ¡¡¡Ay dios mío!!! ¡¡¡Ya tengo un cuarto de siglo!!! ¡Me paro y rebusco entre estos trozos de papel, después de haber copiado y pegado intelectualmente en ellos el texto de los mismos trozos de papel del último período del informe! Pero antes de eso, estaba haciendo cosas interesantes con servidores, organizando procesos de trabajo, ayudando a la gente... Fue un punto de inflexión en mi vida. Una especie de “crisis profesional”. Y así comencé a analizar qué debía hacer con mi vida. Hasta que no sea demasiado tarde. Estoy cansado de hacer mantenimiento. Quería crear y crear algo yo mismo. Esta fue la razón principal de la fermentación en la mente. Recordé que era bastante bueno codificando en la universidad. Recordé que los programadores ganan mucho dinero. Recordé que existe un lenguaje Java genial, un cliente pesado que implementamos y cuyos programas pueden ejecutarse en cualquier sistema operativo. Y entonces empezó la búsqueda de materiales para estudiar el idioma. No recuerdo cómo encontré JavaRush. Esto fue alrededor de octubre de 2013. Me atrajo mucho la forma en que se presentó la información y la gran cantidad de ejemplos. Fui a trabajar, me senté frente a la computadora, volví a casa del trabajo y por la noche volví a sentarme frente a la computadora para estudiar. A veces me sentaba hasta altas horas de la noche. Las primeras 10 lecciones fueron muy fáciles para mí, porque... Muchos conceptos me resultaban familiares. Para tener más tiempo para estudiar, dejé de ir al gimnasio, me hice con algunas pesas y entrené con ellas en casa. Alrededor de diciembre, planeé que no empezaré a buscar trabajo hasta finales de marzo. Pero comencé a prestar especial atención al trabajo. No se esforzó por conseguir más tareas, no mostró iniciativa. Y odiaba este trabajo. A veces hacía descaradamente tareas de JavaRush directamente en la computadora de mi trabajo durante las horas de trabajo. El resultado no tardó en llegar: a principios de enero de 2014 me informaron que trabajaría para ellos sólo hasta fin de mes. Fue un shock, por supuesto. Saber que me quedaría sin un ingreso básico y al mismo tiempo tendría que pagar la vivienda era muy preocupante. Escribí diligentemente artículos como "100 preguntas que les hacen a los jóvenes de Java durante una entrevista". Bueno, seguí estudiando Javarash. Llegué aproximadamente al nivel 17. Fui a diferentes entrevistas. Y así, en una de las organizaciones me dieron una tarea de prueba para escribir. Era necesario escribir un programa que determinara si todas las fichas de dominó se podían colocar en una sola línea. En caso afirmativo, envíe esta solución. Inspirada, me senté frente al ordenador a escribirlo y… ¡quedé horrorizada! En las condiciones de invernadero de las tareas de JavaRush, era muy cómodo sentarse y escribir código. ¡Pero aquí tuvimos que idear todo desde cero, desde cero, por así decirlo! Aquí surgieron mis primeras dudas a la hora de tomar la decisión de convertirme en programador. ¡Fue muy difícil para mí escribir código! Realmente no sabía nada sobre cosas básicas de Java, mi conocimiento era muy superficial. Y no estaba claro cómo solucionar este problema. Pero aún así pude encontrar un algoritmo de solución en Internet utilizando gráficos; todo se redujo a encontrar el camino de Euler. Por cierto, mi colega de mi trabajo anterior me ayudó mucho durante todo el período de aprendizaje de Java. Sólo el que escribió este cliente pesado en Java. Me ayudó mucho con todo. En particular, ayudó a resolver el problema mediante el método recursivo. Y entonces, envié la tarea para su revisión. Luego hubo 2 largas semanas esperando una respuesta... ¡Pero todo salió bien! ¡¡¡Me llevaron!!! ¡Hurra, lo logré! El 5 de marzo de 2014 comencé a trabajar como desarrollador Java. La felicidad no conocía límites. En gran parte también porque terminé en una empresa que se ocupa de pagos electrónicos. Y tratan muy bien al personal. Basta con mirar su elegante oficina y su café y té gratis: en aquel entonces era una novedad para mí. Y aquí estoy sentada, solucionando el proyecto... Y me doy cuenta... ¡Que no entiendo absolutamente nada! Servlets, filtros, analizadores Xemel, consultas esque, confirmaciones con el repositorio, obtención y publicación, pruebas unitarias... Todo esto era nuevo para mí. Porque recientemente aprendí a usar interfaces. Hubo momentos en los que miré el código, subí a través de las cadenas de llamadas a métodos y profundicé cada vez más en el código. Y luego me doy cuenta de que olvidé dónde comencé mi búsqueda. ¡De vez en cuando tenía pensamientos de simplemente levantarme y salir corriendo! Y luego están las alergias primaverales y los problemas en mi vida personal. El cerebro simplemente se negó a tener tiempo para entenderlo todo. Hablando brevemente. No pasé el período de prueba. Después de 3 meses de permanecer en esta lujosa organización, firmé la rescisión del contrato de trabajo. Fue tremendamente estresante. no pude manejarlo lo que tanto soñé. La autoestima quedó muy dañada. Aparecieron canas. Pero decidí continuar con lo que comencé. En julio de 2014 acordaron contratarme en mi Kazán natal, en una organización internacional, en uno de cuyos productos se estaba trabajando en la oficina de Kazán. Allí escribí el frontend en swing. El programa transfirió datos de un DBMS a otro. ¡Ah, y luego atormenté al líder del equipo y a las personas mayores con mi escaso conocimiento de escribir código Java! Este trabajo me permitió perfeccionar mis habilidades, aprender técnicas básicas y ciertamente mejoró mis conocimientos. Por mi parte, también hice un par de innovaciones importantes. Durante este período, las dudas me invadieron enormemente. Todavía encontraba difícil el trabajo; me faltaba perseverancia y concentración. Y el período de prueba apenas pasó. Pero en febrero de 2015, en el momento más crítico, se produjeron reducciones de personal. Me despidieron por ser el más inexperto y mediocre, y a mi colega por ser el más viejo y ya vacilante. También fue bastante estresante para mí. Sabía que todavía estaba completamente verde en programación. Y que durante una crisis, pocas personas necesitan personal nuevo. Ya tenía solo 10 meses de experiencia laboral en mi haber. Aunque no sea particularmente exitoso, sigue siendo una experiencia. En marzo, mientras buscaba, ocurrió un evento muy interesante. Por casualidad, alguien me escribió en una red social rusa preguntándome si me gustaría ir a enseñar Java. Esta propuesta me sorprendió mucho. Al final resultó que, la gente de Recursos Humanos me señaló accidentalmente con el dedo en el cielo. Después de todo, ni siquiera las palabras Java o programación figuraban en mi perfil. Bueno, me encanta todo tipo de aventuras, así que acepté venir y someterme a algo así como una entrevista. Consistía en escribir un pequeño programa en un bloc de notas. Lo hice. Aunque tenía una actitud muy negativa hacia una forma tan sesgada de probar conocimientos. Y luego me ofrecieron una lección de prueba. Me dieron páginas escaneadas del manual sobre el que se construyó el curso. Preparé, pulí mi presentación y enseñé esta lección con éxito. Al final me dijeron que todo estaba bien, ¡pero que las lecciones habría que enseñarlas a los escolares! Entre 12 y 18 años. Por lo tanto, pedimos reelaborar el material para que fuera interesante y comprensible para este grupo de edad. Que es lo que hice entonces. Como resultado, me informaron que no estaban dispuestos a contratarme en favor de otro candidato con más experiencia en la docencia. Bueno, está bien, no estaba particularmente molesto. También dijeron que estaban listos para contactarme en el otoño, cuando se reclutarían nuevos grupos. Y solo tenía 10 meses de experiencia laboral en ese momento. Me sentí de alguna manera inseguro. Luego, en abril, conseguí un trabajo en la oficina de TI multidisciplinaria más grande y famosa de Kazán. Allí trabajé en varios proyectos. Mejoré mis conocimientos de escuel, servlets, etc. Además, en agosto cogí la iniciativa de un compañero de empezar a prepararme para la OCA. Cuando comencé a prepararme, me di cuenta de que no conocía los conceptos básicos de Java en absoluto. Todos estos problemas con la inicialización de constructores durante la herencia son solo un cambio loco, Tiempo de compilación y tiempo de ejecución. Resulta que comencé a estudiar todo esto apenas poco más de un año después de comenzar a trabajar como programador. En el otoño de 2015, como era de esperar, llamé a los organizadores del curso y les aclaré qué era qué. Me informaron que ahora se está preparando el lanzamiento de un curso para adultos. Estaba inspirado. Le pedí que me enviara el material sobre el cual se impartiría el curso. Cuando lo recibí, me sorprendí mucho: ¡solo había temas que debían considerarse! Resultó que yo mismo tendría que formular todo el material educativo: teoría, tareas prácticas en clase, tareas. Esta circunstancia redujo mucho mi entusiasmo. Después de todo, esperaba simplemente pasarme el material del manual y luego presentarlo de alguna forma en clase. Pero de nuevo pensé: ¿cuándo más me dará la vida esa oportunidad? Vi varios beneficios de esta actividad para mí. En primer lugar, mejorar y consolidar tus propios conocimientos. No en vano dicen: si quieres aprender o entender algo, ¡díselo y explícaselo a otra persona! En segundo lugar, un motivo para superar el miedo a hablar en público. En tercer lugar, una buena oportunidad para entrenar la memoria. En cuarto lugar, esto mejorará mi situación financiera, porque... A los jóvenes se les paga poco, pero hace tiempo que quiero cambiar mi auto, porque el Nexusha está completamente podrido. Bueno, en quinto lugar, agrada tu vanidad cuando te das cuenta de que alguien puede necesitar tus conocimientos y experiencia. Y así, en noviembre comenzaron mis cursos. ¡Fue un infierno! Encuentre y prepare material, piense en los temas de las lecciones y las tareas. Esto ocupó absolutamente todo mi tiempo libre. El sábado me estaba preparando para una lección el martes, el domingo me estaba preparando una lección el jueves. Pero esto es en teoría. El sábado comencé a prepararme para la lección del martes y por la tarde tenía prisa tratando de conseguir el material. Bueno, logré terminar una parte el jueves. Por cierto, promovió activamente JavaRush. Como tarea, me dieron ciertos niveles para completar en este maravilloso sitio. Hasta el décimo nivel gratuito, por supuesto. Pero además recomendé comprar una suscripción. Porque creo que Javarash es genial para empezar a practicar con ejemplos. Pero es necesario desarrollar más la teoría. Recuerdo esa pesadilla de mi primera lección. Entré al salón de clases. Me senté en el asiento del profesor. Faltaban 10 minutos para el inicio de la lección... Me senté y entendí que todo estaba bien, estaba completamente segura... Los estudiantes comenzaron a entrar a la clase... Faltaban 5 minutos para el inicio... Algo me dijo que necesitaba repetir material, olvidé algo del tema de la lección, la ansiedad empezó a crecer... ¡Y este momento! ¡¡¡Necesito empezar!!! Me despierto. Caminó hacia el centro frente al tablero de proyección. Levanté la cabeza... ¡Y vi estos como 20 pares de ojos que me miraban atentamente y con desconfianza, como si quisieran perforarme! ¡Pánico! Me presenté. Comenzó a decir algo, olvidándose por completo de todo lo que había planeado contar. Poco a poco sentí que mis rodillas empezaban a temblar, mi voz apretaba algo. Se me hizo difícil pronunciar palabras. Quería huir. Pero cuando terminé la parte teórica y pasé a explicar cómo crear un nuevo proyecto de eclipse, es decir, a la parte práctica, se volvió mucho más fácil y la lección transcurrió como un reloj. Entonces, en constante estrés por la necesidad de preparar los deberes, completé este primer curso de 4 meses conmigo. He mejorado significativamente mis conocimientos de Java y solidifiqué los conceptos básicos. Coche cambiado. Y dejé de tenerle miedo al público desconocido. Al contrario, como escribieron en los libros de retórica, me sentí muy motivado durante la lección. No se puede decir lo mismo del proceso de preparación. Sí, fue un período muy difícil en el que no tenía tiempo para comunicarme con mis amigos. Bueno, no creo que valga la pena mencionar la falta de vida personal. Considero que mi ventaja como profesor de un curso para convertirse en desarrollador de Java es que yo mismo he recorrido este camino hace relativamente poco tiempo. Me encontré con varios problemas con esto. Pasé por un montón de entrevistas. Sé qué tecnologías son relevantes en este momento. Y lo más importante: ¡sé lo que no debo hacer! Es decir, salir a buscar trabajo tan pronto como lo hice. Pero me encontraba en una situación tal que necesitaba un medio de subsistencia. De lo contrario, continuaría mis estudios durante al menos otros 3 meses, estudiaría tecnologías y marcos e intentaría escribir algún tipo de programa inútil, pero tecnológicamente avanzado. En este caso, habría mucho menos estrés y canas. Trabajé en esa organización durante un año y un mes. En principio todo iba bien en términos de crecimiento profesional hasta que el líder del equipo se fue. Esta fue la persona que me guió y me dio varias tareas interesantes. Incluso a pesar de mis frecuentes errores, eh. Lo sabía todo, podía dar consejos sobre cualquier tema, tanto en el front-end como en el back-end y en la subbase de datos... Con su partida, se perdió el vínculo entre la gerencia, los desarrolladores y los analistas. . En resumen, comenzó un completo caos en el proyecto. Por cierto, solo hacia el final de mi trabajo en esta organización dejé de pensar en la exactitud de mi elección del camino del desarrollador. Antes siempre me acompañaban. Con la conciencia de cada dificultad, retraso en la solución de un problema, un error en mi solución de otro error. Fue muy apremiante. Pero recuerdo que al comienzo de mi viaje decidí firmemente que tomaría la decisión de continuar o terminar el camino del desarrollador solo después de 5 años. Todo me estaba yendo muy duro. Constantemente sentía que las personas que me rodeaban eran mucho más inteligentes que yo, que no podía captar las cosas tan rápido como ellos. Probablemente no valió la pena planear todo esto. En junio de este año conseguí un trabajo en el que trabajo hasta el día de hoy. Estamos trabajando en un servicio muy interesante para realizar copias de seguridad de datos en la nube desde servicios como Google Disk, Dropbox, Office 365 en servidores de Amazon. Me gustaría señalar que si no fuera por un estudio cuidadoso del tema de los subprocesos múltiples para impartir lecciones, no habría podido pasar una entrevista con esta organización, porque Las tareas se asignaron específicamente para esta parte. Entonces decidí volver a prepararme para OCA. Al final del invierno encontré excelentes materiales para esto. Pero todavía no pude encontrar tiempo para prepararme. Y así, entre el segundo y el tercer grupo de estudiantes, tuve un mes gratis para prepararme. Por supuesto, no tuve tiempo antes de que comenzara el curso. Pero aún así logró su objetivo: aprobó el examen Oracle 1z0-808 con un 81% de respuestas correctas y un 65% de aprobación. Yo quería, por supuesto, el 85%. Pero beber más de un litro de agua antes, para que “el cerebro pudiera pensar mejor”, me obligó a terminar media hora antes sin poder volver a comprobarlo todo. Pero todavía estoy muy orgulloso de esta exitosa certificación. A finales de enero de 2017 planeo ir y realizar la prueba OCP. Sí, si lo piensas bien, la certificación no tiene mucho sentido. Para mí personalmente, esta es una oportunidad para solidificar los conceptos básicos. Porque A veces necesito responder preguntas difíciles de los estudiantes. Para concluir mi historia, quiero escribir esto. A pesar de que llevo casi dos años y medio trabajando como desarrollador, no me considero un programador como tal. Sé la enorme cantidad de información que necesito transmitir sobre todo tipo de algoritmos, subbases de datos, estructuras de datos, tecnologías web, patrones, front-end, marcos y sus muchas variedades. Y quiero seguir estudiando JavaRush para desarrollo general, ya que la suscripción es ilimitada. ¡El trabajo no tiene fin! Y lo más importante es que me gusta. Quiero saber más y más. Ser capaz de escribir código más rápido y mejor. Con el tiempo, me gustaría convertirme en líder de equipo o arquitecto. ¡Pero hay mucho que hacer antes de eso! Sólo queda gestionar correctamente tu tiempo y procrastinar menos. ¡Gracias por su atención!
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION