Cuando hablamos de un desarrollador como candidato para trabajar en una empresa o proyecto, normalmente generalizamos y solemos mencionar dos cualidades que engloban muchas características:
- 💻 Hard Skills (Habilidades duras)
- 💬 Soft Skills (Habilidades blandas)
¿Qué son las Hard Skills?
Las hard skills (habilidades duras) es el nombre con el que se conoce las habilidades de un desarrollador para trabajar con temas técnicos como lenguajes de programación, frameworks, sus habilidades con tecnologías, herramientas, etc.
Existe una tendencia bastante grande a pensar que un desarrollador sólo necesita estas cualidades. Es cierto que son cualidades muy importantes, que sin ellas no podría realizar su trabajo, pero es muy importante que el candidato no posea sólo y exclusivamente estas habilidades.
Ejemplos de habilidades duras serían:
- 💻 Lenguajes (Javascript, Java, HTML, PHP, SQL, etc...)
- 🧰 Frameworks de backend (Laravel, Django, Ruby on Rails, Go, Rust...)
- 👁🗨 Frameworks de frontend (React, Vue, Angular, Svelte...)
- 🔥 Herramientas de automatización y productividad (Terminal, Git, WSL, PowerShell...)
- 📦 Herramientas de servidores y contenedores (Apache, Nginx, Docker...)
- 🌈 Herramientas de diseño gráfico o prototipado (Inkscape, Figma, etc...)
- 💼 Herramientas de gestión de proyectos (Trello, Asana, Jira...)
¿Qué son las Soft Skills?
Las soft skills (habilidades blandas) es el nombre con el que se conoce las habilidades de un desarrollador para relacionarse con otras personas, comunicarse, trabajar en equipo, tener empatía, entender el contexto, etc.
Son cualidades que muchas veces se suelen pasar por alto, pero que muchas personas técnicas no tienen, y que son muy importantes para poder trabajar de forma efectiva en el día a día.
Ejemplos de habilidades blandas serían:
- 💬 Comunicación efectiva
- 🤝 Trabajo en equipo
- 🧠 Pensamiento crítico
- ⏳ Gestión eficiente del tiempo
- 🎯 Capacidad de liderazgo
- 🔄 Capacidad de adaptación
- 🔥 Proactividad e inteligencia emocional
- 🔍 Resolución de problemas
¿Qué es más importante?
Una pregunta muy común que suelen plantearme es: ¿Qué es más importante? ¿Las soft skills o las hard skills? Ambas son habilidades importantes, y obviamente si somos nulos en una de las dos, por mucho que tengamos de la otra, será imposible (o muy difícil) realizar nuestro trabajo.
Sin embargo, muchas empresas suelen considerar que son más importantes las soft-skills. La razón es que las habilidades duras suelen ser más fáciles de aprender, y muchas empresas forman a sus empleados en las tecnologías o frameworks que utilizan y buscan empleados con buenas soft-skills. Por otro lado, si un desarrollador tiene buenas hard-skills, pero es muy malo con sus soft-skills, termina siendo una persona difícil de tratar y es mucho más difícil conseguir que aprenda a mejorar sus soft skills.
Cordialmente se suele decir: «No importa si no tienes conocimientos sobre una tecnología concreta, alguien te puede enseñar. Pero si eres imbécil con los demás, es más difícil.»
¿Es obligatorio saber inglés?
Saber inglés muchas veces suele considerarse una soft skill ya que es una habilidad de comunicación, clave para leer y entender bien documentos técnicos, así como expresarse o comunicarte con efectividad, si se requiere, sobre todo si estamos en un entorno internacional.
¿Es obligatorio saber inglés para trabajar de desarrollador? Es posible que no sea una característica estrictamente obligatoria (es posible ser desarrollador sin saber inglés), pero es importante saber que en ese caso tus posibilidades van a estar muy limitadas.
La mayoría de documentación de desarrollo se encuentra en inglés, las herramientas, aplicaciones o comandos se escriben en inglés, y generalmente, el código se suele escribir en inglés para ser coherente y tener un idioma común con los demás desarrolladores. Especialmente importante, si la empresa trabaja con clientes que hablan en otros idiomas, o tienes compañeros de trabajo que hablan en inglés.
¿Qué nivel de inglés es el mínimo necesario? Como siempre, cuanto más alto sea el nivel, mejor. Pero en el caso de que no lo tengas, lo recomendable es tener un buen vocabulario de inglés técnico, de modo que capaz de utilizar aplicaciones en inglés, leer textos de forma fluida y rápida, ya que como hemos dicho, mucha documentación e información está en este idioma y puede escasear en otros.