• Vacantes para iOS y Android Engineers en Etsy México

    En mi grupo en Etsy tenemos varias posiciones abiertas para iOS Engineers y Android Engineers en México. Aclaro: son posiciones diferentes, tenemos múltiples de cada una; no necesitas saber iOS y Android.

    Los equipos que están contratando trabajan con temas de observabilidad, arquitectura, modernización, y los sistemas de CI/CD.

    Las posiciones son para Senior Engineer (IC3). Típicamente, buscamos que tengas experiencia comprobable en la industria de por lo menos 4 o 5 años, y que hayas trabajado en proyectos complejos. También tenemos otras para gente con menos experiencia profesional; mándame un correo si te interesa.

    En iOS usamos Swift y SwuftUI, aunque todavía hay algunas cosas en UIKit que tenemos que migrar. En Android, la mayoría de la aplicación ya está en Kotlin con Jetpack Compose.

    El rango salarial (base) para las posiciones de IC3 comienza en $1.275 millones, hasta 1.687 millones al año (brutos), sin considerar bonos, PTU y otras prestaciones. 

    El esquema de pago es 100 % nómina. Tenemos SGMM, bono anual del 10 %, fondo de ahorro, PTU, y RSU para todas las posiciones.

    La chamba acá requiere inglés, porque toca trabajar en equipos internacionales (no hay “equipos mexicanos”).

    Las posiciones están abiertas para CDMX y Guadalajara. Si no estás en alguna de esas ciudades, igual manda tu CV, nunca se sabe. Pero sí necesitas estar en México, y poder trabajar aquí legalmente.

    Los interesados en aplicar, deben llenar este form. A los que manden el CV les voy a mandar una invitación a una llamada de Google Meet en los próximos días, para responder dudas que pudieran tener.

    Aquí estoy yo dando una charla en las oficinas de la empresa el año pasado.

  • 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 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.