Di la palabra «desarrollador» y en Kinsta pensamos en «software» No, por ejemplo, «inmobiliario» Sin embargo, incluso el enfoque en los ordenadores y el código deja mucha libertad para describir los tipos de promotores.
Podríamos clasificar a los desarrolladores por el lenguaje de programación que utilizan -como «desarrollador de JavaScript» o «desarrollador de Python«-, pero eso no revelaría lo que están creando ni su papel en el proceso. Además, es habitual que los desarrolladores conozcan varios idiomas.
Así que utilizaremos algunas etiquetas ampliamente aceptadas (y más descriptivas) para los tipos de desarrolladores y veremos las tareas y herramientas que hay detrás de ellas.
¿Qué es Un Desarrollador?
Hemos establecido que el software es la clave de la historia de nuestros desarrolladores. Eso puede adoptar muchas formas.
Un miembro del equipo de programación que está detrás del software de base de datos SQL Server de Microsoft es un desarrollador. Alguien que utiliza el Lenguaje de Consulta Estructurado para trabajar con la información almacenada en dicha base de datos también puede ser un desarrollador.
Un desarrollador crea un sistema operativo de ordenador incrustado en una placa de circuito. Otro escribe scripts Bash para automatizar las interacciones entre otros múltiples programas de software.
Todos estos tipos de desarrolladores han construido algo con código.
¿Cuántos Tipos de Desarrolladores Hay?
No existe una lista «oficial» de descripciones de puestos de trabajo de desarrollador. Vamos a ver lo que hacen los desarrolladores utilizando una terminología común, e incluso vamos a dividir la amplia categoría de «desarrollador web» en tres funciones distintas. (Lo admitimos: Tenemos una debilidad en nuestro corazón por las personas que construyen sitios web)
En total, revisaremos aquí 11 tipos de desarrolladores.
1. Desarrollador web frontend
Un desarrollador frontend se centra en la interfaz de usuario de un sitio web. Utilizan sus conocimientos de HTML y CSS para controlar el aspecto y la sensación de un sitio, a menudo adaptándose a los distintos tamaños de pantalla de los navegadores móviles y de escritorio.
Los desarrolladores de frontend suelen basarse en JavaScript para crear una experiencia receptiva para los usuarios. Estos desarrolladores suelen estar familiarizados con las bibliotecas y marcos de JavaScript que pueden acelerar la creación de aplicaciones dinámicas orientadas al cliente.
El desarrollador frontend trabaja para mejorar el rendimiento del sitio web, optimizando las imágenes, el JavaScript y el marcado para que el tiempo de carga en los navegadores sea más rápido. La mayoría de los desarrolladores frontend también se centran en la optimización de los motores de búsqueda y la accesibilidad del sitio web.
Todo esto requiere muchas habilidades, y el salario de un desarrollador frontend puede reflejarlo.
¿Los desarrolladores frontend son diseñadores web?
Muchos desarrolladores frontend son también diseñadores, pero eso no es un requisito del título «frontend». Del mismo modo, muchos diseñadores web conocen bien el HTML y el CSS -y pueden utilizarlos en las maquetas- pero no se consideran desarrolladores.
Para muchas organizaciones, el diseño forma parte de la marca que abarca medios más allá de la web.
Independientemente de quién cree un diseño, el trabajo del desarrollador de frontend es darle vida en una página web y convertir la visión de una experiencia de usuario en una aplicación funcional.
2. Desarrollador web backend
Un desarrollador de backend crea aplicaciones del lado del servidor que suelen requerir experiencia en el software del servidor web, las bases de datos y los sistemas operativos en los que se ejecutan. Un ejemplo de código abierto sería el sistema operativo Linux, un servidor web Nginx o Apache y una base de datos MariaDB o PostgreSQL.
La línea entre el desarrollo del backend y el frontend se difumina con tecnologías como PHP, un lenguaje de scripting del lado del servidor que envía HTML a los navegadores en el frontend.
PHP -que impulsa WordPress y otros CMS populares, así como marcos de desarrollo como Laravel– es el lenguaje de programación del lado del servidor más común de la web. Sin embargo, los desarrolladores del backend pueden utilizar tecnologías como C# y el marco .NET de Microsoft, Python, Java, Ruby on Rails o Node.js.
Los desarrolladores de backend pueden esperar trabajar en colaboración con los miembros del equipo que se ocupan del lado del cliente de un sitio web. El desarrollo del lado del servidor también puede incluir la creación de interfaces de programación de aplicaciones (API) que apoyen los servicios del lado del cliente, con menos necesidad de un acoplamiento estrecho de ambos lados.
Si todo esto suena como tu tipo de trabajo, puede que te interesen los salarios típicos de los desarrolladores de backend.
3. Desarrollador web full-stack
Puede que hayas adivinado que un desarrollador full-stack hace el trabajo de los desarrolladores de frontend y backend. (Por desgracia, eso no significa que el salario típico de un desarrollador full-stack sea el doble que el de los demás)
Aun así, dominar todos los niveles del desarrollo web parece tener sus recompensas. Una encuesta realizada en 2022 por StackOverflow entre los desarrolladores descubrió que «desarrollador full-stack» era la respuesta principal (casi el 47%) cuando se pedía a los encuestados que describieran sus funciones.
¿Son los desarrolladores de WordPress desarrolladores de full stack?
Las características del alojamiento administrado de WordPress aquí en Kinsta permiten a cualquier persona competente en PHP hacer un desarrollo serio sin profundizar en el lado del servidor.
WordPress instalado en cualquier lugar es amigable para los desarrolladores y ofrece una gran biblioteca de sus propias funciones/métodos PHP que son una capa de abstracción sobre algunas tareas comunes del lado del servidor. Por ejemplo, los desarrolladores de WordPress pueden almacenar y recuperar registros en bases de datos relacionales sin escribir SQL. Pueden guardar cargas multimedia en el sistema de archivos de un servidor sin conocer la funcionalidad central de PHP que hace que todo esto ocurra.
«Desarrollador de WordPress» podría haber sido una categoría propia aquí, pero entonces tendríamos que hacer lo mismo con los desarrolladores que utilizan productos CMS como Drupal, Joomla y DNN y marcos como Laravel, .NET y Django.
Muchos desarrolladores de WordPress -en particular algunos que crean temas y plugins de WordPress – tienen inspiradoras habilidades de full stack. Así que la respuesta a la pregunta «¿Son los desarrolladores de WordPress desarrolladores full-stack? Depende.
4. Desarrollador de aplicaciones móviles
El término «aplicación» abarca mucho terreno en el desarrollo de software. Desde el escritorio hasta la web, las aplicaciones son las herramientas que hacen las cosas para los usuarios finales.
Cuando se acorta a sólo «aplicación» – como en «¡Hay una aplicación para eso!» – tendemos a pensar primero en las aplicaciones que se ejecutan en smartphones, tabletas y otros dispositivos móviles. Y la creación de aplicaciones móviles requiere un tipo de desarrollador especializado.
Los desarrolladores de aplicaciones móviles están familiarizados con los kits de desarrollo de software (SDK) y las herramientas relacionadas que se utilizan para crear aplicaciones para el sistema operativo de un dispositivo, como iOS de Apple o Android de Google.
Swift es el lenguaje de programación nativo para iOS, mientras que Java y Kotlin son los más utilizados para Android. Además, hay un gran ecosistema de herramientas de creación de aplicaciones, como Apache Cordova y NativeScript, que pueden convertir el código basado en JavaScript, HTML y CSS para la web en software móvil nativo.
Cuando examinamos los salarios medios de los desarrolladores de aplicaciones, descubrimos que los que construyen para plataformas móviles ganan ligeramente más que los que se centran en el escritorio o la web.
5. Desarrollador de software de escritorio
Los desarrolladores de escritorio crean aplicaciones de software que se ejecutan en ordenadores personales y estaciones de trabajo.
Los desarrolladores suelen crear aplicaciones de escritorio para sistemas operativos específicos, por lo que la actividad en este campo refleja las cuotas de mercado relativas de plataformas como Windows de Microsoft, macOS de Apple, Chrome OS de Google y el sistema operativo de código abierto Linux.
Utilizando datos recogidos de las visitas a sitios web de todo el mundo, Statcounter estimó en agosto de 2022 que Windows tenía una cuota de mercado del 74% entre los sistemas operativos de escritorio.
Es probable que los desarrolladores programen utilizando herramientas de entorno de desarrollo integrado (IDE) para editar, depurar y compilar rápidamente el código fuente.
Los lenguajes más populares para la programación de aplicaciones de escritorio son C#, C++, Swift y Java.
El software de escritorio se ejecuta localmente, pero las aplicaciones modernas pueden utilizar la conectividad a Internet para tareas que van desde la actualización de productos hasta el intercambio de datos a través del almacenamiento en la nube.
6. Científico de datos (desarrollador de Big Data)
Los seres humanos contribuyen a generar una gran cantidad de datos en su vida cotidiana: al hacer la compra en el supermercado, al navegar por la web, al pasar por delante de las cámaras de tráfico, al usar el teléfono móvil… incluso al votar. Hemos construido sistemas para registrar datos de fenómenos naturales como el clima, los terremotos y las señales electromagnéticas del espacio.
Un científico de datos es un mago de las matemáticas con un ordenador que puede descubrir patrones en toda esa información.
Es muy probable que estos desarrolladores utilicen el lenguaje de programación Python o algo más especializado, como R, Scala o Julia.
Los «grandes datos» suelen acabar en una base de datos relacional, por lo que un científico de datos probablemente tendrá SQL en su caja de herramientas de programación.
7. Desarrollador de inteligencia artificial/aprendizaje automático
Los desarrolladores de software de inteligencia artificial (IA) tratan de imitar los comportamientos humanos, como la toma de decisiones. Si se añade el aprendizaje automático (ML), una aplicación puede volverse más inteligente con el tiempo.
Las aplicaciones de IA/ML suelen procesar muchos datos utilizando algoritmos complejos, por lo que los desarrolladores de este campo suelen ser científicos de datos.
La empresa de investigación de mercados IDC descubrió que los ingresos mundiales de las aplicaciones, el hardware y los servicios relacionados con la IA superaron los 383.000 millones de dólares en 2021, un aumento de casi el 21% respecto a 2020.
El software de gestión de las relaciones con los clientes y el software de gestión de los recursos empresariales representaron alrededor del 65% de los ingresos de las aplicaciones mejoradas por la IA.
8. Desarrollador de juegos
Los desarrolladores de juegos de ordenador representan una amplia gama de habilidades.
Su software puede funcionar en ordenadores de sobremesa, dispositivos móviles, consolas o en navegadores web. Los argumentos se adaptan a diferentes géneros de juegos, como la simulación militar o deportiva, los shooters en primera persona, la estrategia o los juegos de rol. Además, probablemente haya gráficos en 3D, música y efectos de sonido.
En un mundo de juegos conectados a Internet, los desarrolladores de juegos multijugador masivos se enfrentan a requisitos de servidores y bases de datos tan exigentes como los sitios de comercio electrónico más concurridos.
Los desarrolladores de juegos suelen tener experiencia en herramientas de renderizado 3D y otros programas relacionados con la animación.
Y, centrándonos en la tecnología de vanguardia, recientes encuestas a desarrolladores realizadas por Developer Nation de SlashData mostraron que algo más del 37% de las aplicaciones de realidad aumentada (AR) o realidad virtual (VR) eran juegos de AR/VR. Otro 27,9% de los proyectos consistían en la construcción de mundos virtuales, algunos para juegos.
9. Desarrollador de sistemas operativos
Aunque miles de desarrolladores trabajan en los sistemas operativos más populares – contribuyendo a Linux o empleados por Microsoft, Apple o Google – sigue siendo un grupo exclusivo. Después de todo, SlashData dice que sus encuestas sugieren que la población total de desarrolladores en todo el mundo es de más de 24 millones.
Es muy probable que tu frigorífico tenga un sistema operativo, pero los sistemas operativos informáticos populares son esfuerzos que requieren grandes equipos de desarrolladores, la mayoría de los cuales trabajan en componentes más pequeños del proyecto general.
El núcleo de la mayoría de los sistemas operativos es el núcleo, que gestiona el acceso a la CPU, la memoria, los sistemas de archivos y los dispositivos de E/S. C es el principal lenguaje de codificación para los núcleos de Microsoft Windows, macOS de Apple y Linux. También se utiliza algo de código de bajo nivel escrito en ensamblador.
Y el núcleo de Android evolucionó a partir del núcleo de Linux.
Además del núcleo, un sistema operativo tiene controladores para gestionar varios dispositivos de hardware y aplicaciones para el mantenimiento del sistema. Y luego está la interfaz gráfica de usuario del sistema. Los desarrolladores pueden utilizar C, C++, Objective C (macOS) e incluso Python (Linux) para estos componentes.
10. Ingeniero de DevOps
Un ingeniero de DevOps gestiona las herramientas y los flujos de trabajo que hacen que el software pase de la fase de desarrollo a la publicación de forma rápida y fiable.
«DevOps» es una amalgama de las palabras «desarrollo» y «operaciones», y los profesionales automatizan las tareas repetitivas de desarrollo de software, desde la gestión del código hasta las pruebas, el despliegue, la supervisión, el mantenimiento y la resolución de problemas.
Estos ingenieros emplean un conjunto de herramientas DevOps para ayudar a acelerar los ciclos de lanzamiento de software, gestionar las distintas versiones de la base de código del proyecto y confirmar que el producto final funciona como se espera.
Cuando se utiliza para el desarrollo web, el proceso DevOps también puede garantizar que los recursos que necesita la aplicación están disponibles y correctamente configurados en el servidor web.
DevOps requiere habilidades avanzadas, y el salario de un ingeniero de DevOps suele reflejarlo.
11. Desarrollador de seguridad (SecDevOps)
Un desarrollador de seguridad crea herramientas y gestiona procesos que comprueban la seguridad del software y de los sistemas informáticos.
En el desarrollo de software, la seguridad suele ser un componente del proceso DevOps. Alguien que se centra en la seguridad en ese entorno podría llamarse ingeniero de SecDevOps.
Los desarrolladores de seguridad trabajan para proteger el software y los sistemas informáticos de los ataques y amenazas de ciberseguridad. Utilizan varias herramientas, incluidos lenguajes de scripting como Python, Bash y Ruby, para automatizar tareas repetitivas.
Un desarrollador de seguridad debe tener un conocimiento profundo del software y los sistemas que intenta proteger.
¿Qué Tipo de Desarrollador Quieres Ser?
Si estás pensando en convertirte en desarrollador, tenemos información que te ayudará a dar los siguientes pasos. Podrías leer sobre los mejores lenguajes de programación para aprender o adentrarte de lleno en el aprendizaje de PHP y descubrir los tutoriales de JavaScript.
Tal vez te interese saber ¿qué se necesita para ser un desarrollador de Laravel o centrarte en el aprendizaje de WordPress, el CMS más popular del mundo.
Entonces, tal vez algún día, te unas a nosotros con una carrera en Kinsta.
Resumen
Esto es un vistazo a 11 tipos de desarrolladores con funciones lo suficientemente distintas como para destacar las diversas tareas disponibles en sus campos.
Aun así, muchos desarrolladores desempeñan más de un papel, y la mayoría están familiarizados con varios lenguajes de programación o de scripting. Quizá por eso nunca nos pondremos de acuerdo en una lista «oficial» de tipos de desarrolladores.
Mientras tanto, si tienes un proyecto basado en la web que te gustaría poner en marcha, quizá quieras explorar las soluciones de alojamiento de aplicaciones y bases de datos de Kinsta.
Deja una respuesta