De la ley al desarrollo de Big Data

Hay muchas formas: ¿cómo encontrar la tuya?

El héroe de este artículo, Roman Mayer, recibió una educación en artes liberales y llegó a TI desde áreas completamente diferentes. Desarrolló su propio negocio, trabajó como gerente de ventas, era abogado y, a la edad de 28 años, se dio cuenta de que aún no había encontrado el trabajo de sus sueños y que era hora de aprender algo nuevo. Dijo por qué decidió ir a TI, cómo estudió programación y qué dificultades encontró en un nuevo campo para sí mismo.

Si tienes amigos que también quieren comenzar a programar, pero no sabes por dónde empezar o te preocupa que todo salga mal, comparte esta publicación con ellos. Si te esfuerzas, todo saldrá bien, y la historia de Roman es un ejemplo.



Empresa propia y trabajo en la especialidad.


Estudié en la facultad de derecho y al mismo tiempo, en mi tercer año, en una escuela de negocios. Hubo mucha teoría y práctica sobre la creación y el desarrollo de un negocio. En ese momento todavía estaba interesado en la literatura sobre efectividad personal y psicología: libros de Stephen Covey, Eric Burn y leía las historias de multimillonarios famosos: Richard Branson, Warren Buffett, Bill Gates. Inspirado por los libros y lo que se dijo en los cursos, pensé que cualquier tarea dependía de mí.

Tuve la idea de comenzar mi propio negocio, tomé licencia académica en la universidad y abrí una agencia de viajes. Era director, pero, dado que la empresa era muy pequeña, de uno a tres empleados en diferentes momentos, hice todo en una fila. Vendió tours, enseñó a sus subordinados, pensó en una política de marketing, preparó informes de impuestos y resolvió problemas legales.

En algún momento, comencé a sentirme decepcionado. Al principio pensé que establecería procesos rápidamente y que solo vendría por dinero. Resultó que esto no funciona: a menudo necesitas dedicar tardes o incluso fines de semana a tu negocio. Además, los resultados financieros no fueron tan impresionantes como esperaba. La agencia siempre obtuvo ganancias, pero nunca supe qué pasaría en un mes, qué cataclismos sucederían en qué país y qué tan exitosas serían las ventas. Como resultado, después de haber ganado una buena experiencia, haber formado una base de clientes, haber crecido varios empleados, vendí la agencia y regresé a la universidad.

La jurisprudencia realmente no me interesaba. Completé las tareas con éxito, pero no me "iluminó". Además, al ver los salarios de los abogados en los sitios de trabajo, pensé que las perspectivas no eran muy buenas. Por lo tanto, no quería trabajar en mi especialidad, y después de defender mi diploma, comencé a buscar un trabajo que me convenga.

Inmediatamente me ofrecieron convertirme en especialista en ventas de productos de préstamos en un banco grande y prometí un buen salario. Sabía que me gustaba hablar, y si realmente me gusta algo, puedo hablar de eso con gusto. Entonces acepté. Los préstamos allí fueron muy rentables para los clientes, y los vendí con éxito. Me gustó este trabajo. Una vez incluso tomé el tercer lugar en términos de ventas entre todos los empleados de las sucursales rusas del banco.

Después de un tiempo, las condiciones han cambiado, los préstamos han subido de precio y no solo necesitaba presentar el producto, sino también manipular a las personas para que lo compraran. Eso no me gusta Entonces me di cuenta de que este trabajo tampoco es para mí.

No sabía qué hacer a continuación, el estado estaba deprimido. Y de repente un compañero de clase, con quien estudiamos en la facultad de derecho, se ofreció a trabajar en mi especialidad. No tenía idea de a dónde ir, y decidí probarlo, me gustará de repente. Durante cuatro años fui abogado. Durante este tiempo, trabajó en varios campos: en una empresa de gestión, en publicidad, alquiler de inmuebles, construcción.

Tal vez me encontré con empresas que no tuvieron éxito, o tal vez el punto está en mi percepción, pero me di cuenta de que este trabajo tampoco me conviene. Básicamente, tuve que lidiar con el trabajo contractual, casi siempre en poco tiempo, y rara vez se encontraron casos judiciales interesantes. Dado que el mercado de abogados está sobresaturado y los salarios son pequeños, pensé que era hora de cambiar el alcance de la actividad.

Cómo encendí el camino de TI


Quizás me convertiría en programador mucho antes. En octavo grado, elegí un perfil técnico y fui a la clase de matemáticas: pensé que tenía una inclinación por esto. Estudié bien, pero la carga era pesada y estaba muy cansado. Una vez que discutimos esto con nuestros padres y llegamos a la conclusión de que los ingenieros no tienen tanta demanda como los abogados y economistas. Entonces me mudé a la clase humanitaria, y luego ingresé al presupuesto de la facultad de derecho. Pero siempre me gustaron las matemáticas y la informática.

