• La diferencia entre management y liderazgo

    Management y liderazgo no son la misma cosa. El manager es un rol que se juega en un equipo. El líder es más una forma de ser de alguien que no depende de un rol para ejercer su <a class=”relative pointer-events-auto a cursor-pointer

    underline
    ” href=”https://oscarswanros.com/glosario/sentido-de-agencia/” target=”_blank” rel=”noopener nofollow ugc”>agencia.

    Un líder puede llegar a ser un excelente manager si quiere. Pero no está limitado por su rol, pues encuentra la manera de ser una buena influencia para el equipo.

    Un manager sin habilidades de liderazgo puede llegar a tener un efecto adverso en su equipo. Sí, va a llegar a las metas, pero va a terminar quemando a las personas que trabajan con él o ella.

    El manager, idealmente, también es un buen líder. Si las habilidades de liderazgo no le vienen de manera natural, no hay tanto problema, pues a final de cuentas son comportamientos que se pueden aprender: coaching, comunicación y feedback efectivos, delegar, etc.

    Pero lo importante es entender la diferencia entre el rol y esa forma de ser. Y saber aceptar qué se te da naturalmente y qué no.

    Lo peor que puede pasarle a un equipo es tener un manager que llegó al rol por las razones incorrectas: buscar control, status, necesidad de que lo aclamen, ego.

    Recuerda que las personas no renuncian a empresas. Renuncian a managers.

    Algunos libros que recomiendo para pintar una mejor imagen de cómo empezar a integrar estas ideas en tu día a día:

    Originalmente, respondí esta pregunta en mi AMA en r/taquerosprogramadores

  • Cualidades más importantes para un manager

    Cualidades que considero esenciales para un buen manager:

    • Empatía y compasión
    • Vocación de servicio
    • Comunicación efectiva y eficiente
    • Bajo ego
    • Atención al detalle
    • Interés genuino por trabajar con personas

    Cualquier manager que tenga estos aspectos de su persona bien desarrollados, tiene muy buenas probabilidades de tener éxito en el mercado (depende, claro, de la industria y las expectativas de la empresa. Algunas lo que quieren son capataces que sepan usar Excel 🤷‍♂️).

    En cuanto a metodologías, supongo que no te haría daño saberles a las metodologías ágiles, SCRUM, etc., que son las que más te van a pedir.

    Pero aquí está el problema: muchos managers piensan que su rol es aplicar lo que dice el libro al pie de la letra, y en el proceso terminan dañando al equipo más de lo que lo ayudan.

    Todas estas metodologías deberían de funcionar, desde mi perspectiva, como un punto de partida, pero no como un fin. Tengo una frase que me ha metido en muchos problemas, porque digo que esas metodologías solamente les funcionaron al 100 % a los que las inventaron.

    En la práctica, he visto muchos equipos, productos y proyectos sufrir en vano, nada más porque las personas a cargo no tienen la sensibilidad para identificar que algo no está funcionando. Prefieren seguir el librito, antes de tomar una decisión bajo su propio criterio que no esté alineado con lo que dice el manual.

    Es más, agrégales a las cualidades de arriba, una más: tener criterio propio.

    He escrito anteriormente sobre mi camino hacia la ruta de carrera en management:

    Originalmente, respondí esta pregunta en mi AMA en r/taquerosprogramadores.

  • Mis consejos si vas iniciando tu carrera en programación

    1. No idealices la carrera. Desarrollar software es una chamba como cualquier otra. Por lo menos cuando yo comencé (por ahí de 2009), que todavía no estaba tan democratizado el acceso a la educación en el área, las personas que nos dedicábamos a esto teníamos un aura de privilegio enorme. Fue muy sencillo para mí (y varios de mi generación) creernos que éramos especiales; até mi identidad a la profesión, y me costó mucho sanar mi relación con mi trabajo cuando me dejó de gustar.
    2. Lo que más te gusta no es necesariamente lo que más te va a pagar. Las dinámicas de mercado, oferta y demanda, tienen el mismo efecto en el laboral que en cualquier otro. Asegúrate de que tus habilidades están bien diversificadas y balanceadas; no pongas todos tus huevos en una sola canasta.
    3. Habiendo dicho eso, si lo que te gusta hacer también es algo con buena demanda, ¡felicidades! Sacaste el boleto ganador. Pero no es para siempre; eventualmente, las necesidades del mercado van a cambiar, y probablemente tengas que reajustar tus prioridades. Y está bien, es parte del ciclo. Eres adaptable.
    4. Más que la tecnología, piensa en qué tipo de problemas quieres resolver. El framework, lenguaje, etc., de moda ahorita, va a dejar de ser relevante en 10 años. Pero los problemas no se van, solamente evolucionan. Y cada vez más el código es menos importante para tener una carrera en desarrollo de software. Así que, en vez de clavarte con tal o cual tecnología, clávate con el usuario al que le estás resolviendo un problema.
    5. Encuentra un hobby que no tenga que ver con programar. Mientras más pronto mejor. Lo que hace falta en la industria son más personas que puedan pensar en otra cosa que no sea código. Y entiendo que te gusta tanto lo que haces que va a sonar tentador pasar tu tiempo libre en eso, también. Pero a la larga, tu carrera, tus usuarios, tus compañeros, se van a beneficiar mucho más de que tengas perspectivas y experiencias diferentes. Además de que va a ser más fácil que encuentres tu balance vida/trabajo cuando llegue el momento.

    Originalmente, respondí esta pregunta en mi AMA en r/taquerosprogramadores

  • Estoy haciendo un AMA en r/taquerosprogramadores

    Estoy haciendo un AMA (Ask Me Anything) en r/taquerosprogramadores:

    Comencé mi carrera en 2009. Desde entonces he trabajado de manera remota para empresas de EE. UU. y Europa — no conozco lo que es trabajar desde una oficina corporativa. Mi primer empleo con nómina y prestaciones lo tuve en 2020; antes de eso era puro freelance y contractor.

    Actualmente, trabajo para una empresa estadounidense desde Guadalajara (no es FAANG, pero sí líder de industria).

    Algunos otros factos:

    • Probablemente en tu iPhone o iPad tienes aplicaciones instaladas que tienen código que yo escribí.
    • Este es mi 5.º año como Engineering Manager. Tengo ~15 personas a mi cargo.
    • Durante un tiempo estuve muy activo en la comunidad open source, sobre todo hace unos diez años que salió Swift. Me gustó tanto que me intenté meter a contribuir al compilador. Si no estoy mal, por ahí debe de haber un par de commits míos en el repo de Apple.
    • He tenido la oportunidad de participar como ponente en varias conferencias internacionales, en USA y Asia.

    Si de algo les puede servir mi experiencia y perspectiva, AMA!

    Voy a estar echándole un ojo y respondiendo las preguntas durante el día.

  • Entrevistas técnicas en la era de la inteligencia artificial

    Con la inteligencia artificial cada vez más presente en todos los aspectos de nuestra vida, tenemos que hablar de su impacto no en el empleo tal cual, sino en el proceso de conseguir un empleo.

    Recientemente, discusiones en foros de internet se han centrado en el papel del uso de la IA en los procesos de entrevistas. Muchos usuarios han compartido sus experiencias desde sus perspectivas particulares: como candidatos, entrevistadores, y reclutadores. Estas discusiones nos ofrecen una visibilidad increíble dentro de los procesos más importantes de nuestras carreras. Y creo que debemos de aprovecharlas.

    Por eso, me di a la tarea de recopilar las lecciones que creí más relevantes de estas discusiones, y organizarlas de una manera digerible. Esta es una fotografía del momento de que estamos viviendo en la industria, y de ninguna manera es el final de la evolución de las prácticas de entrevista. Al contrario, opino que es solo el principio.

    Algunas de las fuentes están enlazadas al final del artículo, para que las puedas leer por tu cuenta.

    1. Las entrevistas están migrando de pruebas algorítmicas a desafíos del mundo real

    Con la inteligencia artificial haciendo que los problemas tradicionales de código sean triviales, muchas empresas están cambiando el enfoque de sus entrevistas hacia la resolución de problemas en escenarios del mundo real, diseño de sistemas y ejercicios de depuración en lugar de solo evaluar la capacidad para resolver acertijos algorítmicos. Esto es un cambio marcado con respecto a las prácticas de entrevistas que veníamos viendo en la industria, pero uno que creo que hace sentido, incluso si no tuviera nada que ver con la aparición de la IA.

    ¿Cómo aplicarlo si eres reclutador? Reformula las pruebas técnicas para centrarse en cómo los candidatos enfrentan problemas de la vida real dentro de su área. En lugar de evaluar solo conocimiento técnico, busca entender cómo razonan y toman decisiones bajo restricciones.

    ¿Cómo aplicarlo si eres candidato? Las empresas van a comenzar a favorecer a los candidatos que demuestren alguna sensibilidad para aspectos que la inteligencia artificial todavía no puede procesar, como diseño de producto o procesos de negocio. Enfócate en entender cómo resolver problemas en contexto. En lugar de memorizar soluciones a problemas comunes, practica explicando por qué eliges una solución sobre otra. Si es posible, revisa problemas recientes en tu industria y piensa cómo los abordarías.

    2. Evaluar la capacidad de los candidatos para usar inteligencia artificial en el trabajo

    En vez de prohibir el uso de IA, algunas empresas han optado por evaluar qué tan efectivamente los candidatos la incorporan en su flujo de trabajo. La clave es distinguir entre alguien que solo copia respuestas generadas por inteligencia artificial y alguien que sabe cómo integrarlas estratégicamente en su craft.

    ¿Cómo aplicarlo si eres reclutador? Diseña preguntas que requieran el uso de inteligencia artificial, pero que exijan justificación. Por ejemplo, pide que los candidatos resuelvan un problema con IA y luego expliquen sus decisiones, identificando sus limitaciones y oportunidades de mejora.

    ¿Cómo aplicarlo si eres candidato? Las empresas están buscando personas que puedan utilizar la IA como una herramienta usada con criterio, no como una solución única para todos los problemas. ¿Copiar y pegar sin entender qué estás haciendo, o por qué? Eso lo puede hacer cualquiera. Practica integrar inteligencia artificial en tu flujo de trabajo sin depender totalmente de ella. Antes de una entrevista, haz ejercicios en los que uses IA para mejorar soluciones en lugar de generarlas desde cero. Ten claros los trade-offs de cada herramienta que utilices y prepárate para explicarlos.

    3. La comunicación y el criterio importan más que la ejecución técnica

    Cada vez más reclutadores están priorizando la habilidad de los candidatos para explicar su proceso de pensamiento y los trade-offs de sus decisiones por encima de la ejecución pura. Hoy en día, que el costo de obtener respuestas que a simple vista parecen correctas, es más importante que nunca para las empresas que sus empleados tengan la capacidad de entender el contexto dentro del cual están ejecutando. Y una de las mejores maneras de buscar esto en una entrevista, es observar si el candidato únicamente llega con la respuesta del examen, o también te muestra el desarrollo del problema.

    ¿Cómo aplicarlo si eres reclutador? Introduce preguntas abiertas en tus entrevistas. Por ejemplo, en lugar de evaluar si un candidato puede resolver un problema, pregúntale cómo lo abordaría, qué alternativas consideraría y cómo justificaría su elección final.

    ¿Cómo aplicarlo si eres candidato? No te enfoques solo en encontrar la solución “correcta”, sino en explicar tu razonamiento. Antes de la entrevista, practica respondiendo preguntas en voz alta, estructurando tus respuestas en pasos claros y destacando las razones detrás de cada decisión. Como escribí en 2021, te tienes que poner a refinar tus soft skills si quieres que tu carrera se mantenga vigente.

    4. El riesgo de currículums y respuestas generadas por inteligencia artificial

    Algunos reclutadores ya están descartando candidatos cuyas aplicaciones parecen generadas por IA, ya que perciben una falta de autenticidad o de interés por parte del candidato. Si tu currículum está obviamente hecho con inteligencia artificial, podrías estar mermando tus posibilidades de encontrar un trabajo sin darte cuenta.

    También han detectado que, en entrevistas, algunos aspirantes intentan usar inteligencia artificial en tiempo real para responder preguntas, lo que se hace evidente por los tiempos de respuesta y la falta de coherencia en las explicaciones. Esto no es algo necesariamente malo, pero puede dar la percepción de que el candidato está queriendo hacer trampa. Recuerda que la IA es una herramienta más. Si la vas a usar, que sea de manera responsable, y no a escondidas.

    ¿Cómo aplicarlo si eres reclutador? Ajusta el proceso para evaluar la autenticidad del candidato. Una forma efectiva es pedirle que describa experiencias previas en detalle, enfocándose en aprendizajes y errores, en lugar de permitir respuestas genéricas que podrían haber sido generadas automáticamente.

    ¿Cómo aplicarlo si eres candidato? Evita enviar un CV genérico generado por IA sin revisarlo. Personaliza cada aplicación resaltando experiencias específicas. En la entrevista, usa ejemplos personales y anécdotas que muestren tu experiencia real, en lugar de respuestas vagas o demasiado perfectas.

    5. El regreso de entrevistas en vivo y paneles

    Para evitar la dependencia de inteligencia artificial en entrevistas técnicas, algunas empresas están volviendo a dinámicas en vivo como el desarrollo de problemas en pizarrones, entrevistas en panel y desafíos en tiempo real. De alguna manera, esto es para forzar a los candidatos a mostrar su humanidad en el proceso de entrevistas, lo cual es esperado, aunque puede parecer invasivo o innecesario para muchos candidatos. Sin embargo, como dije antes, la tendencia está marcada en esa dirección.

    ¿Cómo aplicarlo si eres reclutador? Evalúa si tiene sentido para tu empresa implementar ejercicios en los que los candidatos tengan que demostrar habilidades sin apoyo externo, como pair programming en vivo o resolver un problema técnico explicando cada paso en voz alta.

    ¿Cómo aplicarlo si eres candidato? Practica la resolución de problemas en tiempo real. Si es posible, únete a comunidades que hagan live coding o ensalla entrevistas con colegas o amigos. También trabaja en tu habilidad para pensar en voz alta y estructurar tus respuestas de manera clara. Tener la confianza en tus habilidades de comunicación será más importante que nunca si te toca una entrevista de este tipo, así que mientras más cómoda te sientas explicando tu proceso de pensamiento, mejor.

    6. El problema no es nuevo; solo se volvió más evidente con la inteligencia artificial

    El elefante en la habitación es que las entrevistas técnicas ya eran poco efectivas antes de la IA: muchos procesos de entrevistas simplemente evaluaban la capacidad de memorizar problemas de LeetCode en lugar de habilidades relevantes para el trabajo. Incluso hay (¿había?) toda una industria dedicada a explotar esto. Libros como Cracking the Coding Interview, que te muestran cómo resolver problemas de programación (y ojo, que mantengo que “programación” ≠ desarrollar software) se volvieron extremadamente populares, y hasta “lecturas requeridas” en la industria. Desafortunadamente, muchas personas lo que hacían era memorizar los pasos para resolver un problema, en vez de integrar el conocimiento para poder derivarlo por ellos mismos.

    Pero ahora, que se ha obviado la necesidad de comprar un libro, leerlo, y memorizar los pasos, es mucho más evidente el problema: muchos candidatos no saben cómo resolver problemas reales; únicamente saben escribir código.

    ¿Cómo aplicarlo si eres reclutador? Enfoca las entrevistas en evaluar habilidades transferibles y pensamiento crítico en lugar de conocimiento arbitrario. Considera pedir a los candidatos que adapten una solución generada por inteligencia artificial a nuevas restricciones en lugar de solo evaluar si pueden escribir código desde cero.

    ¿Cómo aplicarlo si eres candidato? No te limites a practicar problemas de LeetCode sin contexto de negocio. Enfócate en comprender patrones y enfoques generales para la resolución de problemas del mundo real, sobre todo de la industria en la que te quieres especializar.

    Fuentes

    Aquí tienes algunos de las discusiones en foros que usé para este artículo: