Logo de Adafaceadaface

Cómo Evaluar a Desarrolladores Android

Como reclutador de TI, ¿qué debería saber sobre Android?

¿Qué es Android?

Android no es un teléfono ni una aplicación, sino un sistema operativo (SO) construido sobre el kernel de Linux. Android está diseñado pensando en los dispositivos móviles, donde residen las funciones y aplicaciones del teléfono. Todo lo que vemos en la pantalla de un dispositivo Android es parte del sistema operativo. Cuando recibes un mensaje de texto, un correo electrónico, reproduces una canción o grabas un video, el sistema operativo procesa la información y la presenta en un formato legible para ti.

¿Cuánto tiempo lleva Android en el mercado?

En octubre de 2003, mucho antes de que el término smartphone fuera común (y antes de que Apple anunciara el iPhone/iOS), Android Inc. fue fundada en Palo Alto, California. En 2005, Android fue adquirido por Google. Google lanzó la versión beta pública de la versión 1.0 para desarrolladores a finales de 2007 y en septiembre de 2008, se anunció el primer smartphone Android.

¿Cuáles son las habilidades requeridas para un desarrollador de Android?

  • Java O Kotlin: En 2017, Google declaró Kotlin como el segundo lenguaje oficial para el desarrollo de aplicaciones Android. Un desarrollador de Android necesita un amplio conocimiento de al menos uno de los dos lenguajes de desarrollo oficiales: Java y Kotlin. Dado que Java es el lenguaje de programación más popular para el desarrollo de aplicaciones Android, el conocimiento experto de Java no es negociable.
  • SDK de Android (kit de desarrollo de software) El SDK de Android es una colección de herramientas y bibliotecas de desarrollo de software necesarias para desarrollar aplicaciones de Android. Con cada nueva versión/actualización de Android, Google también lanza un SDK correspondiente. Los SDK de Android brindan a los desarrolladores acceso a funciones del dispositivo como la cámara y el acelerómetro.
  • Android Studio El entorno de desarrollo integrado (IDE) que la mayoría de los desarrolladores de Android utilizan se llama Android Studio. Viene con soporte integrado para los SDK de Android más comunes.
  • Experiencia en la construcción/trabajo con API En la mayoría de los casos, tu aplicación necesitará interactuar con otros servicios. Por ejemplo, si deseas integrar Google Maps, permitir a los usuarios consultar los precios de las acciones o agregar eventos a sus calendarios, tu desarrollador deberá saber cómo trabajar con las API para poder obtener/consultar datos de otros servicios.
  • Conocimiento del backend Incluso si tienes un desarrollador de backend en el equipo del proyecto, tu desarrollador de Android deberá tener una comprensión básica de los procesos del backend y cómo se configura la arquitectura para poder contribuir bien.
  • Bases de datos A menos que se trate de una aplicación muy simple, es muy probable que tu aplicación maneje una gran cantidad de datos que no residirán en el dispositivo de tu usuario. Esto significa que la aplicación deberá interactuar con una base de datos que reside en la nube. Hay varias formas diferentes de lograr esto, pero en cualquier caso, el desarrollador de Android deberá saber cómo funcionan las bases de datos, cómo enviar y recibir datos y cómo integrarlos en la aplicación.

Descripción del puesto de desarrollador de Android

Escribir una buena descripción del puesto es fundamental para atraer a los candidatos adecuados para su función. Puede usar la Descripción de ejemplo del puesto de desarrollador de Android como plantilla para crear una descripción de trabajo atractiva.

Guía salarial para desarrolladores de Android

Los principales factores que afectan el salario de los desarrolladores de Android son el nivel de experiencia, las habilidades y la ubicación. Puede leer más en nuestra guía salarial para desarrolladores de Android.

Preguntas para hacer en una entrevista telefónica

  • ¿Cuál es el proyecto Android más grande en el que has trabajado hasta ahora y cuál fue tu contribución al proyecto? Esta es una buena pregunta para comenzar la conversación y obtener contexto sobre la escala que han manejado previamente. Su nivel de contribución al proyecto te da una idea del nivel de antigüedad. Idealmente, quieres que hayan trabajado en un proyecto que haya alcanzado la escala que esperas que logre tu aplicación.
  • ¿Qué frameworks y bibliotecas de Android has usado más? La respuesta a esta pregunta te da una idea del nivel de experiencia y profundidad de sus conocimientos. Si han sido desarrolladores de Android durante más de 2 años, idealmente deberían haber usado o al menos haber oído hablar de todos los frameworks populares en el ecosistema Android.
  • ¿Cómo encuentras fugas de memoria en las aplicaciones Android? El Administrador de dispositivos Android (ADM) dentro de la aplicación Android Studio es una herramienta útil para detectar fugas de memoria en una aplicación en Android. Cuando ejecutas una aplicación móvil, verás el tamaño del heap, el análisis de memoria y otras estadísticas que se muestran en él.
  • ¿Cuál es la diferencia entre una intención implícita y explícita? Cuando usas una intención explícita, informas al sistema qué actividad o componente del sistema debe usar para generar una respuesta a esa intención. Una intención implícita es donde indicas qué acción quieres realizar. El sistema comprueba qué componentes registrados pueden controlar esa acción. Típicamente usamos intenciones explícitas para iniciar componentes en la aplicación, mientras que usamos intenciones implícitas cuando intentamos comunicarnos con otros componentes de una aplicación de terceros.

Usando una prueba de detección para evaluar a los desarrolladores de Android

Puede usar la Prueba en línea de Android para evaluar a los candidatos para el puesto. Dependiendo de si necesita que tengan habilidades de Java/Android o Kotlin, habilidades de bases de datos, etc., puede personalizar la evaluación. Basado en la descripción de su trabajo, nuestros expertos en la materia seleccionarán las preguntas correctas para incluir en la evaluación con el fin de brindarle datos relevantes sobre sus habilidades en el trabajo.