JavaRush /Blog Java /Random-ES /Programador escalador
Илья Альтерович
Nivel 33
Одесса

Programador escalador

Publicado en el grupo Random-ES
Dosier
  • Quién: Iliá Alterovich
  • Ocupación: escalador industrial
  • Edad al inicio de la formación: 35
  • Lugar de residencia: Odessa, Ucrania
  • Primer trabajo como programador: después de 1 año y 8 meses (febrero de 2015) - a los 37 años.
  • ¿Qué hace actualmente? Sigue siendo programador, cambió de empresa =)
  • historia original
Programador escalador - 1
Si ya tienes 35 años, ¡ésta no es razón para no empezar a estudiar! Por supuesto, cuando tienes años de experiencia valiosa en otra industria a tus espaldas, no es tan fácil, pero no es nada inútil. Tenemos un excelente ejemplo: Ilya de Odessa decidió volver a capacitarse de escalador industrial a programador industrial exactamente a esta edad. Y lo logró. ¡Lea una de las historias de éxito más fascinantes y completas de JavaRush!

Fondo

Quiero compartir mi historia porque siento una obligación moral con las personas maravillosas que crearon este recurso y con la comunidad que dio origen. Me gustaría agradecer de alguna manera a los creadores y me gustaría animar a los “javarashitas” que aún no han logrado su preciado objetivo y reforzarlos con una buena dosis de motivación. La conclusión: he estado trabajando como programador durante dos semanas y esto se debe en gran parte a Java Rush .
Tengo 37 años, estoy casada, dos hijos de 6 y 3 años. Durante los últimos 15 años he trabajado como escalador industrial (escalador de gran altitud). El trabajo, como comprenderá, tiene menos que ver con la programación que con nada en absoluto.
En general, el trabajo no es malo, el aire es fresco, te obliga a mantenerte en “ forma ”, tienes suficiente tiempo libre, eres tu propio jefe. Y no está mal por el precio ( en temporada ). PERO :
  • Tiene una estacionalidad pronunciada. Es decir, durante 3-4 meses al año prácticamente NO hay trabajo .
  • SIN perspectivas. Después de haber trabajado en este campo durante 15 años, me di cuenta de que en los próximos 5 a 10 años es muy poco probable que algo cambie ( al menos para mejor ).
  • Los niños empezaron a crecer y claramente no había suficiente dinero...
  • Empezó a resultar aburrido... 15 años es mucho tiempo, cualquier cosa se vuelve aburrida.
Entonces, en mayo de 2013 , sopesé todos los pros y los contras y llegué a la conclusión de que era hora de cambiar de trabajo... Y a uno que careciera de las deficiencias del anterior. Eso es:
  • hay trabajo todo el año;
  • buenas perspectivas de crecimiento;
  • salario significativamente más alto ( si no inmediatamente, entonces en el futuro );
  • Trabajo interesante por el que tengo inclinación.
Tenía predilección por la programación. Es cierto que en la práctica esto solo resultó en el hecho de que en la escuela escribí un poco en BASIC, y menos aún en lenguaje ensamblador ( en el ZX-Spectrum , también conocido como Sinclair , alguna vez fue una computadora de culto ). Las desventajas del " rascacielos " durante mis estudios resultaron ser una ventaja para mí: todo el tiempo libre que tenía en primavera y especialmente en invierno, lo podía dedicar útilmente a aprender programación. La programación es un concepto flexible. Busqué en Google, sopesé las perspectivas... y mi elección recayó en Su Majestad Java .

Estudios

Mi primer libro sobre Java fue " Programación Java para niños, padres y abuelos " de Yakov Fain . No estoy seguro de recomendar este libro a principiantes; tal vez haya libros mejores, pero en ese momento era interesante y bastante comprensible de leer. Trabajé cuidadosamente en los ejemplos prácticos que se dieron allí, lo que me proporcionó el mínimo necesario de habilidades prácticas para seguir avanzando. Terminé de leer el libro y decidí buscar cursos. Los cursos presenciales eran caros y no estaba seguro de que valieran la pena. Y en ese momento recordé que mientras trabajaba en el libro, en algún lugar (parece que en habrahabr) encontré artículos sobre JavaRush. Y todo empezó a suceder... Después de leer y trabajar en el libro, superé los primeros 10-12 niveles como semillas, fue incluso demasiado fácil. Pero sigue siendo interesante. Luego todo se volvió más difícil y aún más interesante.
Completé los niveles estrictamente secuencialmente, es decir. Leí la conferencia y, aunque mi comprensión estaba fresca, resolví los problemas y no pasé a la siguiente conferencia hasta que todos los problemas anteriores estuvieron resueltos, con muy raras excepciones. Entonces llegué al nivel 20 con 3-5 problemas sin resolver.
Si tiene problemas para resolver problemas, por supuesto, la comunicación en el foro ayuda mucho y, al mismo tiempo, al ayudar a otros usuarios del foro, ¡usted mismo mejora sus habilidades! Unos seis meses después, decidí que era hora de probar suerte y probarme a mí mismo en una entrevista. Busqué en Google ejemplos de currículum, mis amigos me enviaron varios ejemplos de currículum, también le escribí a Sepp ( jefe de Java Rush , nota del editor ) y él me dio algunos consejos y plantillas para un currículum. Lo compilé y se lo envié a Sepp para que lo revisara; él lo apreció. Luego publiqué mi currículum en sitios populares de búsqueda de empleo y compilé una lista de direcciones de los departamentos de recursos humanos de las empresas de TI más grandes de Odessa , que tenían vacantes para desarrolladores de Java ( no solo " juniors "). Había alrededor de 20 de ellos . Inmediatamente reservé la mitad por si acaso me equivoqué en todas partes y envié mi currículum para la otra mitad.

Primeras entrevistas

No diré que me bombardearon con invitaciones, pero al final, en mes y medio, asistí a media docena de entrevistas. Algunas resultaron tener más o menos éxito, otras no tanto. Hubo dos o tres tareas de prueba, que completé con mayor o menor éxito, y una entrevista en inglés hablado. La aprobé con éxito, pero no llegué a la entrevista técnica: otro aspirante se me adelantó. También estuve a punto de entrar en el llamado "benchmark" de Luxsoft: pasé las pruebas y la entrevista, pero en el último momento, cuando leí el contrato, cambié de opinión y me negué. En resumen, te enseñan durante tres meses y te pagan un estipendio de $300 . Si les gustas te ofrecen trabajo como junior ( $ 500 ). Después de 9 meses pueden aumentarte el salario, pero, como se desprende del contrato, si no asistes a cursos o después de los cursos quieres cambiar de trabajo dentro de uno o dos años, estás obligado a pagarles una compensación por la formación. por un monto de $2,500 . Encontré tales condiciones inaceptables y las rechacé. También rechacé otra vacante: me pareció que allí no tendría perspectivas.
Pero lo principal es que adquirí una experiencia muy valiosa en las entrevistas. Después de cada entrevista, tenía una idea mucho mejor de lo que me esperaba en la siguiente, aproximadamente qué preguntas me harían y qué respuestas esperaría... No es que en todas las entrevistas se hagan las mismas preguntas, pero casi siempre se hacen muchas preguntas.
Y después de cada entrevista, me hice una pequeña lista de preguntas en las que “nadaba” y luego encontré respuestas claras. En general, acudir a entrevistas es realmente útil, independientemente de los resultados...

Pasantía

Casi al mismo tiempo ( otoño-invierno de 2013 ), Java Rush me escribió en un mensaje personal ofreciéndome participar en el " Proyecto Real ". Para ser honesto, después de que enumeraron las tecnologías utilizadas en él ( Spring , Hibernate , GWT , MySQL , Maven , Git ), me asusté un poco, ya que en su mayor parte escuché estas palabras de la nada, o incluso por primera vez. primera vez . Pensé que no tenía nada que perder, que tenía tiempo para participar y acepté.
Al principio fue realmente DIFÍCIL, pero después de una semana o dos, después de leer libros y artículos, profundicé en el trabajo del código existente lo suficiente como para escribir algo yo mismo y realizar mi primera confirmación.
Tuve mucha suerte con los chicos del proyecto. Éramos cuatro : Timur (Timur), Zhenya (Groomsh), Seryoga (SergeyKandalintsev) y yo . Supervisamos nuestro proyecto directamente desde JavaRush. Timur trabajó principalmente en el backend, Zhenya trabajó en el front-end , Seryozha trabajó en la base de datos , yo trabajé un poco en el front-end y un poco en el back-end . Un par de meses después, nos convertimos en el primer equipo en completar con éxito un "Proyecto real" real , que ahora utilizan todos los javarashitas: este es el proyecto "Ratings" ( en la nueva versión de JavaRush este proyecto ya no se utiliza ) . ¡Decir que “The Real Project” me dio mucho es no decir nada! Además del evidente aumento de conocimientos valiosos, me llegó una comprensión aún más importante: Java está lejos de ser la única habilidad necesaria, aunque es fundamental. Java es el ABC de la programación, pero además del ABC es necesario conocer reglas ortográficas, gramaticales, sintaxis, construir frases correctamente, tener un vocabulario rico... Y en programación es necesario conocer y poder utilizar muchos frameworks, patrones y herramientas de desarrollo, y también saber dónde buscar para resolver problemas y responder a sus preguntas. Después del proyecto real, me interesé por tecnologías más avanzadas y profundicé mi comprensión de las que ya conocía... Mis intereses iban más allá de los límites del Java Core “puro” . Y también: apareció un elemento nuevo y sólido en mi currículum en la columna "Experiencia laboral" con una descripción de las tecnologías interesantes y de moda que se utilizaron en el proyecto.

Más pruebas

Terminaron las prácticas, comencé una nueva temporada de trabajo en rascacielos... El tiempo libre se hizo escaso, la cuestión del cambio de profesión pasó a un segundo plano. Sin embargo, dediqué casi todo mi tiempo libre a la programación: escribí varios "miniproyectos", a veces resolví problemas en Java Rush , supervisé las vacantes y, a finales de otoño, me inscribí en cursos gratuitos en la oficina de TI DataArt . Los cursos en sí resultaron ser demasiado generales: allí no aprendí casi nada útil. Pero como parte de estos cursos, se pidió a los estudiantes que se dividieran en equipos y escribieran un "Proyecto" . El proyecto consistió en escribir un sistema de prueba en línea, con registro de usuario, una parte de usuario ( realización de cuestionarios ) y una parte de administración ( creación de cuestionarios y gestión de cuentas ). Terminé en uno de los cuatro equipos y luego resultó que prácticamente yo mismo escribí el proyecto. En aproximadamente un mes ( mientras trabajaba en un rascacielos ), yo mismo escribí una aplicación web bastante aceptable, según me parece, basada en las mismas tecnologías y patrones que usamos en la pasantía de Java Rush ( más jsp, Spring Seguridad y algo más ). Si alguien está interesado, puedo publicar un enlace a un repositorio abierto con las fuentes del proyecto...

¡Se ha tomado la altura!

En diciembre me invitaron a una entrevista en una oficina. Me dijeron que me llamarían cuando tomaran una decisión... “ Bueno, todo sigue como siempre”, pensé entonces. "Si no lo tomaste de inmediato, entonces hay pocas esperanzas ". Pero un mes después, después del Año Nuevo, le escribí al director de recursos humanos de esta empresa y le pregunté sobre mi suerte. Para mi sorpresa, ella respondió que la vacante aún estaba abierta y aún no se había tomado la decisión...
Pasó otro mes y ahora, a finales de enero, me llamó preguntándome si buscar trabajo era relevante para mí, a lo que yo “sin descanso” respondí que sí, sigo buscando. A lo que ella respondió que ya la había encontrado, ¡ya que les convenía!
La sensación, por supuesto, es indescriptible, cuando te lo dicen por teléfono, ¡tus alas simplemente crecen! Para entender esto, necesitas experimentarlo tú mismo. ¡Esto es lo que deseo para ti en un futuro próximo! Mi primer trabajo fue participar en el desarrollo de un gran proyecto ERP : una aplicación , construcción a largo plazo. La aplicación resultó tener muchos matices específicos, por lo que la empresa de desarrollo de Kiev necesitaba un programador cerca del cliente, en Odessa , donde vivo. La aplicación está escrita en GWT + ExtGWT + Spring + Hibernate + MySQL y un montón de bibliotecas menores de soporte. Da la casualidad de que esta es exactamente la pila de tecnología que estudié y con la que tengo algo de experiencia. Entre las desventajas, mencionaré que el proyecto es antiguo y utiliza versiones antiguas de bibliotecas y enfoques de diseño obsoletos, y están tan desactualizados que prácticamente no están sujetos a actualización. ¡También resultó que estaría solo para terminar de rematar los resultados de 3-4 años de trabajo de otros programadores! Por supuesto, esperaba que, como a cualquier junior, me asignaran un líder de equipo con más experiencia, que también sería un mentor-asesor que me guiaría y revisaría mi código. Pero el destino decidió lo contrario: me confiaron un trabajo diseñado para un desarrollador independiente con experiencia. "Dado que este es el caso", pensé, "sería bueno pedir inmediatamente un aumento de salario". Y aumentó la cifra original en 200 dólares . Esto no provocó ninguna indignación por su parte. No daré cifras específicas, solo mencionaré que el salario superó significativamente mis expectativas. Además, sólo tuve un mes ( y no tres, como es habitual ) de libertad condicional. Me registraron, como siempre, a través de SPD ( esta es una práctica común para los programadores) .

