Diego Laballós

Desarrollador de aplicaciones Android

¿A quién necesitas para crear una app?

¿A quién necesitas para crear una app?

Se te ha ocurrido una idea genial, la tienes toda pensada, va a ser una aplicación que lo va a romper, pero no tienes ni idea de por donde empezar. Quizás tengas en mente cómo será el diseño, lo que hará y cómo la promocionarás. Ahora bien, te falta quizás el punto más importante para empezar.

¿A quién necesito para crear una app? ¿Necesito una o varias personas? ¿Qué conocimientos se necesitan?

Si te haces estas preguntas, te interesará este artículo.

Las personas y habilidades que necesites, dependerán obviamente de la aplicación que quieras desarrollar. Para este artículo vamos a situarnos en un caso común. Vamos a suponer que se quiere desarrollar una app para los sistemas Android e iOS para, por ejemplo, consultar opiniones de restaurantes cerca de ti. La funcionalidad es indiferente, simplemente quiero destacar que la aplicación hará uso de internet y guardará la información en una base de datos, en este caso, los restaurantes y sus opiniones.

El mundo de la programación

La programación es un mundo. Existen muchísimos lenguajes de programación. Cada lenguaje tiene su propósito. Unos lenguajes pueden estar más pensados para el desarrollo de juegos, otros para desarrollar aplicaciones móviles y otros para crear webs.

Existen muchos lenguajes de programación
Fuente: Geoawesomeness

Para que te hagas una idea, en esta ilustración sacada de un artículo de la web Geoawesomeness, puedes ver algunos de los lenguajes de programación que existen. ¿Te parecen muchos? Te aseguro que hay muchos más que no están reflejados en esta imagen.

Que una persona sea programador, no significa, ni mucho menos, que pueda programar en todos los lenguajes. De hecho, es todo lo contrario. Normalmente los programadores se especializan en uno o unos pocos lenguajes, de esta manera pueden ser mucho mejores en lo que hacen. Por otro lado, es imposible que un programador pueda dominar hasta 10 lenguajes de programación y ser bueno en cada uno de ellos.

Piensa en los lenguajes de programación, como los idiomas que utilizamos las personas. Existen muchos idiomas y todos nosotros hablamos por lo menos uno. Ahora bien, que sepas hablar Español (lo deduzco porque estás leyendo este artículo), no significa que sepas hablar Chino o Alemán. Una persona suele hablar uno, dos o tres idiomas.

Siguiendo con la comparación de lenguaje de programación e idioma, vamos a suponer que quieres traducir un libro a 10 idiomas distintos. ¿Podrías encontrar a una sola persona que dominara los 10 idiomas? Seguramente no. Tendrías que encontrar a varias personas que te ayudaran en la tarea. Cada persona se encargaría de una parte del trabajo.

Visto el ejemplo de la traducción de un libro, el caso de desarrollar una aplicación móvil es muy parecido. Como veremos a lo largo del artículo, en una aplicación móvil entran en juego distintos lenguajes de programación, lo cual querrá decir que para tu proyecto, necesitarás personas diferentes con habilidades distintas.

Aclarado este punto inicial, vamos a ver a fondo cada punto del desarrollo y comentar que perfiles necesitarás.

1. Diseñador

El primer paso para crear una aplicación no requiere programación. Antes que todo necesitarás diseñarla gráficamente. Esta tarea consiste en crear una interfaz acorde con los sistemas móviles donde estará instalada y hacer que sea agradable a la vista.

En este punto, si se te da bien el diseño, puede darse el caso de que puedas hacer tú mismo los diseños. En el caso de que prefieras confiar el trabajo a un profesional, necesitarás dar con un diseñador con experiencia en el diseño de aplicaciones móviles.

¿Por qué debería tener experiencia en el desarrollo de aplicaciones móviles?

Desarrollar una app es un poco más complejo que diseñar una web. Podríamos decir que una web tiene más libertad a la hora del diseño, sin embargo, una app tiene que seguir una serie de reglas. Estas reglas estarán definidas por el sistema móvil para el cual está destinada. Seguramente te has fijado en que la misma aplicación no tiene la misma interfaz de usuario para la versión de Android que para la versión iOS.

Las versiones de Android e iOS de Airbnb utilizan diferentes diseños en la interfaz

En esta imagen puedes ver un ejemplo de lo que te comento. En este caso es la aplicación Airbnb. A la izquierda puedes ver la versión para Android y a la derecha la versión para iOS. Como puedes ver el menú de opciones tiene diseños distintos. En la versión para Android se utiliza un menú flotante a la derecha, mientras que en la versión de iOS se utiliza una barra de opciones fija en la parte de abajo de la pantalla.

Cada sistema tiene sus propias guías de diseño. Los usuarios de Android están habituados a ciertos patrones o controles diferentes a los usuarios de iOS y viceversa. Tener dos interfaces diferentes y especialmente pensadas para cada sistema, es un punto importante para conseguir una buena experiencia de usuario. Un diseñador especializado en diseño de aplicaciones móviles te puede ayudar a conseguirlo.

2. Desarrollador/es de aplicaciones móviles

Llegamos al punto principal, la programación de la aplicación móvil. Te habrás dado cuenta que en el título de esta sección especifico “desarrollador/es”. Bien, aquí voy a hacerte recordar lo que he explicado antes del mundo de la programación.

En el caso hipotético que hemos puesto, queríamos desarrollar una aplicación para Android e iOS que permitiera consultar opiniones de restaurantes. Pues bien, Android e iOS son sistemas distintos que tienen lenguajes de programación diferentes. Concretamente Android utiliza un lenguaje llamada Java, e iOS utiliza un lenguaje llamado Swift. Esto quiere decir, que necesitas algún programador especializado en Android y otro especializado en iOS.

Android utiliza el lenguaje de programación Java mientras que iOS utiliza Swift

En este caso, podrías encontrar un programador que domine ambos sistemas y lenguajes. De hecho yo conozco y trabajo con ambos sistemas (Actualmente especializado únicamente en Android). De todas maneras, no es lo habitual. Normalmente los desarrolladores de aplicaciones móviles se especializan en uno u otro lenguaje. El hecho de trabajar con ambos lenguajes requiere horas de estudio y esfuerzo para poder trabajar correctamente y dominarlos. Para que te hagas una idea, yo dedico cada día 2 horas únicamente a mantenerme al día con ambos sistemas. Es por eso que, en ocasiones, te será difícil encontrar un solo desarrollador que se encargue de programar tu aplicación para Android e iOS a la vez.

Conclusión, seguramente necesites encontrar un programador para Android y otro para iOS.

3. Desarrollador backend

¿Que es un desarrollador backend? Vamos a intentar aclarar el término de una manera sencilla.

En nuestra aplicación hemos visto que necesitaremos guardar ciertos datos como restaurantes y opiniones. Esta información necesitará estar guardada en una base de datos. Esta base de datos está guardada en un servidor, el cual no es más que un ordenador conectado a internet en alguna parte del mundo que contiene nuestros datos. Además de guardar toda la información, también es el encargado de comunicársela a nuestra aplicación.

La aplicación y el servidor se comunican para transmitir la información
Fuente: Android Developers Blog

Esta ilustración del blog de Android Developers quizás te sea de ayuda para la explicación. Cuando nuestro usuario quiera ver las opiniones de un restaurante, la aplicación le preguntará al servidor que le proporcione esas opiniones. El servidor le contestará y la aplicación mostrará esas opiniones de una forma bonita.

Pues bien, toda esa comunicación del servidor y el almacenaje de esos datos, como podrás deducir, no se hace por arte de magia. En este punto necesitarás un programador backend, que son los encargados de que esta magia ocurra. Si le quieres buscar un sentido al término backend, sería algo así como la parte del sistema que está oculta.

Este programador backend será el encargado de almacenar todos esos datos, e implementar un sistema de comunicación el cual el desarrollador de aplicaciones móviles utilizará para la app.

¿Cómo los encuentro y los uno a todos?

Muy bien, ahora ya sabes qué personas necesitas para crear esa aplicación móvil que tienes en mente. Necesitarás un diseñador especializado en aplicaciones móviles, un programador para Android, un programador para iOS y un programador de backend.

Ahora bien, seguramente te preguntes cómo puedes encontrar y unir a todas esas personas para tu proyecto.

Aquí tienes básicamente dos posibilidades. Puedes buscar individualmente cada miembro del equipo o bien puedes encontrar una sola persona que se encargue de todo eso.

Vamos a dejar la búsqueda individual para el siguiente punto y centrarnos en la solución “fácil”, buscar a alguien que se ocupe de unir un equipo. De esta manera, podrás explicar tu proyecto a una sola persona y que ella se encargue de buscar los profesionales más adecuados para desarrollar el proyecto.

La primera opción sería contactar con una empresa que desarrollara aplicaciones móviles. Actualmente existen muchas empresas dedicadas a ello y puedes encontrarlas fácilmente haciendo una búsqueda en Google. Contactas con ellas, les explicas tu idea y se encargarán de desarrollar tu proyecto sin que tengas que preocuparte de buscar a todos esos profesionales. Normalmente tendrán trabajadores internos para cada uno de esos perfiles que necesitas y si no los tienen, contratarán un freelance para desarrollar esas tareas.

La otra opción es contactar con un freelance que se encargue de ese proceso. El tipo de freelance que tendrías que buscar aquí, es un desarrollador de aplicaciones móviles que cuente con una serie de colaboradores para desarrollar esas tareas que él no hace. Por ejemplo, yo mismo me encargo de desarrollar tanto para Android como para iOS, ahora bien, para las tareas de diseño y de desarrollo backend, cuento con colaboradores de confianza que están especializados en ello.

De esta manera, también podrás explicar tu proyecto a una sola persona y que ella se encargue de delegar las tareas secundarias.

Contratar a un freelance capaz de desarrollar todo el proyecto, generalmente puede ser más económico que una empresa. Además estarás en contacto directo con la persona que va a desarrollar el corazón de tu aplicación, mientras que con una empresa, quizás te sea más difícil contactar con el desarrollador que está trabajando directamente en tu aplicación.

¿Dónde encuentro individualmente estos perfiles?

¿Quieres encargarte personalmente de encontrar uno a uno estos perfiles? Ok, vamos a ver que posibilidades tienes.

Para encontrar perfiles freelance que encajen con tu proyecto tienes básicamente tres opciones.

Pregunta a las personas de tu alrededor

La primera opción es quizás la mas segura y las más complicada. El boca a boca. ¿Tienes a alguien conocido que ya ha desarrollado una aplicación? ¿Alguien de tus contactos conoce freelancers de confianza que te podrían ayudar? Si puedes encontrar a alguien de confianza que te recomiende algún profesional, haz uso de ello. Dependiendo de tu circulo de contactos te será más o menos difícil encontrar estas referencias, pero si lo encuentras, genial.

Busca en google a las personas que necesites

La segunda opción es la más usada siempre que necesitamos algo, recurrir a San Google. Una simple búsqueda y podremos tener varios resultados. Tendrás que hacer búsquedas del estilo : diseñador de aplicaciones móviles freelance, desarrollador Android freelance, desarrollador iOS freelance o desarrollador backend freelance. Entra en las webs de los profesionales que encuentres, compara sus perfiles y contacta con ellos.

Los marketplaces son una buena herramienta para encontrar freelancers

Por último, una opción muy a tener en cuenta son los marketplaces especializados en freelancers. Los logos que puedes ver en la imagen de arriba son algunos de los muchos que existen. Por ejemplo, Nubelo es una plataforma donde podrás encontrar freelancers clasificados por su especialidad.

¿La parte buena de los marketplace? Ponen a tu disposición un sistemas de valoraciones. De esta manera puedes elegir con más confianza al tener disponibles las opiniones de otros clientes. También suelen ofrecer sistemas de pago seguros, garantizando que pagas cuando el proyecto está acabado.

Conclusión

Desarrollar una aplicación móvil no es algo de lo que se pueda encargar una sola persona, por lo menos si buscas una aplicación de calidad.

Normalmente entrarán en juego un diseñador, uno o varios desarrolladores de aplicaciones y un desarrollador backend. Todos estos perfiles unidos harán que ese proyecto que tienes en mente pueda ser llevado a cabo correctamente. Tómate tiempo para elegir a alguien que te transmita confianza, ya sea a través de buscar a una sola persona que se encargue de todo o buscando individualmente por tu cuenta cada perfil.

Si te ha quedado alguna duda, puedes contactar conmigo sin ningún problema y estaré encantado de poderte ayudar.

Compartir