JavaRush /Blog Java /Random-ES /Cómo me convertí en programador, o “A través de espinas h...
provisota
Nivel 33
Одесса

Cómo me convertí en programador, o “A través de espinas hasta las estrellas” =)

Publicado en el grupo Random-ES
Cómo me convertí en programador, o “A través de espinas hasta las estrellas” =) ¡ Cómo me convertí en programador, o “A través de espinas hasta las estrellas” =) - 1 Hola Javarashovets!) Quiero compartir mi historia con ustedes, porque siento una obligación moral con las personas maravillosas que crearon este recurso, así como con la comunidad. que dio a luz. Me gustaría agradecer al menos de alguna manera a los creadores, animar a los javarashitas que aún no han logrado su preciado objetivo y reforzarlos con una buena parte de motivación) Muchas veces imaginé cómo escribiría este artículo, qué palabras usaría. uso, y ahora finalmente sucedió, y cómo En principio, esperaba que todas las palabras desaparecieran en alguna parte, así que no juzgues estrictamente por el estilo de presentación) En general, sobre lo principal, he estado trabajando como programador desde hace dos semanas, y esto se debe en gran parte a Javarash) Pero todo está en orden, primero te contaré un poco sobre ti. Tengo 37 años, estoy casado, dos hijos, una niña de 6 años y un niño de 3 años. =) Durante los últimos 15 años he trabajado como escalador industrial (escalador de gran altitud), un trabajo, como comprenderás, relacionado con la programación un poco menos que nada. Pero, en general, el trabajo no está mal, aire fresco, te mantiene en “forma”, bastante tiempo libre, eres tu propio jefe, y por el dinero, en principio, bastante bien (en temporada), PERO :
  • Tiene una estacionalidad pronunciada, es decir. 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 aburrirse)… 15 años es todavía mucho tiempo, durante el cual cualquier trabajo probablemente empezará a aburrirse…
Y así, hace unos dos años, o para ser más precisos, en mayo de 2013, después de pensar y sopesar todos los pros y los contras, llegué a la conclusión de que era hora de cambiar algo... es decir, era hora de cambiar de trabajo… Bueno, me llevó mucho tiempo pensar en cuál no tenía que cambiarlo, pero sería por un trabajo que carece de las carencias del anterior:
  • Trabaja todo el año.
  • Buenas perspectivas de crecimiento.
  • Salario significativamente más alto (si no inmediatamente, al menos en un futuro próximo)
  • Un trabajo interesante por el que tengo inclinación.
