Cómo evaluar las habilidades de los desarrolladores de Python

Publicado: Última actualización:
Python: preguntas de entrevista a un ingeniero de software

Si estás buscando una persona con habilidades de desarrollo de Python, debes saber que encontrarla es sólo la mitad del viaje. Así que incluso si puedes encontrarlos, puede que te cueste un esfuerzo extra entender qué son realmente las habilidades de Python. El verdadero conjunto de habilidades de Python es algo complejo de entender, pero aquí presentamos a un experto en el campo, Wojtek Erbetowski para sacar el tema a la luz.

1. ¿Qué es Python?

Python es uno de los lenguajes de programación más populares (ocupa el segundo lugar según el Índice TIOBE a partir de septiembre de 2021). Fue lanzado por primera vez en 1991 y ganó su popularidad por ser sencillo de aprender, pero potente en la resolución de problemas. La sintaxis es similar a la de la familia C++, pero está equipada en una variedad de soluciones modernas.

Las principales ventajas de Python son:

  • Curva de aprendizaje plana. Trae a usuarios con poca experiencia técnica, como académicos para la investigación, o empresas para la automatización.
  • Es propiedad de una fundación independiente de software de Python (PSF) y guiada por la comunidad.
  • Poderosas herramientas científicas (por ejemplo, SciPy).
  • Buena documentación y apoyo de la comunidad. Esto incluye muchos grupos de usuarios locales y conferencias.

2. ¿Qué es importante que un reclutador de IT sepa sobre Python?

Ya que Python tiene una variedad de usos. A menudo es difícil distinguir los candidatos de los académicos, desde la programación de redes y aplicaciones web hasta la simple escritura. Sin embargo, a menudo es más fácil para un desarrollador aprender un nuevo Python que cambiar su dominio (por ejemplo, de ciencia de datos a aplicaciones web).

En 2007 se publicó la versión 3.0 de Python. Fue rechazada por la comunidad debido a la incompatibilidad hacia atrás. Dicho esto, en 2020 94% de los usuarios de Python cambiaron a Python 3.

Python se escribe dinámicamente, lo que facilita la escritura y el desarrollo de pequeñas aplicaciones. A menudo se dice que trae dificultades para construir aplicaciones grandes y duraderas.

3. ¿Cómo verificar las habilidades del desarrollador de Python en la fase de selección?

La exploración es agotadora, ardua y lleva mucho tiempo. Por lo general, los reclutadores de TI recurren a la selección de currículos, a la selección técnica (pruebas de codificación) y a las entrevistas para evaluar las habilidades en Python.

A continuación encontrará algunos consejos útiles y prácticos de reclutamiento sobre cómo verificar las habilidades en Python usando cada método.

3.1. Revisión técnica de las habilidades de los desarrolladores de Python basada en el CV

Afortunadamente (para el reclutamiento), Python tiene menos bibliotecas y tecnologías para investigar, que por ejemplo Java. Sin embargo, una serie de cosas pueden ser confusas.

Lengua python Versiones populares 3.7, 3.8, 3.9, 3.10
Marcos web en Python Django, Flask, Bottle, Tornado, web2py, FastAPI
ORM SQLAlchemy, Django ORM, peewee
Construir herramientas Herramientas de configuración, pip, tox
Los marcos de prueba UnitTest, py.test
Asyncio Pitón 3.5, Tornado, Retorcido
Herramientas de análisis de datos NumPy, SciPy, Pandas, PySpark

Lo más destacado:

  • Python 2 y 3 son muy diferentes. Python 2.7 es la última versión de Python 2. La versión de Python 3 está evolucionando y la última versión es la 3.10
  • Asyncio sólo se encuentra en Python 3.
  • Tornado, Twisted, Gevent son todas librerías para programación asíncrona.
  • Django es, de lejos, el marco de trabajo más popular de la web.
  • La biblioteca de pruebas unitarias está incorporada en el idioma, por lo que rara vez se menciona por separado.

Certificación

La Comunidad Python no ofrece ningún programa de certificación. Por lo tanto, es raro encontrar algún certificado (independiente) para el lenguaje o las bibliotecas de Python.

Los desarrolladores de la pila completa

Fullstack a menudo significa que un desarrollador de Python también puede crear páginas HTML con CSS y JavaScript. Las habilidades del frontend son bienvenidas y la mayoría de Conocimientos de exploración de JavaScript se aplica aquí.

