¿En qué tecnologías debe centrarse un ingeniero de software para un futuro en IOT (Internet de las cosas)?

Puede dividir el dominio de IoT relevante para los ingenieros de software en tres áreas:

  1. Cerca de las cosas: trabajando en software integrado que viene con cosas inteligentes.
  2. Cerca de datos: trabajando en análisis de datos sobre datos recibidos de cosas
  3. Cerca de aplicaciones: trabajando en aplicaciones que interactúan con cosas (y personas).

En mi opinión, el # 3 es el más adecuado para alguien con experiencia en ingeniería de software.

Para hacer el n. ° 3, debe considerar qué lenguajes de programación y qué plataforma (s), si corresponde, desea utilizar para las aplicaciones de IoT.

Puede encontrar estos dos blogs útiles:

https://www.linkedin.com/pulse/i…

https://www.linkedin.com/pulse/h…

Además, es útil conocer (pero no dominar) los sensores y las MCU.

Aquí hay una lista de las habilidades requeridas de IoT para ingenieros de software:

https://www.linkedin.com/pulse/1…

La ingeniería de IoT implica tecnologías de hardware y software. Incluso si está en el dominio del software y desea permanecer allí, será realmente útil comprender la imagen completa. Sugiero revisar toda la pila de IoT con ejercicios prácticos y solo luego decidir dónde enfocarse.

Estos son los pasos que hemos utilizado en los entrenamientos de IoT:

  1. Compre un hardware de prototipos de alto nivel como Raspberry Pi, Onion.io o Intel Edison. Experimente con sus ejemplos iniciales. Esto ayuda a comprender la arquitectura general de un proyecto de IoT desde el dispositivo a la nube.
  2. Compre un hardware de prototipos de nivel inferior como un Arduino. Experimente con diferentes escudos de red como WiFi, GPRS y Ethernet. Use sus ejemplos para aprender cómo interactuar con Internet usando cada uno de ellos. Esto ayuda a comprender la naturaleza limitada de procesamiento y almacenamiento de la electrónica integrada.
  3. Si es posible, pruebe diferentes protocolos: HTTP, TCP y MQTT. Comprender los conceptos básicos de cada protocolo; ¿Qué datos binarios están pasando por cada uno de ellos?
  4. Conecte su dispositivo a una plataforma IoT como Ubidots, Thingspeak, Carriots, etc. Esto lo ayuda a llegar a un prototipo habilitado para la web realmente rápido.
  5. Extraiga datos de la plataforma y colóquela en su propia aplicación móvil o web. También puede experimentar datos crujientes con servicios como la API de predicción de Google o Watson de IBM.

Después de esto, podrás decidir en qué parte de la pila profundizar.

Divulgación: soy el fundador de la plataforma Ubidots IoT.

Debe decidir si ir a nuevas empresas o compañías más grandes, y si subir o bajar la pila de C ++, que es realmente un lenguaje probable para cualquiera.

Querrás terminar con habilidades en uno o más de análisis integrado, web full stack, móvil y quizás análisis. También es posible que necesite saber un poco sobre el procesamiento de señales o la física, ya que la comprensión del dominio de la aplicación puede requerirlo. Pero generalmente no demasiado, alguien en su equipo será un experto.

En una fase inicial de inicio, es posible que deba hacer más de uno de estos. En una empresa más grande, especialízate.

Pero muy poco sobre IoT es especial o diferente de otras cosas. Embebido para IoT solo está incrustado. Web es web. Móvil es móvil. La gente en Quora intentará venderlo en protocolos particulares, pero puede elegir y aprender lo que necesita más adelante, además de los conceptos básicos de web, móvil, WiFi, BLE, firmware de baja potencia, etc.

Dicho esto, haber hecho uno o dos proyectos hará que su currículum se vea mejor. Y si está incrustado, será importante haber utilizado una plataforma más “real” que Arduino. Intentaría hacer algo con BLE y / o WiFi.

Mi recomendación es echar un vistazo a C también. También debe conocer los protocolos como MQTT, CoAP, 6LowPAN, perfiles BLE como frecuencia cardíaca, Google Thread, Lemonbeat y muchos más.
¿Qué hay de practicar y pedir un adaptador GSM / GPS / BT?

y para acceder por MQTT a un corredor de MQTT?

Toda la presentación es pública aquí: módulo Bluetooth GPS GSM de bajo costo en el escudo Arduino

La seguridad será muy importante, por lo que deberá buscar tecnologías que realicen autenticación, control de acceso, firma de código … Las tecnologías inalámbricas actuales no son seguras y será necesario poder responder rápidamente a las vulnerabilidades y poder hacerlo de manera segura. -Actualizaciones al aire. Estas tecnologías pueden estar bien para bombillas, pero actualmente no son lo suficientemente buenas para sistemas de seguridad o cerraduras de puertas.

Hay muchas tecnologías como IA, aprendizaje automático, Iot, etc. que tendrán un gran impacto en los próximos años