• Cosas que no te enseñaron en la escuela, pero debes saber para trabajar en la industria del software

    A continuación te comparto cosas que no te enseñaron en la escuela, pero que debes de saber si quieres trabajar en la industria del software.

    1. Tú te pones tus propias metas. En la escuela tenías la comodidad de llevar un “plan de estudios”. Sabías lo que seguía en cada paso. Acá afuera nadie va a entregarte un plan de estudios para tu carrera profesional. Tienes que definirlo por ti misma.
    2. No tienes que pedir permisos. ¿Quieres aplicar para un trabajo? ¿Te urge cambiar de tecnología? ¿Te gustaría ganar en dólares y vivir en LATAM? ¿Tu sueño es trabajar para un unicornio? ¿Lo que quieres es pasar más tiempo con tu familia? Date. Nadie te detiene.
    3. Debes de tomar decisiones por tu cuenta. En la escuela te condicionaban a aprender una metodología preestablecida. Salirte del protocolo era castigado. En la vida real tienes que aprender a tomar decisiones y a hacerte responsables de sus consecuencias. Nada más.
    4. Puedes irte en cualquier momento. Tenía un profe que se quejaba de los alumnos diciendo “es que ustedes creen que las cosas van a ser como ustedes quieran”. ¿Y por qué no? Si estás en un trabajo o situación que no te favorece, ¿para qué te quedas? No te pongas la camiseta.
    5. Se espera que sepas colaborar, no que te sepas todos los lenguajes de programación del mundo. Saber más lenguajes de programación solo significa que sabes más lenguajes de programación. Aprende a resolver problemas colaborando — técnicos, de negocio, de usuario.
    6. Saber hacer la pregunta correcta es más importante que ser una enciclopedia de conocimiento. Expandiendo en el punto anterior un poco. “No es la respuesta de StackOverflow, es que sepas lo que tienes que Googlear para encontrarla.”
    7. Programar es un medio para resolver problemas, no un fin. Sí, yo sé que es bien divertido programar. Te aconsejaría que no te clavaras únicamente en eso. Puedes programar toda la vida y no resolver ningún tipo de problema. Y te van a pagar por resolver problemas.
    8. Una solución que es correcta el día de hoy, mañana puede ser considerada ineficiente. Yo creo que en software no hay soluciones “exactas”, sino soluciones “ideales para la situación actual, con el conocimiento que tenemos”.
    9. Existen lenguajes más aptos para resolver ciertos tipos de problemas. Hay desde “lenguaje especializado” que es complicado de aprender, pero te dará soluciones compactas, a “lenguaje genérico” que es fácil de aprender, pero será lejos del ideal para resolver todo.
    10. Mientras más “escalas” de posición, se trata menos del código y más de las personas. Las habilidades más valiosas de alguien considerado “Sr.” son las sociales y de liderazgo. Gente que programe “bien” hay un montón.
    11. Necesitas una red de apoyo. Sí o sí. Rodéate de gente que te quiera ver crecer y que comparta tus principios y valores.
    12. Aprende a valorar tu trabajo. Costo ≠ Valor.  No cobres por el esfuerzo físico que lleva hacer una tarea. Cobra por el valor del problema que estás resolviendo.

    Originalmente compartí este hilo en Twitter, donde también puedes seguirme.

  • Inteligencia emocional para desarrolladores

    Gran parte del tiempo de mi día se lo dedico a ayudar a desbloquear a otras personas. Te sorprendería cuántos problemas tienen un origen emocional.

    Una de las habilidades que he desarrollado y más me ha servido es la de encontrar formas de comunicar conceptos complejos de maneras que hagan sentido para la otra persona. Cada una de las personas con las que hablo es diferente, y a cada quién le “caen mejor” ciertas ideas de una forma que de otra. Lo que he encontrado, independientemente de la situación, es que una analogía bien aplicada hace que se pueda asimilar mucho mejor un concepto.

    Así que justamente esto te vengo a ofrecer el día de hoy: una analogía para ayudarte a entender, de una vez por todas, lo que es la salud emocional, y por qué es importante que inviertas esfuerzo en ella.

    Las emociones son como un océano. Los sentimientos son las corrientes que recorren ese océano.

    Así como el océano, tu repertorio de emociones está siempre en flujo, cambiante y en constante movimiento. El equivalente a tener un problema en tu vida es un huracán o una depresión tropical de esas que nadie ve, pero tiene efectos reales en las costas.

    Podríamos decir que cada una de las emociones que puedes tener en tu vida representa una masa de agua. Las corrientes marítimas son ocasionadas, entre otras cosas, por cambios en la densidad entre masas de agua (causadas por diferencias en la salinidad o temperatura). Una corriente oceánica es un sentimiento en esta analogía. Al igual que las corrientes, los sentimientos pueden variar de intensidad, profundidad y duración.

    Hay algunos sentimientos que duran toda la vida. Hay otros que desaparecen a los pocos minutos de haberse creado. Unos son lo suficientemente fuertes para arrastrar flotillas de barcos completas, mientras que otros simplemente te sacan un susto en la playa.

    Las corrientes no pueden existir sin el océano, y el océano no podría albergar vida sin las corrientes. Y nuestros sentimientos tienen un origen, así como nuestras emociones necesitan ser expresadas. Y tal como los océanos y las corrientes, los sentimientos y las emociones son simplemente un hecho de nuestra existencia. No podemos ignorarlos, y tenemos que cuidarlos o sufrir las consecuencias.

    Las emociones, al igual que los océanos, pueden navegarse, estudiarse, nutrirse, ensuciarse, limpiarse y moverse. Y si de navegar de una masa de agua a otra se trata, tal como los grandes navíos que atraviesan el mundo de polo a polo, podemos usar los sentimientos para impulsarnos de una emoción a otra.

    Finalmente, así como sería arriesgado intentar navegar un océano sin un mapa (satelital o celestial), lo mismo sucede con las emociones. Si intentamos vivir nuestra vida sin conocerlas, entenderlas, estudiarlas y nutrirlas, nos encontraremos en situaciones complicadas, difíciles de navegar y probablemente fatales. Ir a terapia es un buen precursor para comenzar a desarrollar estos mapas emocionales.

    La inteligencia emocional no se trata de domar o reprimir las emociones, más de lo que ser un buen navegante se trata de calmar el mar cuando se pone duro.

    Ser inteligente emocionalmente se trata de identificar cuando es mejor momento de navegar ciertas emociones, y reconocer lo que necesitarás para que no te hundan. Así como un capitán experto sabrá cuándo usar las corrientes para navegar el océano de manera más sencilla, tú aprenderás a usar tus sentimientos a tu favor, llevándote de una emoción a otra.

    Si eres una de esas personas que necesitan ejemplos y lógica para entender conceptos foráneos, espero que esta analogía te ayude a comprender la importancia de invertir en tu salud emocional. Es importante.

    Ve a terapia.

    Si quieres aportar algo, podemos continuar la discusión en Twitter.

  • 3 consejos para que mejores tu Inglés

    ¡Escucha Inglés para Devs! Un podcast donde Darwin Pinto me explica cómo pronunciar un término de la industria del software, y yo le explico lo que significa. Miles de personas lo escuchan en Spotify.

    Trabajar en la industria del software es un acto de balance entre mejorar tus habilidades técnicas y tus soft skills.

    Como probablemente sabes, el lenguaje por defecto en tecnología es el Inglés. Así que es de vital importancia que, cuanto antes, aprendas a comunicarte en ese lenguaje. No estoy diciendo que si no hablas Inglés no podrás trabajar en esto. Pero sí estoy diciendo que si sabes comunicarte en el lenguaje universal de la tecnología, desarrollarte profesionalmente será una tarea mucho más sencilla.

    Como publiqué hace un tiempo, hablar Inglés ya no es una ventaja competitiva. Es igual (o más importante, algunos argumentan) que saber programar bien.

    Si no sabes por donde comenzar, aquí te dejo algunos tips que comparto cada vez que alguien me pregunta sobre este tema. Estos tips me ayudaron personalmente, y he visto cómo también han ayudado a muchas personas a sobrepasar la barrera del Inglés.

    Lo que importa es que la idea llegue lo menos golpeada posible

    Primero aclaremos algo: no es necesario que hables Inglés perfecto. Con que logres comunicar la idea de manera eficiente es suficiente. Si encima de ello logras dominar las inflexiones, expandir tu léxico y neutralizar tu acento, estarás en el 1% de la población que no habla Inglés como su primera lengua.

    El lenguaje, la comunicación, es una cualidad imperfecta. Al contrario de un lenguaje de programación, que puedes aprender leyendo un manual, el Inglés (o cualquier otro lenguaje) no tiene un proceso de evolución determinado por una organización. Cada quién habla su propia versión del Inglés, y lo único que te toca es intentar apegarte lo más posible a las reglas gramaticales y fonéticas. Todo lo demás es un producto secundario del que lo está hablando, cómo lo aprendió y lo que quiere comunicar.

    Pregúntale a cualquier persona que haya trabajado para un cliente que hable Inglés, o que trabaje en una empresa estadounidense. El día a día de trabajar con personas hablando Inglés es una batalla constante por descifrar qué es lo que están diciendo.

    Sucede lo mismo con el Español, por cierto. Como lo aprendiste desde muy pequeña, sientes que lo dominas y ahora te tomas ciertas libertades para comunicar ideas. Porque lo que importa no es que lo hables perfecto, sino que la otra persona entienda lo que le quieres decir. Estos “atajos“ están determinados por el contexto dentro del cual te desarrollas. Así, mandar código a producción se dice “deployear“, cerrar un Pull Request se dice “mergear“ y eliminar los problemas de tu programa se vuelve “debuggear“. ¿Crees que alguien que no domina el Español va a entender de qué estás hablando?

    Así que no seas tan dura contigo misma. Y si estás pensando que las personas que trabajan en E.E.U.U. hablan un Inglés perfecto, no podrás estar más lejos de la realidad.

    Groovy!

    Exponte a situaciones reales

    Nadie nunca va a hablar como los audios que te ponía tu maestra en el curso de listening. Quítate esa idea de la cabeza.

    El día al día de trabajo usando Inglés se trata, como ya te dije, de descifrar qué es lo que realmente está sucediendo. Y mientras esos audios son una herramienta bastante buena para aprender la manera correcta de pronunciar una palabra, la verdad es que en el día a día no importa tanto como crees. La cosa es que difícilmente vas a lograr desarrollar la habilidad de entender cómo realmente se comunica una persona normal en Inglés si no te expones a situaciones que lo propicien.

    La ventaja de estar vivo en 2021 es que ya no necesitas viajar a Estados Unidos para mejorar tu Inglés. Hoy en día es tan fácil como suscribirte a un podcast y escuchar hablar a dos amigos de la infancia, uno de Boston y otro de Ohio, e intentar descifrar qué es lo que están diciendo. ¿Cómo habrías podido vivir esa experiencia hace 20 años? Viviendo un año en Boston, otro en Ohio, y luego inventándote la conversación en tu cabeza.

    Algunas personas recomiendan películas o audiolibros. Y aunque ciertamente no puede perjudicarte escucharlos, me gustaría que quedara claro que no son situaciones reales. Los medios que están producidos para las masas están, justamente, producidos. Son artificiales.

    Pero un podcast entre dos amigos rara vez va a estar cuidado para que todo mundo le entienda. Y ahí es justo donde sucede la magia.

    Identifica un tema que te llame la atención, busca un podcast en Inglés que hable de ello, and go to town.

    Práctica, práctica, práctica…

    Y para terminar, el consejo principal de este artículo: práctica.

    Práctica, práctica, práctica.

    Cualquier músculo por no ejercitarse se atrofia. Y el Inglés no es una excepción. Ojalá fuera así de fácil, y que pudieras estudiar algo una vez sin olvidarlo jamás.

    Este consejo ata los otros tips en uno solo. Atrévete a escribir y hablarlo sin preocuparte de si está perfecto o no, y hazlo en situaciones lo más parecidas a la realidad posible.

    • Escribe en foros, participa en conversaciones de comunidades adeptas a tu área.
    • Escribe blog posts o documentación en Inglés.
    • Únete a un grupo de Discord de tu videojuego favorito y comenta.
    • Comparte tus opiniones en proyectos de código abierto.
    • Haz entrevistas de práctica.
    • Acuerda con alguna amistad que los jueves únicamente se van a hablar en Inglés.

    El chiste es no quitar el dedo del renglón.

    Y sí, puede ser que te cueste trabajo al inicio, pero ¿qué cosa que valga la pena no cuesta trabajo? Tú puedes.

    P.D. — Escucha Inglés para Devs en Spotify.

  • Por qué importan los 1on1 en equipos de desarrollo

    Profesionalmente, crecí en un ambiente que desde muy al inicio me enseñó la importancia de ver primero a la persona, y luego al profesional. Y aún recuerdo el primer 1on1 (one-on-one, o una plática uno a uno) que tuve con mi líder.

    Hoy sé lo afortunado que fui.

    Aún no tenía tanta experiencia en la industria. Y, como muchos, pensaba que el rol del líder era regañarme, presionarme o criticar mi trabajo (luego entendí que lo que yo pensaba era un líder, en realidad era un jefe). La sorpresa que me llevé cuando en mi primer 1on1 con él, durante una hora, en vez de reclamarme por lo que es lo que estaba haciendo “mal” (a mi parecer), me preguntó que cómo me podía ayudar para que hiciera más de lo que estaba haciendo bien.

    En ese momento fue cuando entendí el trabajo de un líder: crear conexiones con las personas con las que trabaja, entender qué los motiva y buscar la manera en que sus labores diarias sucedan en la periferia de sus intereses personales.

    En una industria que está tan acostumbrada a enfocarse en el aspecto utilitario de las cosas, una conexión humana puede sentirse como una jarra de agua fresca en el desierto.

    A lo largo de mi carrera en software he conocido personas que, a pesar de llevar años trabajando con su equipo, nunca han intercambiado una palabra más allá de un reporte de progreso. Líderes que no saben que su equipo está quemándose porque no están haciendo aquello que los motivó a aplicar a su empresa en primer lugar. Contribuidores individuales que únicamente tienen visibilidad de lo que tienen que hacer de aquí al viernes.

    No es sorpresa que tantas personas estén descontentas con lo que hacen 8 horas al día.

    Si tienes una posición de liderazgo: ¿cuándo fue la última vez que saliste de una llamada con tus reportes y saliste con un mejor entendimiento de qué puedes hacer para ayudarles a tener más éxito?

    Ten 1on1s regulares. Hablen de qué los motiva. Hablen de qué les causa estrés. Haz un esfuerzo por ir más allá del dashboard de Jira, y si algo no está funcionando, entiende por qué. Luego busca la manera de arreglarlo. Sé ese líder que van a recordar porque no solo pedía resultados, sino que ayudaba al equipo a conseguirlos.

    El 1on1 es una oportunidad para ambas partes. No la desaproveches.

  • Trabajo remoto: encuentra uno antes de que sea demasiado tarde

    Deberías de buscar trabajar de manera remota tan pronto como puedas en tu carrera.

    Muchos piensan que para trabajar de manera remota necesitas estar en el pináculo de tu carrera. Que la progresión es Jr., Mid., Sr., trabajo remoto. Pero la realidad es que para trabajar de manera remota se necesitan más soft skills que conocimientos técnicos. Te lo dice alguien que nunca ha trabajado en una oficina en toda su vida.

    Trabajar de manera remota no solamente es atractivo porque (probablemente) te pagarán en una moneda extranjera. Aunque sea bastante relevante para tu calidad de vida, hay algo mucho más profundo a lo que me gustaría que le prestaras atención: trabajar de manera remota es un ejercicio de paciencia, tolerancia y humildad. Tendrás la oportunidad de trabajar con personas de todo el mundo, con pasados completamente diferentes al tuyo, motivaciones diametralmente opuestas y habilidades que ni siquiera podrías haber imaginado que se podrían obtener.

    Al trabajar de manera remota te expondrás a otras maneras de resolver problemas. Ideologías de trabajo que tal vez no hagan sentido para ti; principios y valores que harán cuestionarte si estás haciendo lo suficiente.

    Es por eso que es tan importante que tengas esta experiencia tan pronto como puedas en tu carrera. Porque así no tendrás un marco de referencia de “la forma correcta” de hacer las cosas. Estarás menos viciado, y será mucho más fácil adaptarte al cambio sin juzgar el proceso. Desarrollarás habilidades que te ayudarán a ser mucho más eficiente, productivo y tolerante. Y más que una tecnología o lenguaje de programación, la base de tu carrera será tu tolerancia, eficiencia, adaptabilidad y compasión.

    Como dice Seth Godin, la tolerancia crea resiliencia en los humanos. Tolerancia a diferentes habilidades y preferencias nos ayuda a trabajar con diversidad de pensamiento, técnica y experiencia. La combinación de estos factores produce mejores resultados al final del día.

    Así que no, no te esperes a ser el mejor en cierta tecnología para buscar un trabajo remoto. Exponte al reto.

    Gana perspectiva antes de que encuentres una “forma correcta de hacer las cosas” que funcione únicamente en tu burbuja.

Ayudo a personas que trabajan con software a mejorar sus carreras profesionales.

Los miembros tienen acceso a Pathways, pueden comentar en las publicaciones, interactuar con la comunidad, y muchos otros beneficios. Conoce más.

Agrégame a tu lector RSS, o suscríbete a mi newsletter para recibir los nuevos artículos que publique.