Tengo algunos programadores compañeros. Uno de mis amigos, sin una educación especializada, aprendió a programar y se convirtió en un desarrollador exitoso: crea complejos sistemas distribuidos. Me inspiró mucho su historia. Comprendí que esto era real, y no sobre una base altísima. Cuando trabajaba como abogado, mis colegas dijeron que era bueno creando sistemas (por ejemplo, para distribuir el trabajo entre los empleados). Pensé que no estaba tan lejos del desarrollo, y ese trabajo fue fácil para mí. Pensé: "¿Por qué no aprender a programar también?" Luego seguí trabajando como abogado, pero sentí que era hora de cambiar algo.

El trabajo en TI me pareció más cómodo. Horario flexible, sin código de vestimenta: todos usan jeans y camisetas, muchas cosas buenas, en sentido literal y figurado, salarios atractivos y la demanda de especialistas está en constante crecimiento.

Comencé a cavar, qué tipo de desarrollo está más cerca de mí: backend o frontend. En reuniones amistosas se habló mucho sobre programación, y ya entendí un poco qué era qué. Me di cuenta de que quiero escribir un backend. Leí qué idiomas son populares y decidí aprender Java.

Programación desde cero


Comencé a buscar cursos en Internet y me encontré con JavaRush: enseñan el desarrollo desde cero. Comencé a tomar este curso y trabajé en paralelo.

Al comienzo del camino, me resultaba difícil pensar en abstracciones, crear una nueva lógica. Tomó mucho tiempo A veces, durante varios días, pensaba en las tareas que se daban en los cursos.

Comencé con programas elementales, uno de los primeros que escribí podía comunicarse con el usuario. Ella mostró el texto, elegí qué responder y el programa estructuró su trabajo dependiendo de mi respuesta.

Recuerdo cómo creé la primera aplicación multiproceso. Fue genial entender que una lógica se implementa en un hilo, la otra en otro, interactúan y todo funciona.

Seis meses después del inicio de los cursos, me di cuenta de que quería centrarme en el desarrollo y dejé mi trabajo. Estaba preocupado: tenía 28 años, dejé mi carrera legal y no sabía lo que me esperaba. Quería aprender Java lo antes posible. Pero cuando existe esta presión interna, es necesario darse prisa, el tiempo se acaba, se vuelve más difícil de aprender, porque el estrés consume mucha energía.

Un amigo de programación aconsejó leer el libro Java: The Complete Reference. Está escrito en un idioma accesible y proporciona una buena base. También estudié sobre eso.

Varios de mis amigos de desarrollo trabajaron para EPAM, y aprendí de ellos que la compañía ofrece cursos de programación. Hubo buenas críticas sobre la compañía y los cursos, y quería seguir con ellos. Mientras esperaba un nuevo set, decidí tomar cursos sobre Oracle y Java en Sbertekh. Era necesario aprobar una selección decente: de 130 personas que querían tomar el curso, 30 tomaron personas. Mis conocimientos básicos y un poco de experiencia resultaron ser suficientes para entrar en su número.

Después de algún tiempo, comenzó un set para un curso de desarrollo de Java en el centro de capacitación de EPAM. Decidí ir con él. Allí, la deserción también fue grande, fue necesario pasar por dos entrevistas, por teléfono y en persona. Durante la entrevista, evaluaron el conocimiento básico de Java, la capacidad de crear una lógica simple sobre la marcha y comprobaron el nivel de inglés. Como resultado, me llevaron a un centro de capacitación.

Comencé a tomar dos cursos al mismo tiempo: en Sbertekh y en EPAM. La mayoría de las personas con educación técnica estudiaron conmigo. Hubo quienes ya habían trabajado en pruebas o desarrollo. No tenía confianza en mí mismo: no solo venía de un área completamente diferente, sino que era mayor que la mayoría de los muchachos. Pero realmente quería terminar los cursos y conseguir un trabajo. Por lo tanto, todo mi tiempo lo dedicaba a conferencias y tareas. En los cursos estudiamos los conceptos básicos de programación orientada a objetos, clases y métodos en Java, nos familiarizamos con bibliotecas y marcos, y al final creamos una aplicación cliente-servidor en Spring y AngularJS.

Reenviar a lo nuevo


En el verano de 2016, seis meses después del inicio de los cursos, me ofrecieron un trabajo en ambas compañías de TI. Elegí EPAM: quería ir desde el principio, mis amigos trabajaban allí y les gustó.