Tenía predilección por la programación, aunque en la práctica esto solo se expresaba en el hecho de que incluso en la escuela escribía un poco en BASIC, menos aún en ensamblador (en el ZX - Spectrum, también conocido como Sinclair, alguna vez fue una computadora de culto, puedes digamos, la gente de mi generación debe recordar), y también pude instalar / reinstalar Windows, leña, bueno, en general, se puede decir “usuario avanzado” =) Y siempre fui bueno con el inglés también, incluso se podría decir que era mi hobby... Las desventajas que ocurrían en el “rascacielos” también tenían aspectos positivos, es decir, todo mi tiempo libre, que tenía en abundancia en primavera y especialmente en invierno (fuera de temporada). ), podría gastar útilmente en aprender programación. Bueno, eso significa programar... ¿y qué exactamente? La programación es un concepto flexible, busqué en Google qué lenguajes son los más populares, prometedores y mejor pagados en la actualidad... y mi elección recayó en su majestad Java =) Como comencé desde cero, intenté encontrar una fuente de conocimiento adecuada , mi primer libro sobre Java fue "Programación en Java para niños, padres, abuelos y abuelas" de Yakov Fain, que me cautivó principalmente por su título =) No puedo decir si recomiendo este libro a principiantes o no, tal vez haya son mejores libros para principiantes, ya lo entiendo ahora en lo que se refiere al “jardín de infantes”, pero en ese momento me pareció interesante de leer y bastante comprensible, y los ejemplos prácticos que allí se dan, en los que trabajé cuidadosamente, me dieron el mínimo necesario de habilidades prácticas para un mayor avance. Terminé de leer el libro, necesito seguir adelante, decidí buscar cursos normales, los cursos de tiempo completo me resultaban un poco caros y no estaba seguro de que valieran la pena, y aquí me acordé de eso cuando Estaba trabajando en el libro, creo que estoy en algún lugar del centro. Leí un artículo sobre los cursos en línea de JAVARUSH, gratuitos en ese momento =) Bueno, en general, todo salió bien)… después de leer y trabajar en el libro, Rompí los primeros 10-12 niveles como semillas, fue incluso demasiado fácil, pero aún así interesante, luego se volvió más difícil e incluso más interesante, pero traté de resolver TODAS las tareas seguidas, y sin resolver todas las tareas, no pases al siguiente nivel, y luego en Javarash introdujeron tasas de matrícula superiores al nivel 10... durante los primeros dos o tres meses pagué mensualmente, pero luego, en Año nuevo, anunciaron una promoción, un 50% de descuento, en lugar de $200 se podía comprar de forma ilimitada por $100, admito honestamente que en ese momento ciertamente tenía $100, pero no se puede decir que sea superfluo... porque... No trabajé en todo el invierno, mi esposa tampoco trabajó entonces y “cada centavo contaba”, porque el dinero acumulado durante la temporada debía estirarse hasta marzo-abril, cuando comenzaría a trabajar nuevamente... Pero sentí que esos $100 podrían ser la inversión más exitosa y rentable de toda mi vida. Tengo un hermano, hace unos 10 años él y su familia se mudaron a Alemania para residir permanentemente. Yo también tuve esta oportunidad, pero no la aproveché, porque... Amo mi ciudad Odessa, mis amigos, mi forma de vida y yo no estábamos dispuestos a renunciar a todo esto, y también creía que aquí podría mantenerme adecuadamente a mí y a mi familia y, en general, probablemente soy simplemente un optimista en la vida. Y aunque todo está bastante bien con sus finanzas allí, intenté nunca pedirle ayuda a menos que fuera absolutamente necesario, pero sabía que si fuera necesario, él no me la rechazaría, especialmente porque 100 dólares es una cantidad ridícula para él. Me puse en contacto con él y felizmente transfirió a Zeppa $100 a PayPal, lo cual, por supuesto, le agradezco mucho. Y yo con calma, pensativo, sin prisas, que siempre está presente si pagas mensualmente, seguí “royendo el granito de la ciencia” =) Pasé los niveles de la misma “manera”, 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! Aproximadamente medio año después, a finales de 2013, decidí que era hora de probar suerte y probarme a mí mismo en una entrevista, busqué en Google ejemplos de currículums en Internet, amigos de Javarash me enviaron varios ejemplos de currículums, También escribí a Zepp, me dio varios consejos, así como varias plantillas de currículum. Escribí mi currículum, se lo envié a Sepp para que lo evaluara y a él le gustó. Luego publiqué mi currículum en varios de los sitios de búsqueda de empleo más populares, luego compilé una lista de correos electrónicos de los departamentos de recursos humanos de las empresas de TI más grandes de Odessa, que tienen vacantes para desarrolladores Java (no solo juniors), obtuve una lista de unas 20 empresas. Por si acaso, dejé la mitad de inmediato para más tarde, en caso de que me equivocara en todas partes para que hubiera una opción de respaldo, y la mitad envié mi currículum y comencé a esperar invitaciones a entrevistas =) Yo No diré que me bombardearon directamente con invitaciones, pero al final, en un mes (durante un año y medio) asistí a entre 3 y 5 entrevistas, algunas más o menos exitosas, otras no tanto, en algún lugar donde estaban los candidatos que competían. delante de mí, y también había dos o tres tareas de prueba, que también completé con mayor o menor éxito, así como una entrevista en inglés hablado, que pasé con éxito, pero antes. La entrevista no se realizó porque... cómo otro contendiente me ganó. También estuve a punto de entrar en el llamado "benchmark" de Luxsoft, pasé las pruebas, la entrevista, pero en el último momento, cuando leí el contrato, cambié de opinión y me negué, me pareció que las condiciones eran las ofrendas eran una lástima. En resumen, te enseñan durante tres meses, y te pagan un estipendio de $300, al terminar la formación, si les gustas te ofrecen un trabajo como junior, por $500, después de 9 meses, te pueden subir el salario, PERO lo principal, PERO, como quedó claro en el acuerdo, fue que desde el momento de firmarlo, si no asistes a cursos, por ejemplo, o después de los cursos quieres cambiar de lugar de trabajo dentro de un año o dos, entonces estarás obligado a pagarles una compensación por tu formación en la cantidad de $2,500. Encontré tales condiciones inaceptables y las rechacé. También rechacé otra vacante porque... Me parecía que no tendría perspectivas en ese trabajo. Pero lo principal es que adquirí una experiencia muy valiosa en las entrevistas, y después de cada entrevista tenía una idea mucho mejor de lo que me esperaba en la siguiente, qué tipo de preguntas me harían y qué respuestas esperarían. De mi parte... bueno, no es que en todas las entrevistas me hagan las mismas preguntas, pero casi siempre me 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 para ellos. En general, acudir a entrevistas es realmente muy útil, independientemente de los resultados... Por la misma época (otoño - invierno de 2013), Diana me escribió en un mensaje personal y me preguntó si me gustaría participar en el “Proyecto Real”. ”, Dije eso en general, entonces no me importa... Y un mes después, Hubert escribió con una propuesta más específica para participar en el proyecto que ya había comenzado hace dos o tres semanas. Probablemente me lo ofrecieron simplemente porque en ese momento yo estaba entre los líderes en cuanto a problemas resueltos. Para ser honesto, después de que Hubert me enumeró las tecnologías utilizadas en él (Spring, Hibernate, GWT, MySQL, Maven, Git), se volvió un poco extraño, porque... En su mayor parte, escuché estas palabras solo por primera vez, y tal vez una vez escuché algo en algún lugar con el "borde" de mi oreja, pero solo con el borde de mi oreja... Bueno, pensé que no tenía nada. De todos modos, hay que perder tiempo para participar, en cualquier caso será una experiencia útil, y acepté. Lo admito, al principio fue realmente DIFÍCIL, pero después de una semana, una semana y media, dos, leí libros y artículos en la red, me acostumbré un poco y profundicé mucho en el trabajo del código existente. que podría escribir algo yo mismo y hacer mi primer compromiso. Tuve MUCHA suerte con los chicos del proyecto, creo que éramos cuatro en total: Timur, Zhenya, Seryoga y yo. Supervisamos nuestro proyecto y Timur trabajó principalmente en el back-end, Zhenya en el front-end, Seryozha en la base de datos, yo hice un poco en el front-end, un poco en el back-end, pero probablemente principalmente en el front-end. -fin. Después de dos o tres meses, nos convertimos en el primer equipo en completar con éxito un "Proyecto Real" real, que ahora usan todos los residentes de Javarash: este es el proyecto "Ratings" =) Bueno, decir que el "Proyecto Real" me dio una ¡Mucho es no decir nada! ) Además de los beneficios obvios (una gran cantidad de nuevos conocimientos valiosos), mucho más importante es comprender que incluso para un "programador de Java", conocer sólo Java está lejos de ser la única habilidad necesaria, aunque es fundamental. Java es como el ABC de la programación, pero además del alfabeto, también es necesario conocer las reglas de ortografía, gramática, sintaxis, la capacidad de construir oraciones correctamente, tener un vocabulario rico, bueno, en general, creo que la analogía es clara. También en programación, necesita conocimiento y capacidad para utilizar muchos marcos, patrones y herramientas de desarrollo, así como la capacidad de buscar soluciones a problemas emergentes y respuestas 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á del puro Java Core. Y en mi currículum apareció un elemento nuevo y sólido en la columna "Experiencia laboral", con una descripción de las tecnologías geniales y de moda que se utilizaron en el proyecto =) Pero el proyecto se completó y comencé silenciosamente un nuevo "trabajo". temporada” en un rascacielos... había mucho menos tiempo libre y la cuestión del cambio de profesión pasó a un segundo plano, pero aun así dediqué casi todo mi tiempo libre (por las tardes después del trabajo y los fines de semana) a programar , escribí todo tipo de "miniproyectos" para mí, a veces resolví problemas en Javarash, supervisé las vacantes y, a finales de otoño, también me inscribí en cursos gratuitos en la oficina de TI de DataArt. Bueno, los cursos en sí resultaron ser una mierda, en su mayoría de revisión, por lo que siguieron los procedimientos, no aprendí casi nada útil allí, pero en el marco 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 pruebas en línea, con registro de usuario, la parte de usuario (realización de cuestionarios) y el área de administración (creación de cuestionarios y gestión de cuentas). Terminé en uno de los cuatro equipos de este tipo y luego resultó que prácticamente escribí el proyecto yo mismo. =) Y en aproximadamente un mes (mientras trabajaba en un edificio de gran altura al mismo tiempo) yo mismo escribí una aplicación web bastante aceptable, como me parece, basada en casi las mismas tecnologías y patrones que usamos en Real proyecto con los chicos de Javarash, bueno, además de más jsp, Spring Security y algo más =) Si alguien está muy interesado, puedo publicar un enlace a un repositorio abierto con el código fuente del proyecto... Además, en algún momento de diciembre Me invitaron a una entrevista desde una oficina que luego resultó ser de Kiev. La entrevista se realizó vía Skype. Y después hubo una entrevista con uno de los gerentes de una gran empresa, un cliente de Odessa de esta oficina de TI de Kiev. Me dijeron que cuando tomaran una decisión me llamarían... bueno, como siempre, pensé entonces, si no me contratan de inmediato, entonces hay pocas esperanzas... pero aún así, como un mes después, después Año nuevo, le escribí a esta responsable de recursos humanos y le pregunté sobre mi candidatura, aunque parezca mentira, ella respondió que la vacante aún estaba abierta y que aún no se había tomado la decisión... bueno, eso significa que todavía hay esperanza. Y ahora, casi un mes después, a finales de enero, me llamó y me preguntó: "¿todavía estoy buscando trabajo?", a lo que yo "sin descanso" respondí "sí, todavía lo estoy buscando". entonces ella me dijo que yo era ella ya lo encontré, porque... ¡Me quedan bien!))) La sensación es ciertamente indescriptible, cuando te dicen esto por teléfono, tus alas simplemente crecen =) para entender esto solo necesitas experimentarlo tú mismo, que es lo que te deseo en un futuro cercano) Bueno, entonces vino aquí un gerente de Kiev, nos conocimos Con él, me conocí, aprendí más sobre el proyecto en el que tengo que trabajar. En resumen, esta empresa de Kiev está desarrollando una gran aplicación ERP para su cliente corporativo en Odessa y la ha estado desarrollando durante mucho tiempo, según tengo entendido, en total, ya 3 - 4 años =) ya ha sido escrito por Hay muchos, pero todavía hay innumerables errores. Además, la aplicación tiene muchos matices específicos, y la comunicación con el cliente es constantemente necesaria, y enviar constantemente gente aquí desde Kiev es muy hemorroide, y sentarse al teléfono durante días tampoco es una opción, y decidieron que Necesitaba una persona aquí, localmente, en Odessa. Y ahora tengo que terminar esta aplicación. 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 en la que desarrollé y tengo una experiencia más o menos tolerable. La desventaja es 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 se pueden actualizar... o reescribir la mitad del código... también resultó que Lo terminaré YO MISMO =) Este es, por supuesto, un poco incómodo el trabajo con el que contaba, supuse que, como cualquier junior, se me asignaría un líder de equipo con más experiencia, quien de alguna manera me guiaría, revisaría mi código, y con quién podría consultar en caso de dificultades =) Pero el destino decretó lo contrario ... Me encomendaron un trabajo diseñado para un desarrollador experimentado e independiente, y esto tiene ventajas y desventajas. Bueno, ya que pensé en esto, sería una buena idea pedir inmediatamente un aumento de salario =) y aumentar la cifra original en $200. Esto no provocó ninguna indignación por su parte. Bueno, no daré cifras específicas, pero diré que el salario superó significativamente mis expectativas. Y además, solo queda un mes (y no tres, como es habitual en todas partes) del período de prueba. Y ahora han pasado dos semanas, a primera vista, por supuesto, da miedo mirar un proyecto tan grande, pero ahora sé que la primera impresión suele ser engañosa, y al principio siempre es difícil, pero como dicen, "es no los dioses que queman ollas” y “el agua desgasta las piedras”. "=) Y así, poco a poco, comencé a profundizar en el código y ahora sé que todo saldrá bien... Cierto, no lo hicieron. Quieren que lo formalice, dijeron que formalizaría el SPD, pero esto, según escuché, es una práctica común para los programadores. También quiero señalar que trabajar como programador tampoco es un recurso, también es, en primer lugar, un trabajo para el que hay que levantarse por la mañana y regresar por la noche, pero este trabajo es mucho más. mejor que muchos otros, por una serie de razones ya enumeradas anteriormente, e intereses, dinero y perspectivas, lo tiene todo. Y es especialmente bonito cuando sabes que pudiste lograrlo tú mismo, con tu mente, con tu trabajo, con tu perseverancia, que pudiste fijarte una meta seria y lograrla. Pude cambiar mi vida, para que en muchos sentidos seas dueño de tu propio destino. Lo único que temo ahora es mi pereza, que habiendo logrado este resultado me vuelva perezoso y deje de crecer profesionalmente, pero realmente espero que esto no suceda =) En conclusión, continuaré con la tradición y enumere brevemente las tecnologías que fueron y siguen siendo para mí clave en la formación y ahora en el trabajo) es MUY deseable, incluso quizás REQUERIDO, conocimiento de bases de datos, SQL (MySQL), jdbc, Hibernate, Jpa, tecnologías de red html, jsp, servlets , xml, Tomcat, el conocimiento de los patrones básicos de JavaSE es IMPRESCINDIBLE (llamados patrones GOF), también será una GRAN ventaja tener al menos una comprensión superficial de Spring, SpringMVC, también preferiblemente el generador de proyectos Maven, registro log4j, pruebas unitarias JUnit , trabajando con sistemas de control de versiones, Git por ejemplo, a veces también piden o dan tareas de prueba sobre servicios web (SOAP, REST) ​​... pero junto a todo esto, el conocimiento del core de Java debe ser, si no impecable, Entonces al menos muy confiado. Y aún así, el conocimiento de todas estas tecnologías (aunque en su mayoría superficiales) no garantiza que en la entrevista no te pregunten algo de lo que casi oyes por primera vez), pero también aquí, dependiendo de tu suerte... tal vez solo se esté impulsando el núcleo de Java y eso es todo) Una vez más quiero agradecer a los creadores de este maravilloso recurso, en particular a Sepp, Hubert y Diana. Y a usted, dzhavarashovita, le deseo perseverancia y paciencia en el camino que ha elegido, como decía el abuelo Lenin: “¡Vayan por el camino de la aldea, camaradas!” =) y no te dejes llevar por tu propia pereza, y lo principal es “NUNCA TE RINDAS” y ¡el que camina dominará el camino! Perdón por demasiadas letras) Entonces al menos muy confiado. Y aún así, el conocimiento de todas estas tecnologías (aunque en su mayoría superficiales) no garantiza que en la entrevista no te pregunten algo de lo que casi oyes por primera vez), pero también aquí, dependiendo de tu suerte... tal vez solo se esté impulsando el núcleo de Java y eso es todo) Una vez más quiero agradecer a los creadores de este maravilloso recurso, en particular a Sepp, Hubert y Diana. Y a usted, dzhavarashovita, le deseo perseverancia y paciencia en el camino que ha elegido, como decía el abuelo Lenin: “¡Vayan por el camino de la aldea, camaradas!” =) y no te dejes llevar por tu propia pereza, y lo principal es “NUNCA TE RINDAS” y ¡el que camina dominará el camino! Perdón por demasiadas letras) Entonces al menos muy confiado. Y aún así, el conocimiento de todas estas tecnologías (aunque en su mayoría superficiales) no garantiza que en la entrevista no te pregunten algo de lo que casi oyes por primera vez), pero también aquí, dependiendo de tu suerte... tal vez solo se esté impulsando el núcleo de Java y eso es todo) Una vez más quiero agradecer a los creadores de este maravilloso recurso, en particular a Sepp, Hubert y Diana. Y a usted, dzhavarashovita, le deseo perseverancia y paciencia en el camino que ha elegido, como decía el abuelo Lenin: “¡Vayan por el camino de la aldea, camaradas!” =) y no te dejes llevar por tu propia pereza, y lo principal es “NUNCA TE RINDAS” y ¡el que camina dominará el camino! Perdón por demasiadas letras) Continuación
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION