CodeGym /Blog Java /Random-ES /Prometí no vincular mi vida a Java: la historia del desar...
John Squirrels
Nivel 41
San Francisco

Prometí no vincular mi vida a Java: la historia del desarrollador de software Anzor

Publicado en el grupo Random-ES
Sabemos que los estudiantes de CodeGym quieren escuchar las historias de quienes ya trabajan en TI. Tomamos el asunto en nuestras propias manos y lanzamos una serie sobre desarrolladores de varios países y empresas que completaron nuestra capacitación en Java. Esta historia trata sobre un desarrollador de software llamado Anzor Karmov (aprendió Java en la versión rusa de nuestro curso). Desde la secundaria, a este chico le gustaba codificar en Pascal, pero no planeaba convertirse en programador. Finalmente aprendió programación en nuestro curso y ahora trabaja como desarrollador backend desde hace varios años. Anzor nos cuenta cómo lo hizo."Prometí no vincular mi vida a Java" — La historia del desarrollador de software Anzor - 1

"Nunca tocaré este horror"

En la secundaria me gustaba la programación y el lenguaje Pascal. Tuve un tutor. Entré a la universidad para obtener un título en Business Analytics. Este curso de estudio incluyó clases de programación, incluido el aprendizaje de C# y Java. Recuerdo cuando prometí no vincular mi vida a Java: mi profesor no nos explicó los conceptos básicos. Los materiales de aprendizaje parecían presumir una gran cantidad de conocimientos previos, por lo que muchas cosas no estaban claras. Se suponía que todo el mundo ya sabía programación. Fue entonces cuando pensé: "Nunca tocaré este horror". Mi viaje en TI comenzó cuando pasé una entrevista de trabajo en una empresa que había implementado un sistema ERP de Microsoft. Tenían dos tipos de empleados en su departamento de TI: desarrolladores y consultores. Los consultores desempeñaron el papel de probadores y gerentes de producto, mientras que los desarrolladores, como era de esperar, desarrollaron. Me contrataron como consultor, pero mi currículum indicaba que estudié Pascal en la escuela. En base a esto, me sugirieron que me convirtiera en desarrollador. Codificamos en el lenguaje C#L, al que cariñosamente llamamos "heces", una especie de "descendiente" de Pascal. Cuando más o menos me orienté en este espacio, me di cuenta de que este es, en términos generales, el lugar más bajo en el que puede trabajar un desarrollador. No porque la empresa fuera mala, sino porque el lenguaje que utilizamos era muy aplicable. Simplemente no es realista pretender aplicar esos conocimientos en otros lugares. Pensé, si soy desarrollador, entonces necesito aprender algo más universal y ampliamente aplicable.

"Cuando abandoné mis estudios, me reprendí por ser tan vago".

