Red de conocimiento informático - Conocimiento informático - ¿Qué trabajos puede hacer un ingeniero de aplicaciones de IoT después de estudiar la especialización en Internet de las cosas?

¿Qué trabajos puede hacer un ingeniero de aplicaciones de IoT después de estudiar la especialización en Internet de las cosas?

El grupo de talentos de ingenieros de aplicaciones de IoT debe incluir principalmente ingenieros de TI e ingenieros de OT.

Las áreas generales de interés incluyen: transporte inteligente, protección ambiental, trabajo gubernamental, seguridad pública, seguridad, hogar seguro, protección inteligente contra incendios, monitoreo industrial, monitoreo ambiental, cuidado de personas mayores, salud personal, cultivo de flores, monitoreo de la calidad del agua, trazabilidad de alimentos, reconocimiento enemigo y recopilación de inteligencia y otros campos y puestos específicos incluyen: diseñadores de hardware, desarrolladores de firmware integrado, expertos en comunicaciones inalámbricas, desarrolladores back-end, desarrolladores front-end, desarrolladores de aplicaciones, ingenieros de automatización e integración de sistemas, científicos de datos y más.

Diseñador de hardware: la mayoría de los proyectos de IoT implican algún tipo de diseño de hardware personalizado. La complejidad del hardware varía de un proyecto a otro. En algunos casos, el uso de módulos de hardware y diseños de referencia solo requiere conocimientos básicos de ingeniería eléctrica. Algunos proyectos más complejos requieren más experiencia y conocimientos. Las técnicas comunes incluyen el diseño de placas de circuito impreso (PCB), diseño de antenas y RF, sincronización, experiencia relacionada con el enrutamiento de señales, diseño de bajo consumo y optimización del suministro de energía.

Desarrollador de firmware integrado: para que el hardware funcione correctamente, necesita un desarrollador integrado. Son desarrolladores de software que trabajan en el nivel más bajo, más cercano al hardware básico. Este tipo de software se llama firmware (un cruce entre software y hardware). La experiencia de estos desarrolladores a menudo incluye ingeniería eléctrica, arquitectura informática y desarrollo de software. Los desarrolladores integrados trabajan en versiones prototipo del hardware final, por lo que sus escritorios a menudo parecen desordenados... Las tecnologías comunes incluyen lenguajes de programación (C, Assembly, C++), experiencia en sistemas operativos en tiempo real (RTOS) (FreeRTOS, Contiki, Zephyr), Linux integrado, control de versiones de código fuente, seguridad física y de la información, y más.

Experto en comunicaciones inalámbricas: la mayoría de los proyectos de IoT son proyectos inalámbricos, pero la tecnología inalámbrica es muy difícil porque la tecnología inalámbrica combina la doble complejidad de la física y el software. Los expertos en comunicaciones inalámbricas generalmente provienen de los campos de las comunicaciones inalámbricas, los protocolos de red y el desarrollo de software. Para los sistemas de IoT a gran escala, es necesaria experiencia en comunicaciones inalámbricas para definir correctamente la red y los modelos de comunicación. Los sistemas IoT de consumo, por otro lado, requieren experiencia en comunicaciones inalámbricas para garantizar una conexión fluida entre el dispositivo y el teléfono inteligente del usuario a través de Bluetooth. Las tecnologías comunes incluyen simulación de red, red de malla inalámbrica, dominio de la tecnología de propagación inalámbrica, dominio del consumo de energía, protocolos (TCP/IP, IPv4, IPv6, RPL, TLS, WiFi, Bluetooth, 6lowpan, ZigBee, LoRA, MQTT, CoAP).

Desarrollador backend: en los sistemas IoT, el backend necesita manejar la lógica de la aplicación y la base de datos. Normalmente, el backend se implementa en un host en la nube y es responsable de almacenar datos de dispositivos IoT, autenticar usuarios, proporcionar API al frontend e integrarse con otros sistemas. Las tecnologías comunes incluyen lenguajes de programación (JavaScript, Go, Python, Ruby), bases de datos (MySQL, MongoDB, Redis), experiencia DevOps y plataformas en la nube (AWS de Amazon, Heroku, Azure de Microsoft).

Desarrolladores front-end: la mayoría de proyectos de IoT tienen un front-end en forma de página web. Los usuarios pueden interactuar con el sistema a través de estas páginas web. Por lo tanto, estas páginas deben ser fáciles de usar, seguras, ejecutarse en los navegadores web más comunes y estar actualizadas. Estas interfaces se desarrollan utilizando HTML, a menudo utilizando marcos de interfaz de JavaScript existentes. Los desarrolladores de aplicaciones para el usuario necesitan crear experiencias visuales mientras envían grandes cantidades de texto a páginas web.

Las tecnologías más utilizadas incluyen diseño UI/UX, entrevistas con usuarios y experiencia de interacción persona-computadora, HTML, CSS, Javascript, marcos de desarrollo web (Vue.js, React, Bootstrap).

Desarrolladores de aplicaciones: muchos proyectos de IoT orientados al usuario requieren el uso de aplicaciones móviles como interfaz de usuario. A medida que avanzaba el proyecto, la importancia de la experiencia de la aplicación móvil se hizo cada vez más destacada. Normalmente, necesitamos desarrollar y mantener dos versiones: iOS y Android. A veces también es posible desarrollar aplicaciones nativas híbridas (normalmente desarrolladas utilizando HTML). La mayoría de los desarrolladores de aplicaciones conocen bien los pros y los contras de los marcos nativos versus los híbridos. Las tecnologías comunes incluyen marcos nativos/híbridos de desarrollo de Android e iOS (Phonegap/Cordova, Ionic, Angular, React, Vue), lenguajes de programación (Java, Swift, Objective C, JavaScript).

Ingenieros de automatización e integración de sistemas: muchos proyectos de IoT requieren integración con software existente. La integración de software es una tarea a menudo subestimada que a menudo requiere un esfuerzo significativo para aplicar un conjunto específico de técnicas para lograr el éxito. Además, una vez que comienza la integración del software, es importante garantizar que la integración siga siendo funcional. Aquí es donde necesitamos emplear pruebas automatizadas. Los ingenieros de automatización e integración de sistemas requieren mucha experiencia práctica y coraje porque es un trabajo difícil. ¿Las tecnologías comunes incluyen marcos de prueba automatizados (Jenkins, Mocha, Travis), API REST y lenguajes de programación (Javascript, Java, Python, Bash)?

Científico de datos: todos los proyectos de IoT giran en torno a datos y es necesario aprovecharlos al máximo. En las primeras etapas de un proyecto, esta parte del trabajo puede ser tan simple como poner los KPI en una hoja de Excel y compararlos. Pero a medida que su proyecto crezca, necesitará realizar un análisis más profundo de sus datos. Aquí es donde entran los científicos de datos. Los científicos de datos pueden encontrar patrones e información procesable a través de datos complejos. Este es el valor máximo de los datos. Las tecnologías comunes incluyen estadística, inteligencia artificial, aprendizaje automático, minería de datos y lenguajes de programación (Matlab, R, Python)