3.2. Revisión técnica de las habilidades técnicas de Python durante una entrevista telefónica/vídeo

Como es bastante difícil sacar conclusiones fiables sobre las habilidades de programación del candidato a partir del propio currículum, los reclutadores de TI a menudo realizan una entrevista telefónica o en vídeo. Tal entrevista da la oportunidad de hacer preguntas sobre sus habilidades en Python. En muchas empresas esta entrevista técnica por teléfono o vídeo es la base para tomar la decisión de invitar a alguien a una entrevista técnica in situ con el equipo de TI o no, por lo que vale la pena elegir y hacer las preguntas técnicas adecuadas.

Como las preguntas en sí mismas pueden variar según el puesto para el que se esté reclutando y las habilidades específicas que se quieran verificar, en base a mi experiencia recomendaría seguir las preguntas generales para saber más sobre las habilidades del candidato en pitón:

A. Pregunta de la entrevista de Python sobre la experiencia del desarrollador

  • Q1: ¿Con qué tecnologías de las que figuran en su currículum tiene experiencia comercial en los últimos 2 años? ¿Cuáles eran sus responsabilidades? ¿Cuál fue su mayor logro?
  • Por qué preguntar a Q1: Haciendo esta pregunta, puede averiguar más sobre la experiencia actualizada del candidato en Python, sus responsabilidades y logros. De esta manera, usted llega a conocer mejor a su candidato.

B. Pregunta de la entrevista de Python sobre los conocimientos y opiniones del desarrollador

  • Q2: ¿Qué bibliotecas de código abierto de Python considera que son valiosas y por qué?
  • Por qué preguntar a Q2: Esta pregunta le permite al candidato demostrar su conocimiento del ecosistema de la Pitón. Además, el candidato puede señalar lo que tiene en cuenta al elegir una determinada tecnología. Como preguntas de seguimiento, también puede preguntar qué ventajas, en su opinión, tienen las soluciones comerciales sobre el código abierto y viceversa. Esto muestra cómo piensa el candidato.
  • Q3: Me he dado cuenta de que has incluido el marco X en tu currículum. ¿Qué opina al respecto? ¿Es una buena elección?
  • ¿Por qué preguntarle a Q3: Una pregunta tan abierta permite a un candidato demostrar sus conocimientos si los tiene. También puede jugar al abogado del diablo basado en sus respuestas "Pero ¿por qué no usar el marco Y para eso?". Así puedes ver cómo los candidatos eligen una tecnología, justifican sus elecciones y si sus opiniones coinciden con las de tus equipos informáticos.

C. Pregunta de la entrevista de Python sobre la toma de decisiones del desarrollador en relación con la tecnología Python

  • Q4: ¿En qué etapa se unió a los proyectos recientes? ¿Participó en la elección de la tecnología o en la configuración del proyecto? En caso afirmativo, ¿qué tecnología eligió o recomendó para el proyecto y por qué?
  • Por qué preguntar a Q4: Estas preguntas muestran no sólo cómo un candidato toma decisiones en relación con la tecnología, sino también si se le incluyó en la toma de decisiones. Especialmente importante si estás buscando a alguien con experiencia.

D. Pregunta de comportamiento para el desarrollador de la pitón

  • Q5: Piensa en la decisión del proyecto de programación que tomaste y que fue un fracaso. ¿Por qué crees que fue un error? ¿Por qué sucedió? ¿Podría hacerse algo diferente para convertirlo en un éxito? ¿Qué medidas tomaste para mejorar la situación? ¿Qué aprendiste de esta experiencia?
  • ¿Por qué preguntarle a Q5: Este tipo de preguntas le ayudará a averiguar cómo percibe el candidato sus decisiones, saca conclusiones y cuánto aprende de su experiencia anterior.

3.3. Examen técnico de las habilidades de Python con la prueba de codificación en línea

Las pruebas de codificación en línea pueden ser una gran manera de evaluar las habilidades de los pitones. A continuación encontrarás información sobre cómo puedes usar las pruebas de programación y cuáles elegir.

Pruebas de codificación de Python en línea - el método principal o adicional para la detección