Al elegir qué lenguaje de programación estudiar, mi lista corta se redujo a C++, C# y Java. Por lo que leí en los foros, llegué a la conclusión de que C++ sería difícil para mí y que me llevaría mucho tiempo abordar este tema. Me decidí por Java, probablemente porque encontré este curso. Estudié el lenguaje de programación durante aproximadamente un año y medio. Mi jefe me "ayudó" mucho: fue un poderoso desmotivador en mi trabajo, pero definitivamente me motivó a aprender Java. Era un mal jefe y quería alejarme de él lo antes posible. Pero me llevó alrededor de un año y medio darme cuenta de que quería irme, el mismo tiempo que dediqué al autoaprendizaje. Estudié de varias maneras. Formulé un plan: sin lugar a dudas, mi trabajo tenía que ser un cambio y tenía que aprender Java, pero no pude dedicar tiempo consistentemente a este esfuerzo durante un año y medio, y no podía estudiar todos los días. Tuve breves descansos de uno o dos meses y también hubo meses en los que estudié activamente. El horario era más o menos así: me levantaba mucho más temprano de lo habitual, estudiaba, iba a trabajar, estudiaba algo allí si no estaba muy ocupado, regresaba a casa y luego estudiaba de nuevo. Cuando me di por vencido, me reprendí por ser tan vago, luego la "estrecha cooperación" con mi jefe me inspiró una vez más y regresé a mis estudios con fervor. Recuerdo que cada nuevo nivel era cada vez más difícil que el anterior. Si los primeros niveles me llevaron aproximadamente una semana, más cerca de la mitad pasé aproximadamente una semana resolviendo una sola tarea. Nunca se me ocurrió la idea de renunciar a todo esto por completo, porque este fue el único momento en mi vida en el que decidí que, pase lo que pase, llegaré al final. Adopté este lema: si trabajas en algo durante mucho tiempo, tarde o temprano algo saldrá bien. Generalmente me quedaba atascado en las tareas, pero como todas las soluciones están publicadas en algún lugar de Internet, no fue difícil encontrar la que necesitaba. Cuando se volvió completamente insoportable, simplemente tomé la solución ya preparada y la pegué. Por cierto, tenía un proyecto de práctica. Cuando iba a un tutor en la escuela, quería escribir un juego llamado Sea Battle. Este fue mi diseño: juegas con la computadora e ingresas la dirección de una celda objetivo en la consola, y la computadora muestra si golpeaste, fallaste o destruiste un barco. Y de la misma manera, la computadora dispara en respuesta y usted le informa si acertó, falló o destruyó. Luego me quedé atascado en el hecho de que no podía hacer que la computadora disparara de manera más inteligente después de impactar una nave multicelular. Cuando un jugador humano golpea el barco de un oponente, en el siguiente turno disparará arriba o abajo, o hacia la izquierda o la derecha del golpe anterior. No pude hacer que la computadora disparara de esa manera, porque probablemente no tenía suficiente cerebro. En algún momento pensé que finalmente debería terminar de implementar este juego. Me senté, escribí el código, y superó ese obstáculo anterior. Incluso antes del nivel 28, fui a una entrevista. Después, decidí que era demasiado pronto para hacer esto. Me di cuenta de que no conocía los marcos y no sabía cómo trabajar con una base de datos. Me enfrenté a una elección: estudiar todo hasta el final en CodeGym y aprender marcos, o comenzar a asistir a entrevistas. Decidí buscar trabajo.

"En algún momento tuve un gran avance y todos empezaron a llamarme"

Cuando aprendes Java, tienes dos opciones: entrar en desarrollo back-end o Android. Entonces, simultáneamente comencé a aprender Android. Escribí un par de aplicaciones primitivas. Uno era un juego de números y el otro era una calculadora. Mis primeras entrevistas no fueron bien, porque todavía no entendía ni sabía muchas cosas. Decidí volver a asistir a entrevistas más de seis meses después de mi primera entrevista (que fue un fracaso épico). Cuando tenía mucho menos conocimiento sobre Java, por alguna razón recibí muchas invitaciones para asistir a entrevistas, pero después de un tiempo, cuando mejoré mis habilidades, dejaron de llamarme. Esto duró unos seis meses, seis meses bastante dolorosos. Me invadió la sensación de que todo esto era en vano. El plan era simple: seguiré estudiando y tarde o temprano me llamarán para más entrevistas. En mi blog, comencé a publicar respuestas a preguntas que podrían hacerse en una entrevista. Recopilé información, la estudié y comencé a publicarla. Un tipo me escribió, me agradeció por mis publicaciones y se ofreció a ayudarme con la redacción del currículum, si era necesario. Me dio comentarios sobre mi currículum, que corregí. Pero por alguna razón todavía no me invitaban a entrevistas. Lo asocio con una pausa en el mercado: lo más probable es que los empleadores no necesitaran a nadie en junio. "Entonces, en algún momento, tuve un gran avance y todos empezaron a llamarme". Hubo varias entrevistas. Por ejemplo, hubo una entrevista grupal en la que tuvimos que preparar respuestas en hojas de papel y luego llamaron a los posibles desarrolladores para que dieran sus respuestas. La tercera fue una entrevista con la empresa donde trabajo ahora. Se llama Fábrica de Lealtad. Comenzó como una startup. La empresa desarrolla herramientas de marketing diseñadas para aumentar la fidelidad a la marca. Nuestro producto es un conjunto de herramientas de marketing que fabricamos para diferentes marcas, principalmente para restaurantes, pero también es adecuado para gasolineras, salones de belleza y centros comerciales. El producto consta de un sistema CRM y una aplicación móvil. Entonces, si el cliente es un restaurante, le creamos una aplicación móvil. Los clientes del restaurante descargan la aplicación móvil y el propietario del restaurante obtiene acceso al sistema CRM, lo que permite ver el público objetivo y enviar ofertas como parte de diversas promociones. En la aplicación, el público objetivo tiene la posibilidad de acumular puntos y canjearlos por determinadas recompensas. Uno de nuestros módulos independientes permitió la integración con pasarelas de pago. Entramos al mercado internacional mucho antes de la cuarentena, pero la cuarentena es exactamente lo que generó esa demanda masiva de entrega de comida a domicilio. Muchos restaurantes necesitaban la posibilidad de permitir a los clientes realizar pedidos a través de una aplicación móvil, y muchos de ellos recurrieron a nosotros. Nuestros clientes que no aprovechaban el módulo de entrega de comida nos pidieron que lo personalizáramos para ellos. Esto les ayudó a mantener su negocio durante la cuarentena, ya que los restaurantes solo podían sobrevivir haciendo entregas a domicilio.

