Vitali Shulha: “La gente se da de baja de los Spam; yo, en cambio, me suscribo”.

El autor de este artículo es Vitali Shulha, exitoso gerente de Educación en Sistemas de EPAM.

Vitali Shulha, Talent Development Manager

Infancia: soldadora, microchip, gaveta de cerillos

— Nací en Novopolotsk, Bielorrusia. Me encantaba leer y quería dedicarme a las ciencias y a inventar cosas interesantes. Por supuesto, uno de mis sueños era volar al espacio, que, en esa época, ¡estaba de moda! Siempre me despertaron interés los temas relacionados con las ciencias exactas: física, química y geografía.

De niño, mi actividad predilecta era soldar alguna cosa: crear aparatos caseros con partes de radio. En casa, había varios tipos de soldadoras y tenía también muchas piezas de radio. Eran piezas de radio pequeñitas y todas muy diferentes. Para guardarlas, tuve que comprar como 3-4 cajas de cerillos y pegarlas en una especie de gaveta hecha a medida. Le puse una etiqueta a cada una: aquí están las resistencias 4 Ohm, las 7 Ohm están en la siguiente. No se sabía cuáles funcionaba y cuáles estaban quemadas, pero esas 30-40 cajitas eran mi tesoro.

Photo of a cat with match boxes

Nunca olvidaré la sensación de estar caminando por la ciudad con una bolsa plástica agujereada por la quemadura de una soldadora. En esa bolsa había una soldadora y otras herramientas, como pinzas, alicates, etc. Llevaba todo eso conmigo y me sentía totalmente feliz. Sin exagerar, el 10 % de mi mano izquierda consiste en zonas insensibles a cualquier dolor, porque, cuando uno es diestro, ¿cómo suelda? Sostienes un gran transistor con tu mano izquierda, pero a veces la soldadora se resbala y te terminas quemando la mano. Como resultado, te quedan esas partecitas en las que nunca más vuelves a sentir dolor… El acontecimiento principal de ese período era cuando alguien botaba a la basura un TV. Todos se abalanzaban, agarraban lo que podían, extraían transformadores y microchips. No sé si en esa época se vendían piezas de radio, pero lo que sí sé es que no teníamos el dinero para comprarlas. En un TV viejo que rescatabas de la basura, en cambio, encontrabas todo eso gratis.

Mi interés en las piezas de radio me llevó a la facultad de diseño de la universidad de radio ingeniería, donde aprendí a fabricar semiconductores y microchips; después, hice una práctica divertida en “Integral” (la planta más grande de producción de circuitos integrados de Biolorrusia — Ed.).

Momentos inolvidables: primeros ingresos

Me gané mi primer sueldo trabajando como cargador en una obra. Entonces tendría unos 14 años. Mis amigos y yo decidimos que ya era hora de trabajar. Fuera de la ciudad, se estaban construyendo muchas casas de campo y mi amigo, que era medio año mayor que yo, dijo que tenía la solución. Su idea era sencilla: ir de casa en casa para preguntar si alguien necesitaba trabajadores. Y así, un hombre amable accedió a darnos trabajo.

Por la mañana, hacíamos tareas básicas —apilar ladrillos, trasladar cosas—, y por la tarde, mezclábamos hormigón y lo llevábamos en cubetas hasta una tercera planta. Era muy agotador, ¡pero gané 10 mil rublos! Eso era mucho. Me dieron un solo billete que, según recuerdo, era rosado.

Image of a ten thousand ruble banknote

Más tarde, empecé a hacer negocios con teléfonos celulares. Por aquella época, solo la gente muy rica compraba teléfonos nuevos y los jóvenes nos arreglábamos con usados. Al ver los anuncios clasificados en los periódicos, me di cuenta de que el mismo modelo podía tener precios muy diferentes. Uno costaba $20; otro $30. Le pedí prestados u$25 a mi padre para comprar un teléfono y lo vendí u$30. Luego, compré otro por u$30, y lo vendí a más... Y así empezó todo. Compraba teléfonos, les cambiaba la carcasa, los limpiaba, los volvía a flashear, los ponía a punto y los vendía por un precio más alto.

Trabajo, crecimiento profesional, mudanza

Alrededor del segundo año de estudios, mis amigos me comentaron que las empresas de tecnología estaban buscando contratar estudiantes y que pagaban sueldos decentes.

Tomé los cursos EPAM y recibí una oferta: en ese momento tenía 20 años. Era difícil combinar el estudio de día con un trabajo a tiempo completo —además, no era algo común y los profesores no lo veían con buenos ojos—, pero de alguna manera, me las arreglé.

Trabajé en pruebas automatizadas en varios proyectos durante unos tres años.

Me convertí en asesor en línea de automatización. Primero, impartí un bloque de conferencias; luego, me pidieron que hiciera un segundo, y después un tercero. Al final, presentaba la mitad del programa de mentores del curso. Los chicos con los que trabajaba me sugirieron que asumiera más responsabilidades y ayudara en la coordinación del curso. Yo seguía trabajando en producción entonces, pero ya había hecho una contribución significativa a los programas educativos de la empresa.

Y ahí comenzó un período muy entretenido: comencé a hacer muchos viajes de trabajo, para capacitar y entrevistar personas.

Un día, me ofrecieron la oportunidad de dedicarme a tiempo completo a la capacitación corporativa, no para cargos junior, sino para seniors. Pasé a dirigir el Laboratorio de Automatización de Pruebas de Minsk. Una de las nuevas directrices era lanzar cursos en línea, que eran muy populares.

Entonces, ocurrió lo del COVID, así que nuestra apuesta por lo virtual, que habíamos pensado tan solo hacía unos meses, dio sus frutos. Todo el mundo empezó a cursar a distancia, y nosotros ya teníamos todo preparado.

Me pidieron que desarrollara programas educativos para jóvenes en Georgia. De camino, también me asignaron Uzbekistán, Kazajstán, Armenia y Kirguistán.

Al mismo tiempo, las redes neuronales empezaron a hacerse un nombre. Se hizo evidente que necesitábamos Investigación y Desarrollo, un departamento que se dedicara a desarrollar cosas experimentales, a identificar lo que ocurría en las tecnologías de vanguardia y a probar hipótesis.

Hace unos seis meses, dejé la capacitación de los juniors a buenas manos y me puse a trabajar en IA, I+D y tecnologías innovadoras.

Ahora, mi tarea principal es crear prototipos de métodos experimentales de aprendizaje para empresas y el público en general.

Seguir la tendencia

Cuando comencé a seguir las nuevas tendencias más de cerca, Reddit —que descubrí bastante tarde, tal vez hace unos 4 o 5 años— fue mi mayor fuente de información.  

¡Reddit es lo más! Cuanto más lees, más canales interesantes, llamados subreddits, ves. Algunas personas que desarrollan tecnologías pioneras también lo usan para hacer anuncios. Es una fuente de información clave.  

Hay una diferencia entre los campos de información en ruso y los campos en inglés. He estado en la comunidad de habla rusa durante bastante tiempo. Los memes que mis amigos me envían mediante Telegram son los mismos que vi hace una, dos semanas, o incluso hace un mes, en Reddit. Alguien simplemente se encargó de copiarlos, traducirlos y postearlos en Runet.  

Estoy suscrito a listas de correo personalizadas, y hay muchas. La gente suele darse de baja de los spam; yo, en cambio, me suscribo. Estoy suscrito a muchos boletines informativos sobre economía, inteligencia artificial, etc. No puedo decir que los lea todos, pero al menos hojeo los titulares. 

Cuando algo aparece en las noticias “normales” (mainstream), ya ha pasado un mes o más desde los primeros anuncios. Esto ocurrió con el ChatGPT: escribieron sobre esto en las noticias meses después de que hubiera salido al mercado, cuando la gente ya había tenido la oportunidad de usarlo y de proporcionar las primeras reseñas. Pero el tiempo es valioso y, en nuestro sector, necesitamos probar cosas nuevas. Por eso, ahora, el 99 % de mi investigación se centra en el segmento de habla inglesa. Solo un par de canales que monitorizo están en ruso, y son los pensamientos filosóficos de la gente lo que me interesa.  

Vitaly Shulga

Pasatiempos

En diferentes épocas, he tenido distintos pasatiempos. En los últimos años, me he vuelto bastante perezoso, pero tengo previsto cambiar eso. Quedé atrapado en el “síndrome de la vida aplazada”: cuando cambias temporalmente tus prioridades, quieres volver a los viejos tiempos, pero también está bien quedarse donde uno está ahora, y entonces uno pospone algunos planes, algunas acciones.

A photo of Vitali Shulha in black and white

Siempre he leído mucho: todos los días durante unos 15 años; si no paso la noche en una tienda de campaña en el medio del bosque, entonces sí, leo al menos media hora al día. Me encanta la ciencia ficción.  

Hubo una época en la que toqué la guitarra. Hace mucho tiempo que no practico, pero me gustaría retomar eso.  

Soy aficionado a la fotografía, me encanta tomar fotos con una cámara réflex: entiendo muy bien el proceso desde el punto de vista técnico. También me encantan las computadoras. Hace poco me armé una PC nueva. También filmo distintas zonas de Georgia con un dron, y posteo mis videos amateur en YouTube. Hace tiempo que no los actualizo, pero ya va siendo hora. 

Sobre los cursos

Los cursos que desarrollé fueron surgiendo espontáneamente, ya sea en respuesta a pedidos o bien a partir de teoría y práctica que quería compartir con el mundo.  

El programa de asesoría de automatización que he mencionado antes, ¿para qué sirve? Para convertir a los “no automatizadores” (testers que no utilizan herramientas de automatización) en automatizadores. En algún momento, nos dimos cuenta de que la capacitación de un junior y la de un senior sería más o menos la misma si están cambiando de una profesión a otra, lo que significa que la lista de herramientas que necesitan conocer es más o menos la misma. La profundidad del abordaje puede variar, pero en general es la misma. Por eso, empezamos a reescribir los módulos que teníamos sobre herramientas, frameworks y tecnologías. Y cuando estábamos reescribiéndolos, me di cuenta de que la gente no ve seminarios web de dos horas (a menos que estén filmados por Michael Bay o alguna persona respetada).

Version Control with Git

Entonces, decidimos hacer videos cortos. Tuvimos que replantearnos por completo el método de presentación. Empezamos por lo básico, por lo más sencillo: Git. ¿Por qué es necesario? Cuando trabajas con código, necesitas almacenarlo en algún sitio. Git es un sistema para almacenar archivos de texto: código u otros. Todo empieza con Git, así que lo pusimos primero.  

Añadí cuestionarios y tareas prácticas. Había leído mucho sobre Git antes, tanto en vivo como en línea. Había tomado muchos cursos de capacitación antes de crear el curso. Sin embargo, todo lo que había hecho tuvo que volver a armarse por completo, porque el formato en línea tiene poco en común con el formato de grabación, aunque fue posible reutilizar algunas cosas. 

Software development methodologies

El curso Metodologías de desarrollo de software se creó para explicar las metodologías fundamentales de desarrollo de software a especialistas junior y medios.

¿Qué problema estábamos resolviendo? Si una persona no tiene experiencia laboral, necesita entender cómo debe funcionar todo en un proyecto. Existen buenos libros al respecto, así como artículos: hay muchos, todos diferentes; algunos buenos, otros no tanto, no es necesario leerlos todos.

¿Qué tienen de especial las metodologías? Es un sistema que está descrito de forma inteligente y correcta por sus creadores y autores en determinados libros canónicos. En el curso, pongo de ejemplo el libro canónico de Kent Beck sobre programación extrema. Es un gran libro que explica cómo debería funcionar todo idealmente. En realidad, en los proyectos, las cosas se hacen un poco diferente, no totalmente diferente, pero con algunas diferencias. Por ejemplo, nunca he visto en toda mi carrera un proyecto que se adhiriera estrictamente a una metodología canónica, como salida de un libro. Muchas veces, la gente experimenta cierta disonancia cognitiva cuando comienza a trabajar en un proyecto al ver lo que sucede en contraste con lo que dicen los libros. O se suman a un proyecto, ven cómo suceden las cosas en la práctica y piensan que en todos lados es igual, y así es como se esperaba que fueran TDD (Test-Driven Development) BDD (Behavior-Driven Development), Scrum, Kanban. Pero no es el caso.

Al crear el curso, no me basé tanto en mi experiencia, sino en fuentes originales de cómo se concibió la filosofía de cada metodología. Hablo de los conceptos básicos basándome en la idea original que plasmó el autor. Esto será útil tanto para un junior sin experiencia (los que no conocen las metodologías ni han trabajado en proyectos reales), como para personas que ya han trabajado en proyectos, entienden cómo puede darse en la práctica, pero les interesa conocer formas alternativas de “cocinar” el mismo producto, aunque de forma ligeramente diferente. Y menciono brevemente, sin profundizar en detalles, los métodos informáticos más populares: Waterfall, Agile, Scrum, Kanban, y también añadí Extreme Programming, Test Driven Development y Behaviour Driven Development.

El resultado fue este breve curso de tan solo una hora y media que se puede completar en una tarde.

Al final del curso, recomiendo la lectura de tres libros. Sé que leerlos llevará un poco más de tiempo, pero he llegado a un verdadero repertorio de conceptos.

Maven Build Tool

El curso Maven Build Tool fue creado con el objetivo de ayudar a los principiantes en programación Java a armar sus proyectos de prueba utilizando una herramienta de construcción. Elegimos Maven porque era la más popular y muy fácil de usar. El objetivo del curso era explicar los principios básicos en media hora: cómo crear un proyecto, conectar las dependencias necesarias y preparar el proyecto para publicarlo en Git o GitHub, o unirlo a un proyecto existente.

El curso está orientado a quienes acaban de comenzar a escribir en Java, ya han aprendido su sintaxis y los fundamentos del lenguaje, pero aún no cuentan con la experiencia para construir proyectos grandes y publicarlos. El énfasis principal no está puesto tanto en los desarrolladores como en los testers que desean convertirse en automatizadores y que apenas están empezando a aprender a programar en Java.

Hemos sugerido usar Maven, ponerlo con cuidado en Git, para que todo esté ordenado y sin problemas con sus proyectos.

Continuous Integration with Jenkins

El curso “Continuous Integration with Jenkins” está dirigido a quienes acaban de empezar a aprender programación. Dependiendo del enfoque del desarrollador, Jenkins puede ser la primera o la última etapa del proceso de creación del proyecto. En desarrollo, existe el concepto de “build pipeline”: una secuencia de acciones desde la realización de cambios en el código hasta el lanzamiento de una nueva versión del producto. Puede ser de “integración continua” o de “entrega continua”.

Con “integración continua” nos referimos a cuando, con cada cambio de código, todas las pruebas, la compilación y la integración de los componentes deben hacerse de nuevo. La “entrega continua” solo se diferencia en que al final de esta cadena también hay un despliegue automático del producto en producción.

Jenkins es una de las herramientas más populares y simples de integración continua. El curso abarca los fundamentos del uso de Jenkins, como su instalación y configuración. Ofrece una introducción completa a la herramienta y es ideal para quienes están empezando a encontrarse con la necesidad de una integración continua.

Por supuesto, ahora han aparecido muchas versiones de navegadores de pipelines, pero Jenkins es algo de la vieja escuela que permite desplegarlo en un host local y ser creativo.

Los cursos del autor:

Idioma

El próximo curso en publicarse es Computer Science basics (ru). Originalmente, escribo todos mis cursos en ruso. Primero, porque así me es más fácil expresar mis ideas. Segundo, porque puedo hacer bromas: es más difícil hacerlo en inglés. Además, al aprender algo nuevo, sobre todo algo fundamental, es mejor que sea en tu lengua materna. Puedes leer muchas páginas en inglés, pero no lo fundamental. Cuando necesitas entender conceptos básicos, en igualdad de condiciones... Es como con los libros. Intenté leer a Stephen King en inglés. Es difícil. Las palabras son comprensibles, pero cuando leo una traducción de buena calidad, es el paraíso, lo disfruto. No es un reto, simplemente obtengo placer de una traducción profesional. Y si es algo complejo, leo las notas del traductor: por qué un personaje se llama así, por qué algo se traduce de esta manera... ¡hay mucho trabajo hecho que yo no podría replicar! 

Entonces, la ventaja de este curso es que la gente consume contenidos en su idioma materno y les resulta más fácil de entender que el inglés.   

Por supuesto, para las empresas es más rentable hacerlo todo en inglés. Tenemos 50 oficinas y todo el mundo entiende inglés. Pero para mí es ventajoso hacerlo en ruso y luego traducirlo al inglés, porque al final saldrá un producto de mayor calidad, además de que para un público específico será más fácil percibirlo todo.  

He estado en distintos países y he conocido a gente que veía mis cursos, en Uzbekistán, Kazajstán, Armenia: todos veían el curso en ruso. Incluso en las tiendas me reconocían. No creo que les hubiera pasado lo mismo si lo hubieran visto en inglés. 

Publicaciones relacionadas
Sigue las noticias en tus plataformas favoritas