Cómo evaluar las habilidades de los desarrolladores de Groovy

Publicado: Última actualización:
Cómo evaluar las habilidades de los desarrolladores de Groovy

El lenguaje de programación Apache Groovy es uno de los lenguajes de programación alternativos más antiguos que se ejecuta en JVM (Java Virtual Machine). El script Groovy compatible con la sintaxis de Java celebra su 17º cumpleaños en 2020. La gente podría pensar que el desarrollo o el zumbido que rodea a los lenguajes JVM más recientes como Kotlin han hecho que Groovy sea redundante.

¡Bueno, eso no podría estar más lejos de la verdad!

La comunidad Groovy está más que viva y bien y la sintaxis Groovy sigue siendo desarrollada por un grupo de colaboradores. El lenguaje es una de las bibliotecas más descargadas en el El ecosistema de Java y se apoya en una amplia gama de marcos. Una de las razones de su popularidad es que Groovy facilita las pruebas unitarias y automatizadas. Lo que está claro es que cuando se usa correctamente - Apache Groovy tiene el potencial de dar a su tecnología un enorme impulso de productividad.

En esta guía encontrarás:

Una guía para la detección de las habilidades de los desarrolladores de Groovy

Si no está familiarizado con Groovy, no tema. Hemos creado una lista de cosas que deberías saber antes de empezar a buscar a tu próximo desarrollador de Groovy.

¿Qué es un desarrollador Groovy?1. ¿Qué es Groovy?

Groovy o Apache Groovy es un lenguaje de programación basado en la JVM. Es de naturaleza dinámica, con capacidades de tipado estático y compilación estática. El lenguaje de programación Groovy tiene como objetivo mejorar la productividad de los desarrolladores gracias a una sintaxis concisa, familiar y fácil de aprender. Groovy es un potenciador de Java porque proporciona una mayor flexibilidad e incluso introduce características especiales en las aplicaciones (se pueden mejorar las que ya están desarrolladas o se pueden hacer desde cero).

Groovy tiene métodos de conveniencia que lo hacen parecer algo similar a Python o Ruby. La belleza del lenguaje Groovy es que puede reducir su código Java repetitivo en una cantidad sustancial. Lo mejor de Groovy es que se puede utilizar fácilmente junto con Java en el mismo proyecto.

1.1 ¿Cuál es la diferencia entre Groovy y Java?

Groovy es un lenguaje de programación orientado a objetos que también soporta scripts, mientras que Java es un lenguaje de programación orientado a objetos. La sintaxis de Groovy se basa en la de Java, lo que significa que el código de Java puede copiarse y pegarse en Groovy (con algunas excepciones), pero no a la inversa.

Groovy es conocido como un lenguaje de scripting JVM y muchos desarrolladores de Groovy están aprovechando su naturaleza flexible. Hay una serie de casos de uso en los que Groovy es una mejor opción que Java.

En cuanto a la sintaxis, Groovy se basa en Java. Groovy ofrece alternativas de sintaxis más flexibles que Java, que tiene que depender mucho del código boilerplate. Groovy añade muchas mejoras que reducen la cantidad de código repetitivo, a la vez que soporta la sintaxis de Java. Esto es un gran beneficio ya que ayuda a que el código sea más legible.

Groovy proporciona un soporte más completo para la programación funcional que Java. Ofrece sólidas capacidades de meta-programación en tiempo de ejecución y de compilación, un fuerte soporte para crear DSLs y capacidades de scripting.

Para un principiante, Groovy es también probablemente más fácil de aprender que Java, ya que muchas cosas básicas se pueden codificar de forma más intuitiva.

1.2 ¿En qué se parecen Groovy y Java?

Para un programador con conocimientos previos de Java, empezar a trabajar con código Groovy es extremadamente fácil. La curva de aprendizaje es prácticamente plana. Groovy permite hacer cosas que eran excesivamente complejas en Java, pero de forma mucho más ordenada. Esto, en sí mismo, es una experiencia gozosa.

La sintaxis es bastante similar para ambos, pero debido a las mejoras de Groovy, su código es mucho más fácil de leer. Lo mejor es que ambos pueden convivir en el mismo proyecto. El popular marco de pruebas Spock también está construido sobre Groovy.

Con algunas excepciones, puedes copiar/pegar código de un archivo .java a un archivo .groovy. Groovy proporciona importaciones de Java populares como java.io.*, java.lang.*, java.math.BigDecimal, java.math.BigInteger, java.net.*, java.util.*. Estos pueden ser utilizados dentro del código Groovy sin tener que añadir declaraciones de importación.

También es fácil utilizar tanto Java como Groovy dentro de un proyecto Maven o Gradle.

2. ¿Para qué se utiliza Groovy?

Groovy puede utilizarse como lenguaje de proyecto independiente, así como un lenguaje adicional en proyectos Java. Existen aplicaciones de producción construidas completamente sobre Groovy, incluyendo muchas aplicaciones web construidas sobre el framework Grails (un framework basado en Groovy similar a Ruby on Rails). Una gran cantidad de Los marcos de trabajo JVM predominantes, incluyendo Spring, soportan Groovy. Además, una gran cantidad de herramientas y "software de cola" está escrito en Groovy.

Como lenguaje complementario en los proyectos Java, se utiliza con frecuencia para realizar pruebas (incluido el exquisito marco de pruebas Spock), trabajar con cadenas, colecciones y archivos JSON o XML, así como para crear DSL (lenguajes específicos de dominio) y scripts. Sin embargo, es importante decir que de todas las características mencionadas anteriormente, sólo el scripting no se puede hacer en Java.

Groovy también se utiliza para construir plugins y scripts de herramientas de construcción y como un potente lenguaje de scripting dentro del proceso de despliegue (por ejemplo, Groovy DSL para Jenkins CI/CD).

Seleccionar a un desarrollador de Groovy: ¿qué debe saber un reclutador de TI sobre Groovy?3. ¿Qué es importante que un reclutador de TI sepa sobre Groovy?

Groovy se integra perfectamente en el amplio ecosistema de Java. Puede utilizarse junto con un número importante de herramientas y marcos de trabajo que funcionan con Java, como Maven y Gradle. El lenguaje ofrece marcos de pruebas de última generación (Spock, Geb) y marcos de desarrollo web fáciles de usar (como Grails y Ratpack). Groovy es compatible con varios marcos de aplicación basados en Java, incluido el popular marco Spring. Incluso tiene su propio marco para desarrollar aplicaciones de escritorio (Griffon).

3.1 ¿Qué herramientas y técnicas debe conocer un desarrollador de Groovy?

Al igual que con Java, el conocimiento de las herramientas de construcción, como Maven y/o Gradle será esencial. Además, es importante un buen conocimiento de un IDE como IntelliJ. Otra cosa a tener en cuenta es que se espera que un desarrollador de Groovy esté familiarizado con al menos un marco de aplicación.

Examinar a un desarrollador de Groovy: Verificar las habilidades de Groovy4. ¿Cómo verificar los conocimientos de Groovy en la fase de selección?

Para evaluar las habilidades de un candidato en Groovy, un reclutador puede utilizar uno de los siguientes medios:

  • Tareas de programación
  • MCQs (Multiple Choice Questions),
  • Preguntas de respuesta múltiple (MAQ)
  • Rellena los espacios en blanco, preguntas de pizarra
  • Preguntas sobre audio y vídeo
  • LogicBox (plataforma de pseudocodificación basada en IA)
  • Simuladores de codificación
  • Preguntas de verdadero o falso, etc.

4.1 Selección de un desarrollador de Groovy utilizando su currículum

Un candidato con experiencia en el desarrollo de aplicaciones, herramientas o bibliotecas en Groovy sería claramente una ventaja.

Sin embargo, como el aprendizaje de Groovy es funcionalmente sencillo para los desarrolladores de Java, la contratación de desarrolladores de Java para puestos de trabajo en Groovy también podría ser una buena idea. Por supuesto, siempre que estén interesados en aprender y utilizar Groovy en el trabajo.

Ambas tecnologías requieren un conocimiento del mismo motor subyacente, por lo que parece una buena combinación para empezar.

4.2 ¿Qué tipo de experiencia es importante buscar en un desarrollador de Groovy?

Esto depende más del tipo de proyecto que de la propia tecnología.

Puede tener sentido buscar desarrolladores con experiencia en áreas similares. Sin embargo, no es algo que deba tratarse como una condición necesaria.

Una experiencia de código abierto suele tener la ventaja de permitirle ver las contribuciones que el candidato ya ha hecho. Este conocimiento puede darte una idea de sus habilidades y capacidades.

Pantalla de un desarrollador de Groovy: Glosario Groovy4.3 Un glosario Groovy para los reclutadores técnicos

Versiones Groovy
  • 2.5.x - la más reciente GA
  • 2.6.x - todavía alfa
  • 3.0.x - ahora disponible RC 2
Marcos de aplicación
  • Spring (GA más reciente: 5.2.2.RELEASE) - más popular,
  • Spring Boot (GA más reciente: 2.2.2.RELEASE) - más popular,
  • Grails (ahora disponible 4.0.x) - relevante si se utiliza en el proyecto para el que se hace la contratación,
  • Ratpack (GA más reciente: 1.7.x) - relevante si se utiliza en el proyecto para el que se realiza la contratación,
  • Micronaut (GA más reciente: 1.2.x) - relevante si se utiliza en el proyecto para el que se contrata,
  • Quarkus (ahora disponible 1.1.x) - relevante si se utiliza en el proyecto para el que se contrata.
Construir herramientas
  • Maven
  • Gradle
IDEs
  • IntelliJ IDEA (probablemente el más popular)
  • Eclipse

4.4 Las diferentes versiones de Groovy

Ha habido muchas revisiones de Apache Groovy, pero las versiones más populares son las siguientes:

  • Groovy 1.0
  • Groovy 1.5
  • Groovy 1.6
  • Groovy 1.7
  • Groovy 1.8
  • Groovy 2.0
  • Groovy 2.1
  • Groovy 2.2
  • Groovy 2.3
  • Groovy 2.4
  • Groovy 2.5
  • Groovy 2.6
  • Groovy 3.0

4.5 ¿Qué versiones son similares entre sí? ¿Qué versiones son diferentes?

Groovy 2.0 ha sido durante mucho tiempo la línea más reciente con lanzamientos de GA y es la más ampliamente utilizada.

Esta versión ofrece un amplio soporte cuando se trata de soportar la sintaxis de Java. Una de las ventajas es que puedes copiar/pegar grandes cantidades de código Java en clases Groovy y se compila y ejecuta sin problemas.

Una importante actualización del lenguaje incluyó el Parser Groovy Parrot (disponible por defecto en la versión 3.0 y como opción a partir de la 2.6). Esta actualización admite más sintaxis de Java, incluidos los bucles de Java, los inicializadores de matrices, los métodos de interfaz por defecto, las lambdas y las referencias a métodos, ofreciendo una paridad sintáctica casi 1 a 1 con Java.

Otra diferencia es que Groovy 3.0 incluye algunos cambios en los nombres de las clases/paquetes en comparación con las versiones anteriores.

4.6 ¿Qué importancia tienen los certificados Groovy para evaluar las habilidades de codificación de un candidato?

No hay certificaciones de renombre para el lenguaje Groovy. Sin embargo, las certificaciones de Oracle Java podrían constituir una ventaja, pero no las consideraríamos imprescindibles.

4.7 Otras cosas que hay que buscar en el currículum de un desarrollador de Groovy

Un título de informática suele indicar un conocimiento más amplio del campo y podría considerarse ciertamente una ventaja.

Cuidado con si el candidato:

  • Ha trabajado en un proyecto típico de Groovy
  • Ha participado en grandes proyectos, tratando con requisitos únicos y estrictos (si está buscando a alguien que trabaje en un sistema empresarial complejo). Si buscas a alguien que escriba librerías en Groovy o que trabaje en las herramientas de CI/CD, este podría no ser un criterio importante
  • Ha participado en un proyecto similar al que está contratando

Además, si se menciona lo siguiente, estos tipos de actividad pueden examinarse basándose en el historial públicamente visible del candidato:

  • Hablando en conferencias
  • Asistir a conferencias
  • Escribir artículos para revistas técnicas
  • Escribir un blog técnico
  • Contribución al OSS
  • Contribuyendo a los sitios de respuesta (por ejemplo, Stack Overflow)