Tecnologías que te serán útiles en tu trabajo: experiencia personal

Conocimiento de bases de datos, SQL ( MySQL ), jdbc , Hibernate , Jpa , tecnologías de red html , jsp , servlets , xml , Tomcat es muy deseable, tal vez incluso REQUERIDO . Se requiere conocimiento de los patrones básicos de JavaSE ( los llamados patrones GOF ) ; al menos un conocimiento superficial de Spring , SpringMVC , el generador de proyectos Maven , el registro log4j y las pruebas unitarias JUnit también serán una ENORME ventaja . Debe poder trabajar con sistemas de control de versiones, Git por ejemplo. En ocasiones piden o dan tareas de prueba sobre servicios web ( SOAP, REST ). Además de todo esto, el conocimiento del núcleo de Java debería ser, si no impecable, al menos muy seguro.

Primeras impresiones

Después de las dos primeras semanas, comencé a profundizar en el código y ahora sé que todo saldrá bien...
Me gustaría señalar de inmediato que trabajar como programador todavía no es un recurso, es, ante todo, un trabajo para el que hay que levantarse por la mañana y regresar por la noche. Pero este trabajo es mucho mejor que muchos otros. Tiene interés, dinero y perspectivas. Y es especialmente agradable cuando pudiste lograrlo tú mismo, con mente, trabajo y perseverancia. Pude cambiar mi vida y, en muchos sentidos, tú eres dueño de tu propio destino.
Lo único que temo es que me prevalezca la pereza. Que habiendo conseguido un determinado resultado me volveré vago y dejaré de crecer profesionalmente. Pero todavía tengo muchas esperanzas de que esto no suceda. ¡Una vez más quiero agradecer a los creadores de este maravilloso recurso! Y a usted, javarashita, quiero desearle perseverancia y paciencia en el camino que ha elegido, como decía el abuelo Lenin: “¡Van por el camino de la aldea, camaradas!” =) y aún no complacer tu propia pereza, y lo más importante, “NUNCA TE RINDAS”. ¡El que camina dominará el camino!

Epílogo: dos años después...

...decidí escribir una continuación de mi “Historia de éxito”. Hay tres razones para esto:
  • La administración me preguntó =);
  • Sigo creyendo que este recurso en particular jugó un papel clave en mi “entrada en TI”;
  • Sigo confiando en que la motivación también es uno de los factores clave en este asunto, y uno de los mejores motivadores son las historias de éxito de personas reales que se encontraban exactamente en la misma situación que usted, un javarashita. Porque sé por mí mismo que a veces las manos simplemente se rinden... y para muchos nunca más se levantan. Es un camino realmente difícil, ¡pero vale la pena!