"Tomé una licencia médica en el trabajo y no hice nada más que comer, dormir y trabajar en la tarea de prueba".

Probablemente conseguí el trabajo aquí gracias a mi carta de presentación. Este fue el envío de mi currículum número cien. Estaba de mal humor porque nadie me invitaba a una entrevista en ningún lado. En mi carta de presentación, describí todo mi dolor y lo envié. El reclutador me dijo más tarde que era la carta de presentación más conmovedora de su vida y que probablemente fue la razón por la que me convocaron para una entrevista. Después de la entrevista, me dieron una tarea de prueba: escribir un programa con una interfaz web que pruebe una aplicación de Android a través de Wi-Fi. Se suponía que mi programa mostraría qué pruebas tuvieron éxito y cuáles fallaron. Me dieron una semana para completar la prueba. Fue la semana de codificación más ocupada de toda mi vida. Tomé una licencia médica en el trabajo y no hice nada más que comer, dormir y trabajar en la tarea de prueba. Finalmente lo terminé y lo envié. Después de un tiempo, el reclutador me llamó y me dijo que había hecho la prueba tan bien que no iban a esperar a ningún otro candidato. Fui allí para convertirme en desarrollador de Java, pero resultó que esta vacante ya estaba cubierta, por lo que me ofrecieron convertirme en un tester que escribiría pruebas automatizadas. En nuestro departamento de pruebas, nadie conocía Java excepto yo. Me dijeron que había un sistema para probar manualmente las aplicaciones móviles. Era un programa con una interfaz web: vas a la interfaz web, conectas la aplicación de prueba a la sesión de prueba y luego ves lo que hay que hacer. Mi primera tarea fue reemplazar al evaluador que hace clic en la sesión de prueba. Todo empezó poco después: automaticé mi primer caso de prueba, luego vino el segundo, y un tercero... Desafortunadamente, mi creación nunca llegó a producción, porque las aplicaciones móviles despegaban mucho más rápido de lo que podía adaptar las pruebas automáticas. para ellos. Más tarde, me encargaron un segundo proyecto de prueba automatizado: probar la interfaz web. Tuve que cubrir el panel de administración interno con pruebas. Empecé a escribir un programa desde cero para probarlo. Cuando estaba terminando mi tercer proyecto, me ofrecieron trasladarme al departamento de desarrolladores de servidores y escribir código para ellos. Esto me encantó. En este departamento comencé a realizar algunas mejoras menores y me familiaricé con el sistema. Tenía un poco de miedo ante cada nueva tarea. Estaba ansioso por no poder hacer frente. Al final todo salió bien. Ahora soy el líder del equipo que maneja el desarrollo backend para las aplicaciones móviles. Uno de mis subordinados, que también es mi primo, también estudió en este curso de Java. Lo he estado asesorando. Actualmente es un desarrollador junior. Se podría decir que lo motivé a estudiar. Esta capacitación me ayudó a mejorar mi vida y quería compartir esta oportunidad con mis seres queridos."Prometí no vincular mi vida a Java" — La historia del desarrollador de software Anzor - 3

Consejos para desarrolladores principiantes:

1. Cómo organizar tus estudios

Para empezar, te contaré cómo estudié. Estudié en oleadas. Hubo períodos en los que no estudiaba nada, probablemente debido al agotamiento. Hubo períodos de un mes o más en los que no hice nada. Y entonces comenzaría un período de recuperación. Esto sucedió cuando me di cuenta de que si continuaba sin hacer nada, nada en mi vida cambiaría. Esta convicción me llevó a levantarme a las 4:30 de la mañana y estudiar un poco antes de ir a trabajar. Estudié en el trabajo. Y después del trabajo volví a casa y volví a estudiar. Después de un tiempo, esto naturalmente llevó al agotamiento y al no hacer nada durante meses seguidos. No me di por vencido por completo, sólo porque podía ver claramente que si me detenía, mi vida seguiría siendo la misma. Y no me gustaba mi antigua vida. Así que intenté ni siquiera permitir que entrara en mi mente la idea de que podría dejar de hacerlo. Mi lema era "si trabajas en algo durante mucho tiempo, tarde o temprano algo saldrá bien". Ahora, después de 4 años, no recomendaría hacer lo mismo. No creo que todo el mundo aguante tal autocrueldad. Trabajar sin descanso conduce al agotamiento. El estrés es beneficioso sólo cuando va seguido de algo de relajación. Así que, en lo que respecta a cómo organizar tus estudios (como en todo lo demás), te aconsejaría que estudies poco a poco, pero con regularidad y a largo plazo. Debes relajarte. No te fuerces. El cerebro sólo empezará a asimilar todo a medida que descanses y duermas. Esto significa que debes tomarte igualmente en serio tus estudios y tu descanso.

2. Cómo buscar trabajo

Esto es sencillo. Al buscar trabajo, su primer objetivo es conseguir una entrevista. Lo más probable es que fracases. Así que no pienses demasiado en conseguir un trabajo de inmediato. Para comenzar, solo necesita asistir a una entrevista. Para que esto suceda, solo necesitas hacer 3 cosas hasta que recibas una invitación en alguna parte:
  1. Crea un currículum.
  2. Envía tu currículum a todos.
  3. Mire los comentarios que recibe. Si no recibe muchas respuestas, entonces su currículum no es atractivo. Lea sobre cómo redactar un currículum, cómo solicitar empleo y cómo escribir cartas de presentación. Vaya al paso 1.
Después de reprobar tu primera entrevista, date una palmadita en la espalda. Dominar un determinado conjunto de conocimientos y participar en una entrevista son grandes logros. El gran error aquí sería darse por vencido. Por supuesto, es desagradable que te rechacen. Pero todo va según lo planeado y estás mucho más cerca del trabajo que deseas. Su próximo objetivo es reprobar otra entrevista. Y luego una más, y luego otra... Y después de cada entrevista, valora lo sucedido. Eche un vistazo a sus lagunas de conocimiento y reduzcalas. No tienes prisa. Lo principal es el esfuerzo constante y ser amable contigo mismo. Estás haciendo todo bien. Un día recibirás una oferta. Este es el destino al que te diriges. Tu merecida oferta. ¡Eres increíble! Cuando hable sobre una oferta, no dude en hacer preguntas. Lo ideal es hacer una lista de preguntas con antelación. Solicite información sobre cómo es el flujo de trabajo. ¿Qué tareas manejarás? ¿Qué pasa si algún día no tienes ganas de trabajar y decides tomarte un descanso? ¿Qué pasa si te enfermas? Respecto al tiempo de vacaciones, ¿se pueden tomar los 28 días consecutivos o no está permitido? ¿Tendrás un mentor? Etcétera. Es mejor hacer todas las preguntas y ponerse de acuerdo en todo desde el principio que recibir una sorpresa desagradable más tarde. Recuerde, en una entrevista de trabajo, el cortejo y la evaluación van en ambos sentidos. Te necesitan tanto como tú a ellos.

3. Cómo sentirse cómodo en el trabajo

Ser uno mismo. No dudes en hacer preguntas. No tengas miedo de cometer errores. Si no entiendes mucho al principio, no te estreses. Al principio todos están confundidos. Comenzará a generar ganancias reales para la empresa en aproximadamente 6 a 12 meses. Mientras tanto, sumérgete en el proceso, estudia el producto y continúa aprendiendo.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION