Eugene Cozac acerca de convertirse en un desarrollador de alto nivel
Publicado: 2022-10-26TechBullion: ¿Cómo llegaste a la programación?
Eugene Cozac: Al crecer, descubrí mi interés por las matemáticas y las ciencias STEM. Comencé a programar por mi cuenta y, por supuesto, cuando terminé la escuela secundaria, estaba 100 % seguro de que quería trabajar en TI. Entonces, obtuve un título en Ingeniería Informática de la mejor Universidad de Moldavia. Antes de dedicarme a la programación ensamblé más de 300 computadoras ya que mi primer título fue en Ingeniería Informática.
TechBullion: ¿Cuál fue uno de los proyectos más desafiantes para usted al principio?
Eugene Cozac: Bueno, no puedo decir que tuve algunas dificultades al principio. Pero hubo uno en el tercer año de mi carrera cuando me convertí en desarrollador front-end para Samsung Pay. Como yo era el principal desarrollador de interfaz de usuario de Samsung Pay Promotions, estaba a cargo de todo. Samsung Pay tenía más de 15 millones de usuarios en ese entonces, y cualquier problema o error podría influir en su experiencia. Si algo salía mal en un momento dado, todos los usuarios podían verlo. Así que fui muy cuidadoso y traté de ofrecer la mejor calidad posible.
TechBullion: Por lo general, las personas se especializan en un ámbito limitado de lenguajes de programación. ¿Cómo terminaste siendo tan completo en términos de lenguajes de programación?
Eugene Cozac : Por lo general, la trayectoria profesional de un desarrollador es básicamente una promoción de nivel Junior a Senior a lo largo del tiempo, con las mejoras de su conjunto de habilidades. Pero esto no es suficiente. La mayoría de los desarrolladores probablemente trabajarían en la misma empresa y en el mismo proyecto durante un par de años, pero esta no es la forma en que puede convertirse en el 1% superior de los desarrolladores. Además, las personas no necesariamente pueden intercambiar proyectos muy rápido, y si quieren mudarse a otra empresa, esto puede convertirse en un desafío. Lo que quiero decir es que muchos desarrolladores están en su zona de confort, lo cual también está bien. Al mismo tiempo, incluso los desarrolladores sénior no siempre estarían dispuestos a asumir la responsabilidad de ser el jefe del proyecto, simplemente están haciendo sus tareas. Probablemente, tiene que ver con una personalidad% la mayoría de la gente simplemente no quiere participar en hackatones, ser parte de la ciencia o construir algo que resuelva un problema en la programación. Son un poco perezosos y se mantienen bien en su zona de confort. Siempre tuve curiosidad, y mi capacidad para aprender varios idiomas proviene de mi voluntad de resolver el problema de la mejor manera posible en lugar de simplemente poder codificar en otro idioma.
TechBullion: ¿Participaste en algunos hackatones o sprints de programación?
Eugene Cozac: No realmente. Sé que muchos desarrolladores pueden probar sus habilidades en hackatones, pero creo que lo más importante es tratar de construir tantos proyectos como puedas y trabajar en diferentes entornos. Es cierto que los desarrolladores a menudo quieren demostrar a los demás o a sí mismos lo geniales que son a través de los hackatones, pero, en cuanto a mí, otra forma de demostrar sus habilidades es construir su propio marco en JS/CSS y hacerlo público o implementar su marco en una empresa en la que está trabajando. Y allí para demostrar por qué esta empresa debería usar su propio marco, pero no React o Bootstrap, o Material UI. De todos modos, solo el 1% de los desarrolladores gana hackatones, creando su propio marco puede construir algunas plataformas que serán reutilizables para millones de usuarios.
TechBullion: ¿Cuál fue su producto de construcción más rápida? ¿Cómo interactuó con el equipo durante el proceso?
Eugene Cozac: Por lo general, los desarrolladores trabajan en un entorno Agile y tienen varias tareas por sprint (2 semanas). ¿Qué hacer si estas tareas se dividen en 2 semanas, pero puedes hacer todo en 3 días? No todas las empresas son éticas para pedir más tareas porque somos iguales, y además los Project Managers están planificando una cantidad de trabajo para todos los desarrolladores. Pero tuve una situación en la que era contratista de una empresa en la que solo era un desarrollador, y por eso elegí esa empresa. Para mí no era tan interesante trabajar en una pequeña cantidad de tareas, quería construir una aplicación web para una empresa yo solo, por ejemplo, en lugar de 5 desarrolladores. En 11 meses creé un sistema CRM desde cero hasta el final, hubo trabajo de API, UI y UX. Este proyecto se realizó muy rápido con una gran cantidad de funcionalidades como la gestión de proyectos, el seguimiento del inventario, la generación de facturas, la creación y gestión de presupuestos, así como el seguimiento del inventario mediante GPS. No tengo información actualizada, pero este CRM se venderá como suscripción debido al pequeño nicho de negocio: la acústica en la construcción.
TechBullion: ¿Qué se necesita para ser un desarrollador de primer nivel?
Eugene Cozac: Muchos desarrolladores pueden responderte que la experiencia es lo más importante si quieres ser un desarrollador de primer nivel, pero esto no es necesariamente cierto. Conozco a muchos desarrolladores que tienen más de 10 años de experiencia, pero muchos proyectos o diferentes tareas complejas pueden ser un desafío para ellos. Esto puede explicar por qué a alguien le lleva entre 7 y 8 años convertirse en desarrollador sénior, mientras que a otros les lleva solo 4 años. Entonces, el mejor enfoque es desarrollar sus habilidades excepcionales y la forma correcta de resolver tareas y luego experimentar. Al mismo tiempo es bueno hacer entrevistas en desarrollo por encargo: hice más de 100 entrevistas para varios clientes. Como dije, demostrar tus excepcionales habilidades y destrezas en programación es implementar un proyecto en tu propio marco en la empresa para la que estás trabajando. Esto significa que no solo conoce los lenguajes de programación y cómo usar los marcos, sino que también puede crear su propio marco y demostrarle a la empresa que lo usa. Entonces, en base a su propio marco, construirá un producto que usarán millones de usuarios. Creo que esto puede hacer sólo el 1% de los desarrolladores. Por ejemplo, estoy creando mi propio marco de interfaz de usuario que se puede usar en combinación con React, el nombre es Krypton. Todavía no está terminado, pero para uno de mis clientes actuales, estoy usando partes de Krypton para construir un nuevo proyecto. Entonces, el cliente actual no está usando mi marco en su totalidad sino parcialmente, pero espero que hasta que terminemos el proyecto para este cliente, mi Krypton estará terminado, y más del 60% del proyecto se construirá en Krypton. Además, un buen consejo para ser un desarrollador de primer nivel es escribir publicaciones científicas en revistas profesionales, tengo más de 25 de ellas. Además, realicé más de 100 revisiones de artículos por pares porque, como desarrollador, no solo debes ser parte de la programación, sino también parte de la ciencia.
TechBullion: ¿Cuáles son sus habilidades más fuertes?
Eugene Cozac: Yo diría, la capacidad de unirse a cualquier proyecto en cualquier marco de tiempo. Estuve en diferentes situaciones desde que comencé el proyecto desde cero o cuando me uní cuando el proyecto estaba en progreso. Muchas compañías le dan tiempo alrededor de 2 a 3 semanas para entenderlo, por lo general, para mí toma 2 días. Los desarrolladores con habilidades excepcionales pueden comprender cualquier proyecto y comenzar a solucionar problemas o realizar tareas en días, no en semanas. Además, puedo trabajar en 4 proyectos al mismo tiempo. Supongo que solo el 1% de los desarrolladores pueden hacer eso, me refiero a todo tipo de desarrolladores, desde Junior hasta Tech Leads. Tuve la experiencia de trabajar en 2, 3 y 4 proyectos al mismo tiempo, y entregando muy buenos resultados, además, en todos ellos, soy al menos Senior o líder de equipo para alrededor de 4 desarrolladores. Además, en este nivel, debe poder asesorar a otros desarrolladores de Junior a Senior. Trabajar también muy rápido no solo en proyectos del día a día, sino también para construir algo así como un marco de código abierto, escribir publicaciones científicas, etc. Calidad. Velocidad. Diversificación.
TechBullion: ¿Qué idioma fue el más desafiante para usted?
Eugene Cozac: No creo que ningún marco o lenguaje sea muy desafiante, una vez que conoces un lenguaje de programación, otros son similares, solo tienen algunas otras reglas, o un marco puede tener menos o más características. Para un desarrollador de habilidades excepcionales no existe ningún lenguaje de programación desafiante.