Especialidades y niveles de un desarrollador
Publicado: 04/06/2021Misión de la ocupación
Participar del proceso de programación/implementación teniendo como entrada las especificaciones de software y ajustándose a tiempos y estándares de calidad y trabajo de la organización y del proyecto.
Nombres de cargos similares
Programador, Analista-programador, Developer.
Areas de especialización
Desarrollador de aplicaciones clientes-servidor
Diseñar, programar, implementar y mantener aplicaciones de escritorio.
Programar con capacidad de conexión con un servidor de aplicaciones.
Sólidos conocimientos de tecnologías de comunicación de aplicaciones distribuidas.
Sólidos conocimientos de consultas avanzadas en bases de datos robustas con gran volumen de información.
Desarrollador Web
Diseñar, programar, implementar y mantener aplicaciones Web Front-end y Back-End
Sólidos conocimientos en HTML, CSS, JavaScript y extensiones de JS como jQuery u otros
Conocimiento de protocolos de internet (ej: HTTP, HTTPS, FTP, TELNET, etc)
Conocimiento de lenguajes de estructuras y transferencias de datos serializados como XML, JSON
Conocimiento de programación asincrónica y servicios web: AJAX, SOAP, Rest API
Conocimiento de testing funcional y de stress de aplicaciones web
Capacidad de desarrollo de interfaces web responsivas para distintos tipos de pantallas
Conocimientos de Seguridad Web. Técnicas de prevención de ataques por SQL Injection y XSS
Desarrollador Juegos / Aplicaciones Lúdicas
Analizar y desarrollar el código fuente a partir de stories, improvements y bugs
Colaborar con las tareas de testing de los juegos desarrollados, creando casos de prueba automatizados cuado sea necesario y eventualmente creando issues o haciendo seguimiento de los mismos o el cierre.
Participación en el Basecamp del proyecto de ser necesario
Desarrollo y generación de ideas para nuevos juegos
Desarrollador Aplicaciones móviles
Participar en la definición de la interfaz gráfica para móviles
Conocer sobre el desarrollo de apps móviles para las diferentes tecnologías nativas (ios, android, windows)
Integración entre desarrollo mobile y desarrollo web. Comunicación un servidor web a través de API Rest.
Trabajar junto a los desarrolladores web para crear y mantener un marco sólido para soportar las aplicaciones móviles y web
Trabajar con los desarrolladores de front-end para construir la interfaz con el foco en las características de usabilidad
Crear interfaces de usuario atractivas, específicas del dispositivo y experiencias
Normalizar la plataforma para entregar a través de múltiples marcas con mínima duplicación de esfuerzos
Mantenerse al día sobre las últimas tendencias del sector en las tecnologías móviles
Desarrollador de sistemas embebidos
Conocimientos avanzados de Electrónica Digital (Multímetro, Osciloscopio, Soldadura, Ley de Ohm, Resistencias, Capacitores, Semiconductores, Circuitos Integrados)
Concepto de ánodo y cátodo, Multiplexación, Transistores
Manejo de sensores para tomar información del medio ambiente (luz, temperatura, humedad, humo, etc.)
Lectura de señales digitales (Digital Read, Pulsador, Internal Pull-Up, Pull-Up / Pull-Down, Interrupciones)
Herramientas y protocolos de comunicación (Comunicación Serial, Bit / Bytes, Bluetooth, Wifi)
Conocimientos de procesadores cortex
Desarrollo de sistemas sobre placas open hard como Arduino o Raspberry u otros
Arquitectura de Integración por Serie
Memoria SD, Flash, EEPROM
Request / Response HTTP
Configuración de Router
Arquitectura de Integración por Ethernet
Domótica, Robótica, Internet de las cosas.
Diferencias por nivel
Trainee
No requiere experiencia previa, requiere capacitación y supervisión.
Junior
Tiene alguna experiencia, pero escasa autonomía. A menudo requiere apoyo para completar asignaciones que no sean rutinarias.
SemiSenior
Tiene experiencia en su campo de ocupación e independencia para abordar problemas conocidos; puede descomponer problemas, buscar posibles soluciones y tiene idea del conjunto del proyecto.
Senior
Cuenta con una experiencia (más de 4 años) variada, gran autonomía y capacidad de brindar coaching a otros; comprende la arquitectura y sabe preguntar y completar especificaciones incompletas; sabe estimar su esfuerzo. Puede participar del diseño y realizar revisiones del código de otros miembros, asumiendo otras responsabilidades.
Fuente: 2021 CESSI ARGENTINA :: Cámara de la Industria Argentina del Software.
Registrarme Postularme