Así que aquí están mis respuestas a las preguntas: ¿Cómo cambió tu vida en general después de conseguir un nuevo trabajo y cómo te sentiste en ese momento? Bueno, claro que ha cambiado... En primer lugar, ha cambiado el eterno equilibrio “tiempo-dinero”. Hay notablemente más dinero, mucho menos tiempo... Por fin hay suficiente para el “pan de cada día”, pero todavía no es posible ahorrar para un “día lluvioso”. Aunque estoy seguro de que si te esfuerzas un poco podrás ahorrar entre 200 y 500 dólares al mes (esto a pesar de que soy el único que trabaja en una familia de 4 personas, mi esposa tiene la oportunidad de cuidar a los niños en paz). Ha aparecido estabilidad, confianza en el futuro, o al menos alguna ilusión del mismo... Describe tu trabajo. ¿Qué haces, qué estudias, cuáles son los procesos de interacción con el equipo? Actualmente estoy trabajando para mi segunda empresa, Electric Cloud. Esta es una empresa estadounidense, el producto no es simple: una herramienta DevOps para integración continua/entrega continua, algo así como Jenkins, solo que mucho más grande y un producto puramente comercial. Además, ya es bastante antiguo, está lleno de código heredado (código obsoleto, nota del editor), que debe mantenerse, corregir errores y, a veces, escribir nuevas funciones. En una palabra, ¡el zoológico de las tecnologías es tal que mamá no se preocupa! Hay que lidiar en mayor o menor medida con Java8, GWT, JS, PHP, Perl, HTML, CSS, Spring, Hibernate, JUnit, Mockito, Maven, Perforce y estos son solo los principales... Los primeros meses Vi la luz fácilmente y luego me acostumbré. Las condiciones de trabajo son estándar. Cinco días a la semana, 18 días laborables al año: vacaciones (más todos los días festivos). El horario es en gran medida gratuito, si lo deseas puedes trabajar desde casa. Sin embargo, prefiero la oficina, donde el ambiente es más parecido al de trabajo. La mayoría de las veces trabajo de 12 a 19-20 horas. Recibimos actualizaciones de Scrum todos los días ( Scrum es una metodología para el desarrollo de software flexible, nota del editor) y una o dos veces por semana tenemos reuniones por las tardes con nuestro líder de equipo estadounidense. ¿Qué alturas has alcanzado en tu carrera y qué otras montañas planeas mover? De vez en cuando miro buenas vacantes en empresas que me interesan. Muy raramente, pero todavía sucede, voy a entrevistas. Ya me di cuenta de que encontrar un lugar con un buen salario es más fácil que encontrar un lugar con un buen proyecto. Y para hacer ambas cosas, debes esforzarte mucho. Y además, cada vez me doy más cuenta de que no entré en esta profesión por casualidad, sino que me la gané con trabajo y perseverancia, aunque ciertamente debe haber cierta suerte, sobre todo al principio, y además: lo dudo mucho. Lo cambiaré . En febrero, mi experiencia en desarrollo comercial cumplirá dos años. Si evalúas mi nivel según conceptos generalmente aceptados, me parece que es algo así como Strong Junior o Regular Middle. Sin embargo, esta evaluación es muy subjetiva, excepto que estoy seguro de que aún no es Senior.  ¿Algunas palabras de despedida para aquellos que todavía están al principio (o a la mitad) de su viaje? Deseo sinceramente que todos los que creen en sí mismos logren su objetivo y espero que mi ejemplo contribuya a ello. Repito: este no es un camino fácil, te digan lo que digan, y muy pocos de los que empiezan logran su objetivo. ¡Pero muchas más personas pueden hacer esto! Lo que pasa es que a la mayoría de las personas les falta algo en el medio del camino: motivación, ganas, perseverancia, fe en sí mismos y en sus fortalezas. Muchos inventan excusas sofisticadas y ya no logran sus objetivos... Así que cree en ti mismo, no te rindas a mitad de camino (los pequeños descansos, por supuesto, no cuentan =)), ¡y lo lograrás! Como decían los antiguos griegos: "No son los dioses quienes queman las ollas". “Los programadores no nacen”, ¿recuerda esto (lema de JavaRush, nota del editor)? Y por último, un consejo más: ¡pasa las ENTREVISTAS! Este es el camino más directo. Una vez escuché la frase en un evento de TI: “Nunca he conocido a una persona que haya ido a 20 entrevistas y no haya sido aceptada”. ¿A cuántas entrevistas has asistido ya? Sé que puedes responderme:
  • Aún no estoy listo, todavía necesito aprender...
  • Bueno, nadie me llama...
Entonces: ¡todas estas también son excusas podridas! ¡Conseguí mi primer trabajo (con un salario de $1100) después del nivel 21! Es cierto que en ese momento ya tenía algo de experiencia en GWT, Hibernate y Spring, obtenida de mi pasantía en JavaRush. Pero no preguntaron sobre esto en la entrevista; casi todas las preguntas eran sobre Java Core y un poco de SQL. ¡Así que no tengas miedo, busca vacantes, acude a entrevistas! Regístrate en LinkedIn, Gina, sitios de búsqueda de empleo, ¡dondequiera que puedas! ¡Siga las últimas vacantes y responda a ellas! “Llama y te abrirán”, inunda todas las oficinas de TI de tu ciudad con cartas con tu currículum y no tendrás que esperar mucho para recibir una invitación a una entrevista. ¡Muchas opciones! Entonces el curso de acción más corto es:
  1. Completé entre 20 y 30 niveles de JavaRush y aprendí un poco de SQL y JDBC. Si también tienes los conceptos básicos de Spring e Hibernate, entonces estás completamente en problemas.
  2. Escribí un currículum usando ejemplos, me registré en sitios especializados, lo publiqué y luego bombardeé todas las oficinas de TI con spam con mi currículum. Créame, no se quedará sin comentarios, muchos simplemente le responderán diciendo que lo tendrán en cuenta y algunos definitivamente lo invitarán a una entrevista.
¡Cada entrevista, incluso un completo fracaso, te acerca significativamente a tu objetivo! Porque en cada uno de ellos te sentirás más preparado y seguro. Y el 80% de las preguntas se hacen igual en casi todas partes.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION