JavaRush /Blog Java /Random-ES /Java Middle en 2,5 meses.
novago219
Nivel 34

Java Middle en 2,5 meses.

Publicado en el grupo Random-ES
Saludos a todos los lectores que pensaron que en 2,5 meses desde cero realmente puedes convertirte en Middle. Me apresuro a decepcionarte; esto solo es posible si trabajas muy duro en ti mismo y sé que todos quieren todo a la vez, ahora mismo y de ninguna otra manera. Y la frase desde cero se aplica a mí solo en un cierto estado condicional, porque realmente no tenía absolutamente ningún conocimiento de Java como lenguaje de programación. Pero todavía sabía y podía hacer algo incluso antes de conocer JavaRush, y tal vez me gustaría comenzar mi historia con esto, porque el crecimiento de mi carrera es una combinación bastante extraña de conocimiento, habilidades y suerte de alguna manera. Entonces, déjame darte una lista que me dio una ventaja competitiva sobre los demás y también me permitió superar JavaRush (hasta el nivel 34) con bastante rapidez y sin mucha dificultad (al menos no me sorprendió). La lista consta de los conocimientos que me brindó la universidad, así como lo que a mí mismo me interesaba. No separaré dónde está cada cosa y tampoco nombraré la universidad. Si lo deseas, deberás dominar todos estos conocimientos por tu cuenta si tu universidad no los imparte.
  1. Algoritmos y estructuras de datos: mi camino en esta dirección comenzó estudiando los principios de construcción de algoritmos, leyendo libros clásicos (Knuth) y estudiando el lenguaje de programación Pascal, y continuó con el lenguaje C, la implementación de todas las estructuras de datos y el análisis de las ventajas y desventajas de cada uno de ellos. No diré que, además de todo lo demás, sé trabajar con máquinas de Turing y algoritmos de Markov, o mejor dicho, ya lo he dicho, pero puedes ignorarlo, aunque, en mi opinión, el concepto de cinta de memoria infinita y el movimiento de un puntero a lo largo de ella da la idea más correcta de cómo funciona realmente una computadora desde adentro, pero esta es solo mi humilde opinión.
  2. Arquitectura de computadora y ensamblador: cuando decida que comprende completamente el principio de funcionamiento de una computadora, intente escribir programas en un nivel muy bajo (de lo contrario, ¿cómo podrá apreciar todas las delicias de Java?), Y yo personalmente consideré todas las opciones educativas con una , dos, tres registros y me di cuenta de cómo hay que esquivar cuando solo hay un registro, y el programa funciona (sorprendente, ¿no?).
  3. Matemáticas discretas: naturalmente, en paralelo con lo anterior, también vale la pena abordar este tema, ya que proporciona una comprensión completa del pensamiento lógico, y la teoría de las máquinas de estados finitos le dirá cómo está organizado el interior del procesador y cómo están organizados en circuitos integrados. No olvidemos que aquí también se estudia Teoría de Grafos, lo cual no será 100% superfluo.
  4. Matemáticas superiores: decidí resaltar todos los demás temas matemáticos en un párrafo, para no abarrotar demasiado tu cabeza. Aquí están: análisis matemático, teoría de probabilidad y estadística, álgebra lineal; por cierto, algo muy, muy importante si quieres hacer gráficos tridimensionales (lo sé, el sueño de todos es escribir juegos, aunque para esto también necesitarás Tengo que hacer un curso de ecuaciones diferenciales y métodos numéricos, pero esto es tan, pequeñas cosas), y otras áreas.
  5. Arquitectura del sistema operativo. Linux: una vez que se sienta cómodo aquí, el subproceso múltiple en Java generará muchas menos preguntas y resulta que ya ha escuchado el cuento de hadas sobre los filósofos en alguna parte.
  6. POO, lenguaje C++: bueno, casi hemos llegado a la cima de la cadena alimentaria. No lo explicaré en detalle aquí ni diré por qué la implementación de programación orientada a objetos en C++ es mucho más interesante de ver.
  7. Además: un par de cositas más que ya sabía eran: gráficos por computadora (OpenGL, Unity 3D) y C# (Core).
¿Qué tiene JavaRush que ver con esto?
Bueno, junto con toda esta basura de conocimiento, en septiembre del año pasado me encontré con JavaRush, pasé por un par de niveles y lo dejé, ya que encontré un trabajo con bastante facilidad después de la universidad (no como programador, sino en TI, tal vez). ¿Alguien puede adivinar qué podría ser?). Pero pronto descubrí que esto no me interesaba en absoluto, en un par de meses casi llegué al techo y me di cuenta de que no tenía sentido desarrollarse aquí, aunque la dirección de la empresa ofrecía opciones casi entretenidas (entre las que estaba DevOps), que rechacé. Al mismo tiempo, estaba preparando a los escolares para las Olimpíadas de informática (olvidé mencionarlo: me gustaba mucho la programación deportiva) y, después de dejar mi trabajo principal, me fui allí de cabeza. Estuve feliz con todo durante unos 4-5 meses, hasta que también me cansé de esto. Se repitieron las preguntas, se trataron todos los temas y fue entonces cuando me acordé de JavaRush. Siendo racionalista (codicioso), primero pasé por los 10 niveles iniciales de cabo a rabo, luego miré más allá (parecía que el nivel 15 era suficiente), me di cuenta de que esto era bastante interesante y de mi manera típica: simplemente lo hice. en cualquier momento libre. ¿Tienes 5 minutos libres? Genial, agregaré la lógica del método. Total: compré dos suscripciones mensuales. En el primer mes pasé del nivel 10 al 28, en el segundo incompleto (unos 15 días) pasé del nivel 28 al 34. Cronológicamente, fue de abril a mediados de mayo, es decir, se gastaron 1,5 meses (haga usted mismo los cálculos en rublos). No te diré cómo hacerlo y cómo no hacerlo; ya se ha dicho mucho al respecto.
Empleo
Alrededor del nivel 30, miré las vacantes en mi ciudad y decidí no apresurarme y no enviar currículums a todos, sino seleccionar específicamente la empresa deseada, prepararme para ello y solo después enviar mis garabatos al departamento de recursos humanos. También dibujé los garabatos con mucho cuidado y quedó muy bien. Rápidamente me invitaron a una entrevista y la pasé con mucha confianza (al menos en lo que respecta a Java Core). No describiré cuáles fueron las preguntas. Los problemas comenzaron cuando me preguntaron cómo funcionaba Spring y si conocía alguna tecnología empresarial. En realidad, dije que no lo sé, pero con ese nivel, Junior está garantizado (no saltarás más alto), pero aun así salté y aquí, probablemente, comienza la parte más interesante. En general, cuando me explicaron las condiciones (2 meses - período de prueba, puesto - Junior y rango salarial), me di cuenta de que no me gustaban mucho, pero dije que estaba de acuerdo y pregunté si podía empezar a trabajar más tarde. motivador porque necesitaba terminar cosas en mi trabajo actual antes de unirme a una nueva empresa. Por eso me di casi un mes para prepararme. Tuve una entrevista a principios de mayo y comencé a trabajar el día 23. Naturalmente, una vez más estudié los requisitos, descubrí qué tecnologías se utilizan (Java EE 6) y me preparé para trabajar.
¿Medio o no medio?
Bueno, me puse a trabajar y descubrí que habían reclutado a unos 5 Juniors, entre los cuales, por supuesto, yo destacaba, pero no mucho. Primero conocí a mi supervisor inmediato, noté que fumaba y comencé a salir a fumar con él (y yo no fumo en absoluto). También había otro programador con nosotros, os hablaré de él un poco más adelante. En general, mientras fumaba (3-4 veces por día laboral), hablé con el gerente, hablé con más detalle sobre mis éxitos, mencioné casualmente mis conocimientos (debe haber sido útil) y, en general, gané confianza como mejor pude. podría. La barbacoa y la cerveza al final de la primera semana permitieron establecer mejores relaciones, que yo organicé. Me quedé en la oficina trabajando hasta las 23:00 (día laborable hasta las 18:30), hasta que el guardia de seguridad me echó. A veces, el CEO y el CTO de la empresa se quedaban conmigo en la oficina, con quienes también me comunicaba, cenamos juntos y salimos juntos de la oficina (el CTO incluso me ofreció llevarme a casa, pero me negué cortésmente). Así, en primer lugar, establecí una buena relación con mi supervisor inmediato y, en segundo lugar, le mostré a la alta dirección que completaría la tarea y solo entonces me iría a casa. Naturalmente, todo esto no me convierte en medio. Entonces, ¿qué hizo? Permítanme recordarles que antes de la entrevista no conocía ningún marco (excepto JUnit). Aquí es donde vale la pena volver al programador que mencioné anteriormente. Era un programador muy poderoso con 20 años de experiencia, que trabajó durante 5 años en Moscú, unos 7 años en Estados Unidos (como arquitecto jefe de proyectos) y muchos otros lugares, incluidos proyectos gubernamentales de especial importancia (aprendí todo esto mientras fumaba). con él). Entonces, a este programador se le asignó una tarea muy seria y decidió contratarme como asistente. Después de que le encomendaron esta tarea, resultó que necesitaba salir urgentemente del país y no podría trabajar. Escribió el marco de la aplicación y me dejó a cargo, diciendo que monitorearía desde lejos. Fue este momento el que me ayudó a convertirme en medio y terminar el período de prueba no en 2 meses, sino en uno y tener derecho a un salario más serio. Porque este programador no pudo monitorear desde lejos y el proyecto quedó enteramente en mis manos. Lo completé con éxito en un mes, por lo que recibí mi puesto y la oportunidad de solicitar un salario más alto.
¿Cuál es la moraleja?
Se puede decir que tuve la suerte de estudiar donde me dieron todo este conocimiento (pero ojo, solo lo usé para mencionárselo a mis superiores), que las circunstancias fueron tales que tal proyecto recayó sobre mis hombros, y qué tiene JavaRush. qué hacer con eso, al parecer? Permítanme recordarles una vez más que antes de JavaRush mi nivel de dominio de Java era 0, eso es todo. En segundo lugar, cuando resuelves problemas en el intento número 52, algo se te queda en la mente: tenía un don para las excepciones, comprobaciones, etc., lo que también era una ventaja competitiva sobre los demás y, en general, comienzas a comprender JavaCore muy a fondo ( que confirma el certificado OCA, que aprobé a expensas de la empresa y obtuve una puntuación del 94%), y sin él no veo mucho sentido en seguir adelante. La próxima semana me asignarán un nuevo proyecto desde cero, que lideraré yo mismo (incluido el diseño de la base de datos, la selección de tecnología y también la contratación de un equipo). Además, realizaré entrevistas y revisaré el progreso de los Juniors para determinar si vale la pena o no. Quiero decir que en estos asuntos me ayudó no solo el conocimiento de los hechos, sino también la capacidad de establecer comunicación con el equipo, presentarme bien ante la gerencia, la capacidad de causar una buena impresión y demostrar que llevaré todo hasta el final. el fin. Gracias por su atención, les deseo a todos más perseverancia y atención al detalle.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION