Está esperando en la recepción del campus de Google en Boulder, Colorado, esperando que comience su entrevista de codificación. Frente a usted en el vestíbulo se sientan otros dos candidatos:
Un desarrollador carismático que hace alarde de airpods que puede encantar a cualquiera en la sala, pero requiere 8 horas agonizantes para que una lista vinculada funcione.
Un prodigio de la programación que escribe juegos en ensamblador, pero es un idiota tan colosal que nadie jugará su juego de todos modos.
¿Cuál de ellos proporcionará una competencia más feroz por el puesto de trabajo? Abordemos la vieja pregunta: ¿Qué es más importante, las habilidades duras o blandas para los programadores?
Primero explicaré de manera molesta qué son las habilidades duras y blandas, pero luego nos sumergiremos en la razón por la que quería escribir este artículo: la analogía del rectángulo . Esta analogía lo ayudará a comprender en qué debe dedicar su tiempo a mejorar para maximizar sus posibilidades de conseguir un trabajo.
Lo primero es lo primero: ¿qué son las habilidades duras? Estas son las habilidades tangibles y medibles que necesita para hacer el trabajo. Como desarrollador, deberá:
Las habilidades duras son el pan y la mantequilla de tu carrera como programador. Son un requisito absoluto para la mayoría de los puestos de programación y demuestran su competencia técnica. De hecho, si solo pudieras tener un tipo de habilidad, las habilidades duras serían más importantes. Después de todo, es bastante difícil escribir código sin saber realmente cómo codificar.
El mundo de la tecnología se mueve a una velocidad vertiginosa, y si no estás mejorando continuamente tus habilidades duras, te quedarás atrás. Recuerda, Roma no se construyó en un día, y tampoco tu experiencia en programación. Invierta tiempo y esfuerzo en aprender nuevos lenguajes, herramientas y técnicas con el tiempo.
No necesita ser un experto en todo , pero necesita saber cómo entregar un código de trabajo que resuelva problemas reales dentro de su dominio. Si desea ser un desarrollador de back-end y trabajar en empresas de SaaS, al menos debería:
Las habilidades blandas, por otro lado, son las habilidades intangibles e interpersonales que pueden darle buenas botas a su carrera. Puede que no sean tan fáciles de cuantificar como las habilidades duras, pero son casi tan vitales. Las habilidades blandas incluyen:
Las habilidades blandas son la salsa secreta que puede impulsar su carrera a nuevas alturas. Facilitan la colaboración y el trabajo en equipo, haciéndole más fácil trabajar con otros y hacer el trabajo. Además, tener habilidades blandas sólidas puede mejorar su satisfacción laboral general y el crecimiento profesional. Después de todo, nadie quiere trabajar con un genio que también es un imbécil.
Las habilidades duras son un requisito para conseguir un trabajo en tecnología, pero asumiendo que la brecha en las habilidades duras entre dos candidatos es similar, en realidad he visto al candidato más carismático y simpático obtener el trabajo sobre el ligeramente más competente técnicamente. ¿Por qué? Los gerentes son personas, y a las personas les gusta trabajar con otras personas que les agradan.
Si tienes una personalidad de mierda, no te preocupes demasiado. No necesitas ser un orador brillante o un maestro de la palabra escrita solo para conseguir un trabajo como programador. La regla número uno debería ser fácil de seguir: no seas un gilipollas. Si haces eso, estás a mitad de camino.
La regla de seguimiento relacionada es equilibrar la confianza y la humildad . Si eres un desarrollador amable y de mente abierta que sabe de lo que hablas, te irá muy bien.
Ahora que hemos explorado las habilidades duras y blandas, profundicemos en la analogía del rectángulo para comprender cómo funcionan juntas. Imagina que tus habilidades duras son del largo de un rectángulo, mientras que tus habilidades blandas representan el ancho.
El área de este rectángulo corresponde a su probabilidad de conseguir un trabajo. Cuanto más grande sea el área, mayores serán tus posibilidades de encontrar un concierto que se adapte a tu conjunto de habilidades.
Esto significa que la ecuación para la probabilidad de su trabajo es:
hard_skills * soft_skills = job_probability
Para maximizar job_probability
con la menor cantidad de esfuerzo, dedique más tiempo a cualquier habilidad que tienda a carecer. El área de un cuadrado es mayor que el área de un rectángulo torcido con el mismo perímetro.
Si estás pensando que esto suena un poco como una hoja de personaje de Dungeons & Dragons donde tienes un número limitado de puntos de habilidad para asignar, no es así como funciona el mundo real. En el mundo real, puedes obtener más puntos de habilidad . Puede sobresalir tanto en habilidades duras como blandas.
Si trabajas duro y das lo mejor de ti, puedes ser un gran programador y una gran persona. No es una situación de uno u otro. En las palabras inmortales de Shia LaBeouf, "¡Simplemente hazlo!"