Perfil de un desarrollador moderno

Por Aníbal Gonda, director de Desarrollo de Negocios de GeneXus International

 

El mundo de la tecnología avanza día a día, y aquellos que tenemos algunos años  trabajando en ella vemos con asombro la aceleración que toman los cambios conforme pasa el tiempo. Sin embargo, hay algunos principios que se mantienen, como el hecho de que sea la innovación sea una fuerza impulsora de los avances tecnológicos.

La intención de esta nota es poner en blanco y negro el conocimiento que debe de tener un desarrollador actualmente para poder crear aplicaciones que vayan con los avances y demandas que tenemos el día de hoy. Quiero ser extremadamente preciso con respecto al “día de hoy”, porque seguramente quienes lean esta nota en un tiempo encontrarán que hay más cosas para agregar.

Fundamentalmente, estamos viviendo en un momento de gran crecimiento y solidez de las aplicaciones web. Hemos llegando a un estándar, a nivel de navegadores, con el uso de Html5 y CCS3. Pero como no solo de web vive el hombre, hay que enfocarnos también en las plataformas móviles, ya que es muy claro el altísimo nivel de adopción que tienen en toda su gama, desde teléfonos hasta las distintas tabletas, cada uno con sus propias características y lenguajes, bajo el nombre genérico de Smart Devices.

En este contexto, vamos paso a paso a perfilar qué cualidades o conocimientos debe tener un desarrollador de apps. Primero, todas las aplicaciones de hoy son soportadas por manejadores de base de datos, siendo los más populares –sin lugar a dudas– los de bases de datos relacionales. Esto hace que el conocimiento de estas bases de datos sea imprescindible. Todo desarrollador debe contar hoy con conocimientos, al menos básicos, de bases de datos relacionales.

 

Segundo, hay que conocer algún lenguaje de programación. Los más populares actualmente son .Net y Java, aunque también están Ruby, PHP, entre otros. La tendencia a programar en uno o en otro depende del país o la región, pero a nivel general, se mantiene un cierto equilibrio entre las distintas opciones. 

 

 

 

Asimismo, pensando en la web y en dispositivos móviles, también es necesario tener  conocimientos de HTML5 y CCS3, el nuevo estándar de la web, que también es soportado por los navegadores de la mayoría de dispositivos móviles. 

 

 

Ahora, si el desarrollador va a enfocarse 100% a los dispositivos móviles, y planea hacer apps que respeten las características de cada uno de los dispositivos, utilicen al máximo su potencia, y le ofrezcan al usuario la mejor experiencia posible, hay que trabajar con los lenguajes de cada plataforma móvil; es decir, con Objetive C para el caso de iOS, una versión de Java tanto para Android como para Blackberry, y C# y XAML para el caso de Windows 8.

No hay que dejar de lado tampoco los conocimientos en el desarrollo de servicios, que permitan encapsular y desplegar el diálogo entre la app y la base de datos de la cual se alimenta, así como en encriptación, que permitan instalar en las apps los niveles apropiados de seguridad que requieren.

Todo esto apenas forma el perfil básico de los conocimientos que debe tener un buen desarrollador para crear aplicaciones web y móviles. Eso sí, estaría en falta si no mencionara que existen herramientas de desarrollo de software que facilitan el desarrollar una aplicación una sola vez, en un solo lenguaje de programación, y permiten luego entregarla lista para diferentes plataformas de servidor, escritorio, web o móviles al automatizar la generación de código.

Del otro lado, a nivel creativo, crear una app exitosa se trata de tener buenas ideas, que estén orientadas a solucionar problemas cotidianos o críticos; pensar en web y en movilidad, como ya hemos apuntado; utilizar facilitadores tecnológicos, como los servicios de nube para prototipar; tener en cuenta siempre a los usuarios, teniendo varias opciones para los diferentes sistemas móviles, no solo para uno; y aprovechar los medios que brinda la tecnología para difundir y recomendar tu app, como las redes sociales.

Así pues, el perfil ideal de un desarrollador moderno debe ser, ni más ni menos, que una mezcla balanceada entre técnico, artista y emprendedor. Todo un reto.