Algunas empresas utilizan la prueba de programación como complemento de la selección de candidatos después de que se analiza el currículum y se realiza una entrevista por teléfono o vídeo. Pero cada vez más compañías recurren a las pruebas de codificación como primer método de selección de programadores. Las compañías hoy en día tienden a invitar a todos los candidatos que solicitan un determinado puesto a hacer una prueba. De esta manera, los reclutadores sólo dedican su tiempo a los candidatos que aprobaron el examen, demostrando que tienen habilidades de programación en Python. Por otro lado, no se pide a los candidatos que dediquen demasiado tiempo al proceso de reclutamiento desde el principio, sino que completen rápidamente el test (normalmente en una hora) cuando les convenga tanto en términos de tiempo como de lugar.

Prueba de codificación online de Python, ¿cuál elegir?

Hay muchas pruebas de codificación en línea de Python en el mercado, pero normalmente verifican los conocimientos del candidato en lugar de las habilidades de programación y las capacidades para resolver problemas de codificación de la vida real. Por eso a muchos programadores experimentados no les gusta ese tipo de evaluación y, lo que es más, no son capaces de obtener una buena puntuación ya que no pueden mostrar su experiencia y habilidades en la resolución de problemas de programación de la vida real.

Entonces, ¿qué características debería tener una buena prueba de codificación? Abajo encontrarás mis 5 características más importantes que deberías buscar:

  1. Las pruebas de programación en Python deben verificar no sólo los conocimientos de Python en cuanto a la tecnología en general, sino también los marcos y las bibliotecas;
  2. Las pruebas de codificación en Python deben consistir en un par de tareas, no sólo pruebas de opción múltiple, sino sobre todo, tareas de programación cuya dificultad debe corresponder a las responsabilidades que tendrán los candidatos si consiguen el trabajo (las pruebas no deben basarse en tareas algorítmicas, ya que así no se puede verificar si un candidato puede resolver los desafíos de codificación de la vida real);
  3. Preferiblemente, las tareas de programación en Python deben ser preparadas en el código base de la empresa, ya que es la mejor manera de imitar los retos que el candidato tendrá una vez que consiga el trabajo;
  4. No tiene sentido prohibir al programador el uso de fuentes externas. La mejor manera es crear un entorno similar al que tendrían en el trabajo, por lo que un examen a libro abierto es mucho más apropiado. Además, el candidato debe ser capaz de usar su IDE preferido, tal como lo hace a diario.
  5. Las pruebas de codificación también pueden incluir una tarea con desafíos de revisión de código para probar las habilidades de Python. Esto da una información muy precisa sobre la experiencia del candidato, su enfoque de la calidad del código y la eficiencia de la depuración y la búsqueda de trampas. Esta evaluación debería ser obligatoria al contratar a desarrolladores senior de Python.

Nota del editor: Este post fue publicado originalmente el 28 de febrero de 2016. Ha sido ampliamente actualizado para representar la última información técnica y las mejores prácticas.

Autor - Wojtek Erbetowski

Wojtek_Erbetowski Desarrollador de Pyhton habilidades técnicas

Wojtek es un líder práctico con ~10 años de experiencia en APIs / aplicaciones web en Python y Java. Trabajó como Jefe de Ingeniería @ Polidea, CTO @ GrowBots y participa activamente como Líder de la Comunidad @ Warsaw Java User Group y Mobile Warsaw y Organizador de la Conferencia MCE. Colaborador de la biblioteca de código abierto, desarrollador de software, defensor ágil. Trabajó en varias áreas de negocios, por ejemplo, ventas, publicidad en medios antiguos y nuevos, mercadeo por correo electrónico, corporación farmacéutica, portales financiados por la UE, librería al por mayor y más) y convirtiendo las necesidades de negocios en aplicaciones especializadas.

DevSkiller listo para usar las pruebas de evaluación de codificación Python en línea

DevSkiller ayuda a las empresas en el proceso de contratación de TI proporcionándoles una infraestructura que les permite probar las habilidades de programación de los candidatos en el entorno que imita el primer día de experiencia laboral. Permitimos a las empresas utilizar su propia base de código, proyectos informáticos completos utilizando marcos y bibliotecas, para probar a los programadores en línea. Sin embargo, también tenemos algunas pruebas de codificación en Python listas para usar, que pueden ser utilizadas en su campaña de reclutamiento técnico.

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.

El logo de DevSkiller Logotipo de TalentBoost Logotipo de TalentScore