Hubo un punto interesante: cuando los cursos en EPAM estaban llegando a su fin, se le preguntó a nuestro grupo quién quiere trabajar con Big Data. Todos levantaron la mano excepto yo. Sabía poco sobre esta área, escuché que trabajar con big data no es fácil. Además, casi no tenía experiencia en desarrollo. Solo quería programar en Java, no había grandes ambiciones.

Pero después de la entrevista al final del curso, me llamaron a la dirección de Big Data. Pensé durante mucho tiempo, sopesé los pros y los contras. Pensé esto: por un lado, cuando te llaman a la compañía de tus sueños sin experiencia, no es razonable rechazar o presentar tus requisitos. Por otro lado, me asustaba la complejidad de esta dirección. Pero sabía que esta área era prometedora. Además, antes de comenzar a trabajar en el proyecto Big Data, era necesario tomar otro curso interno en EPAM; esto daba una sensación de seguridad. Y me decidí.

El curso de dos meses resultó ser rico: conocimos diferentes tecnologías: Hadoop, Spark, Kafka, HBase, Elasticsearch, Ignite, Cassandra, Flink. Aprendimos a escribir programas de procesamiento de datos, aprendimos sobre máquinas virtuales, contenedores Docker y otras cosas que los desarrolladores de Big Data necesitan.

Luego, durante tres meses, participamos en el proyecto opensourse para la transmisión de datos por Flink: creamos nuevas funciones o corregimos errores. Fue una experiencia interesante: interactúas con personas de otras partes del planeta y participas en el desarrollo de un sistema tan difícil.

Al comienzo de mi trabajo, tenía un síndrome de impostor. Desde la escuela, solía ser el mejor: estudié perfectamente, era jefe de la universidad. Y luego me sentí peor, porque sabía poco. Pero siempre tomo presión, solo vengo y lo hago todos los días. Al principio, grabé conversaciones con colegas cuando hablamos por Skype, para no volver a preguntar. Con el tiempo, la necesidad de grabaciones desapareció. Comencé a comprender más rápido, mejor hacer frente a las tareas.

Para lidiar con algo nuevo tenía que estar constantemente. Aquí, Google o el consejo de colegas me ayudaron. A veces tenía que leer la documentación, bien, se puede encontrar fácilmente. Aprendí algunas cosas del video.

Dependiendo del proyecto, el desarrollador de Big Data puede escribir en Java, Python, Scala y otros idiomas. Dio la casualidad de que en mis proyectos dominé Scala y ahora programo principalmente en este idioma.

Cuando llegué a TI, me faltaba comunicación. En el gimnasio, facultad de derecho, en trabajos anteriores, había mucho de él. Aquí la gente permanece en silencio durante mucho tiempo, más inmersa en sí misma. Pero si pides ayuda, ellos te ayudarán.

Ahora soy un desarrollador de nivel medio, y mis planes son convertirme en gerente de proyecto. Creo que estará cerca de mí. Ya hice algunas tareas administrativas en proyectos, y resultó bastante bien.

Si quieres convertirte en programador


Tengo varias recomendaciones para aquellos que también quieren cambiar su área de trabajo e ir al desarrollo:

  • Consejo básico: no vayas por dinero, sino por lo que es interesante. Escúchate a ti mismo, ¿qué quieres hacer? Esto se aplica a la elección de la empresa, y la elección de la dirección, e incluso la elección del proyecto, si existe. Si haces lo que te gusta, todos los esfuerzos darán resultado.
  • No intentes dominar todo solo. Haga preguntas, discuta un área nueva para usted con aquellos que la entienden o, como usted, solo están aprendiendo. Esto ayudará a desarrollarse más rápido.
  • Visualiza tus ideas. Solía ​​ser muy difícil para mí imaginar cómo funciona el programa y mantener todo en mi cabeza. Esto ayuda a la visualización, toda o parte de la lógica. Yo uso la herramienta draw.io. Allí puede escribir textos, crear diagramas de flujo, conectarlos, es muy conveniente.
  • Consejos bastante obvios, pero al principio puede ser útil: programa que utiliza el entorno de desarrollo. Cuando instalé IntelliJ IDEA después de varias semanas de entrenamiento, me sorprendió gratamente lo conveniente y agradable que es trabajar.
  • Aprenda no solo lo que necesita, sino también lo que le atrae. Si desea cambiar o comprender un tema más profundamente, no se esfuerce. No tengas miedo de dar un paso al costado. Entonces, con gran placer, aprenderá la base, y si hay vacíos, llénelos. Recordé las palabras de un video en YouTube: si estás hojeando un tutorial de Java, volteando no donde lo necesitas, sino donde es interesante.

Source: https://habr.com/ru/post/446632/


All Articles