Examinar a un desarrollador de Groovy: Preguntas de la entrevista de Groovy 5. Preguntas para una entrevista técnica por teléfono/vídeo

Es difícil confiar sólo en las palabras de un currículum. Al fin y al cabo, es importante desafiar al candidato para determinar si realmente tiene las habilidades que dice tener. Aunque solo sea una entrevista telefónica, puede ayudarte a entender cómo piensa el candidato y cómo resuelve los problemas relacionados con su oficio.

5.1 Preguntas sobre la experiencia del candidato

  • ¿Cuánto tiempo ha trabajado el desarrollador con Groovy y/o Java?
  • ¿Qué tipo de proyectos han creado con Groovy y/o Java? ¿Cuántos (aplicaciones web, sistemas distribuidos, herramientas, DSLs, etc.)?
  • ¿En qué versión de Groovy han trabajado?
  • En términos más generales, ¿en qué proyectos de desarrollo de software han trabajado (también en otras tecnologías)?

Estas preguntas le ayudarán a determinar el nivel de experiencia profesional del desarrollador con Groovy y/o Java. La mayor cantidad de experiencia, así como la experiencia en proyectos similares al que está reclutando, debe considerarse una ventaja.

Si alguien no tiene experiencia trabajando con Groovy pero tiene una amplia experiencia con otras tecnologías, también podría ser una buena opción siempre y cuando sea una persona que aprenda rápido.

5.2 Preguntas sobre los conocimientos y opiniones del candidato

  • ¿Cuáles son las características más importantes de Groovy?
  • ¿Cuáles son las principales diferencias entre Groovy y Java?
  • ¿Cuáles son algunas de las buenas prácticas de Groovy cuando se utiliza el lenguaje?
  • ¿Qué debo tener en cuenta al trabajar con Groovy?

Estas preguntas le permitirán comprender hasta qué punto el candidato conoce la tecnología y si es consciente de los problemas y escollos más comunes.

5.3 Preguntas de comportamiento que debe hacer para entender cómo ha actuado el candidato en el pasado

  • ¿Cuál es su mayor logro en materia de programación? ¿Por qué lo ha conseguido? ¿Cómo puede repetirlo?

Esta pregunta permitirá al candidato presentar una historia de éxito y puede indicar al reclutador si el candidato está más interesado en resolver el problema o en recibir elogios.

  • ¿Cuál ha sido tu mayor problema en la programación? ¿Por qué ocurrió? ¿Cómo puedes evitar que se repita en el futuro?

Esta pregunta hará que el candidato describa un punto bajo personal, y mostrará al reclutador si el candidato se siente cómodo hablando de ello. Además, puede revelar si el candidato está interesado en resolver el problema o en echar la culpa.

  • ¿Te gustaría ser el mentor de un desarrollador junior? ¿Por qué? ¿Cómo lo harías? ¿Tienes alguna experiencia como mentor de otras personas?

Esto permitirá al reclutador evaluar el interés del candidato y las habilidades sociales necesarias para compartir el conocimiento.

Mira más cualidades de un buen desarrollador.

Autor - Olga Maciaszek-Sharma

Cómo evaluar las habilidades de los desarrolladores de Groovy, autor Olga Maciaszek-SharmaOlga Maciaszek-Sharma es ingeniera de software senior en el equipo de Spring Cloud en Pivotaldonde trabaja principalmente en Spring Cloud Commons (Spring Cloud LoadBalancer), Spring Cloud Contract, Spring Cloud Netflix y Spring Cloud Gateway. Ha adquirido experiencia al trabajar con microservicios en los que se utilizaron soluciones de vanguardia, así como con complejos sistemas heredados, implementando tanto nuevas funciones empresariales como soluciones destinadas a mejorar el proceso de despliegue y configuración continuos de las aplicaciones. Olga también es colaboradora de otros proyectos OSS, como JFairy, Jenkins Pipeline Plugin, Jenkins Stash Pull Request Builder Plugin y Java Gitlab Client. Antes de pasarse al desarrollo, trabajó durante más de 3 años como ingeniera de control de calidad, especializada en la automatización de pruebas.

Examinar a un desarrollador de Groovy: Pruebas de codificación Groovy6. Revisión técnica de las habilidades de un desarrollador de Groovy utilizando una prueba de codificación en línea

La principal preocupación que debe tener al contratar a un desarrollador de Groovy es si tiene unas habilidades de codificación inmaculadas. Groovy es un lenguaje sencillo que facilita la codificación, pero, como todos los lenguajes, requiere buenos conocimientos de codificación. Dicho esto, lo último que quiere es invitar a un candidato a una entrevista técnica sólo para descubrir que nunca ha tenido las habilidades de codificación que usted requiere. Una pesadilla.

6.1 ¿Qué examen de programación en línea de Groovy debe elegir?

Cuando se busca el derecho Prueba de programación en línea Groovy debes asegurarte de que se ajusta a los siguientes criterios:

  • La prueba refleja la calidad del trabajo profesional que se realiza
  • La duración no es demasiado larga, de una a dos horas como máximo
  • La prueba puede enviarse automáticamente y es de naturaleza sencilla
  • El nivel de dificultad se ajusta a las capacidades del candidato
  • La prueba va más allá de comprobar si la solución funciona: comprueba la calidad del código y lo bien que funciona en los casos límite
  • Es lo más parecido al entorno natural de programación y permite al candidato acceder a los recursos pertinentes
  • Proporciona al candidato la oportunidad de utilizar todas las bibliotecas, marcos de trabajo y otras herramientas con las que se encuentra habitualmente

6.2 Pruebas de evaluación de la codificación de Groovy en línea, listas para usar, de DevSkiller

Las pruebas de codificación de DevSkiller utilizan nuestra metodología RealLifeTesting™ para reflejar el entorno de codificación real en el que trabaja su candidato. En lugar de utilizar algoritmos oscuros, las pruebas DevSkiller requieren que los candidatos construyan aplicaciones o funciones. Se califican de forma totalmente automática y pueden realizarse en cualquier parte del mundo. Al mismo tiempo, el candidato tiene acceso a todos los recursos que usaría normalmente, incluyendo bibliotecas, frameworks, StackOverflow e incluso Google.

Las empresas utilizan DevSkiller para probar a los candidatos utilizando su propia base de código desde cualquier parte del mundo. Para facilitar las cosas, DevSkiller también ofrece una serie de pruebas de codificación Groovy prefabricadas como las que se muestran aquí:

Bota de Primavera
JUNIOR
Habilidades probadas
Duración
54 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Java, Bota de Primavera

Lagunas en el código

evaluando el conocimiento de Java

Tarea de programación - Nivel: Fácil

Java | Spring Boot | Estación de Bicicletas HATEOAS - Termina la implementación de HATEOAS al REST API.

Groovy
MIDDLE
Habilidades probadas
Duración
40 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Groovy, Java

Tarea de programación - Nivel: Medio

Java | Groovy | Aplicación de gestión de vuelos | Reserva de asientos y análisis de vuelos - Implementa las características que faltan en la aplicación de gestión de datos de vuelos como la reserva de asientos y el análisis de vuelos.

Guión de Java
MIDDLE
Habilidades probadas
Duración
80 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Tarea de programación - Nivel: Medio

Java | Gestor de vuelos | Implementar una aplicación que se encargue de gestionar los datos de los vuelos

Tarea de programación - Nivel: Medio

JavaScript | Reaccionar | Formulario de contacto - Optimizar el formulario de llenado para los usuarios del sitio

Java
MIDDLE
Habilidades probadas
Duración
55 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Java API estándar

Tarea de programación

solicitud de gerente de vuelos, el candidato debe implementar dos métodos de negocios para encontrar vuelos entre dos ciudades y generar una lista de asientos para un avión. Requiere Java conocimiento.

Java
JUNIOR
Habilidades probadas
Duración
45 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de Java API estándar

Tarea de programación

Solicitud de gerente de vuelos, el candidato debe implementar dos métodos de negocios para encontrar vuelos y reservar un asiento que requiere conocimientos básicos sobre Java

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