Compétences techniques nécessaires pour les projets IoT professionnels

Actualités de de l'Intelligence Artificielle - Machine Learning - Objets connectés

Compétences techniques nécessaires pour les projets IoT professionnels


Les projets IoT réussis sont lourds d’ingénierie. Développer un produit IoT réussi n’est pas une promenade dans le parc. Pour faciliter la planification des projets IoT, cet article répertorie les compétences de développeur nécessaires dans l’équipe:

  • Concepteurs de matériel
  • Développeurs de micrologiciels intégrés
  • Experts en communications sans fil
  • Développeurs backend
  • Développeurs frontend
  • Développeurs d’applications
  • Ingénieurs en automatisation et intégration de systèmes
  • Scientifiques des données

La première étape de tout projet IoT réussi consiste à définir les objectifs commerciaux et à créer un système de validation de principe pour estimer si ces objectifs sont atteignables. À ce stade, vous n’avez besoin que d’un sous-ensemble des compétences répertoriées dans cet article. Mais une fois qu’un projet est si réussi qu’il dépasse le niveau de preuve de concept, l’étendue et la profondeur requises de l’équipe augmentent.

Souvent, les développeurs individuels possèdent plusieurs des compétences. Nous avons travaillé avec des fondateurs de startup exceptionnels qui combinent tout ces compétences en une seule personne. Mais très peu de gens sont comme ça.

Parfois, chaque compétence de la liste nécessitera sa propre équipe. Le nombre de personnes nécessaires dépend à la fois de la complexité du projet et de son succès. Plus de succès signifie généralement plus de travail, mais aussi plus de revenus qui peuvent être utilisés pour embaucher plus de personnes.

En plus de ces compétences, toutes les personnes impliquées dans un projet IoT doivent partager un ensemble de schémas de pensée pour imprégner l’ensemble du projet et qui affectent les décisions technologiques tout au long de la pile:

  • L’orientation entreprise et client
  • La cyber-sécurité

Par exemple, si le déploiement de la preuve de concept révèle que les utilisateurs demandent un taux de mise à jour beaucoup plus précis du matériel, cela peut affecter tout, du matériel, en passant par le réseau sans fil, au backend, au frontend et aux données. analytique. De même, les problèmes de sécurité affecteront tout, du matériel et plus.

Concepteurs de matériel

La plupart des projets IoT incluent une forme de conception matérielle personnalisée. La complexité du matériel varie considérablement d’un projet à l’autre. Dans certains cas, il est possible d’utiliser des modules matériels et des conceptions de référence, pour lesquels une formation de base en génie électrique suffit. Les projets plus complexes nécessitent beaucoup plus d’expérience et d’expertise. Pour créer du matériel de niveau Apple, vous avez besoin d’une équipe matérielle de niveau Apple et d’un budget de niveau Apple.

Compétences typiques:

  • Circuit imprimé (PCB) conception
  • RF et conception d’antenne
  • Horloges, expérience de routage du signal
  • Conception basse consommation et optimisation de la consommation d’énergie
  • Sélection de puces: microcontrôleurs, capteurs, puces d’interface
  • Interfaçage: SPI, I2C, JTAG, USB, GPIO
  • Production et approvisionnement en composants

Pour créer du matériel de niveau Apple, vous avez besoin d’une équipe de matériel de niveau Apple et d’un budget de niveau Apple

Développeurs de micrologiciels intégrés

Pour transformer le matériel en magie, vous avez besoin de développeurs intégrés. Ce sont des logiciels qui font des logiciels à un niveau extrêmement bas, proche du matériel bare metal. Ce logiciel est appelé firmware (où raffermir est quelque chose entre doux et dur). Le contexte typique est une combinaison de génie électrique, d’architecture informatique et de développement de logiciels. Les développeurs embarqués travaillent avec des versions prototypes du matériel final et leurs bureaux ont donc tendance à paraître désordonnés.

Compétences typiques:

  • Langages de programmation: C, langage d’assemblage, C ++
  • Système d’exploitation en temps réel (RTOS) expérience: FreeRTOS, Contiki, Zephyr
  • Linux embarqué
  • Contrôle de version du code source
  • Sécurité physique et de l’information
  • Plateformes: Texas Instruments, BRAS Cortex, AVR, Microchip, Arduino, Raspberry Pi

Les développeurs embarqués travaillent avec des versions prototypes du matériel final et leurs bureaux ont donc tendance à paraître désordonnés

Experts en communications sans fil

La plupart des projets IoT sont sans fil et le sans fil est difficile car il combine toutes les difficultés du monde physique avec les complexités des logiciels. Une expérience typique pour un expert en communication sans fil est la communication sans fil, les protocoles réseau et le développement de logiciels. Pour les systèmes IoT à grande échelle, une expertise en communication sans fil est nécessaire pour dimensionner le réseau et les modèles de communication de manière appropriée. Pour les systèmes IoT grand public, une expertise en communication sans fil est nécessaire pour que les appareils se connectent en douceur via Bluetooth aux smartphones des utilisateurs.

Compétences typiques:

  • Simulation de réseau
  • Réseau maillé sans fil
  • Bonne compréhension de la propagation sans fil
  • Bonne compréhension de la consommation d’énergie
  • Protocoles: TCP/ IP, IPv4, IPv6, RPL, TLS, WiFi, Bluetooth, 6lowpan, ZigBee, Thread, LoRA, MQTT, CoAP

Développeurs backend

Dans les systèmes IoT, le backend est l’endroit où résident les bases de données et la logique d’application. Le backend est généralement déployé dans un hôte cloud et se charge de stocker les données des appareils IoT, d’authentifier les utilisateurs et de fournir des API pour le frontend et pour l’intégration avec d’autres systèmes.

Compétences typiques:

  • Langages de programmation: Javascript, Go, Python, Ruby
  • Base de données: MySQL, MongoDB, Redis
  • Expérience DevOps
  • Plateformes cloud: Amazon AWS, Heroku, Microsoft Azure

Développeurs frontend

La plupart des projets IoT ont une interface sous la forme d’une page Web. C’est là que les utilisateurs du système interagissent avec lui. Cela doit être convivial, sécurisé, fonctionner dans les navigateurs Web les plus courants et être tenu à jour. Les frontends sont développés en HTML et utilise presque toujours un cadre d’interface existant, écrit en Javascript. Les développeurs frontend créent des expériences visuelles, souvent en écrivant beaucoup de texte sur un écran.

Compétences typiques:

  • UI/ Conception UX
  • Expérience des entretiens avec les utilisateurs et HCI
  • HTML, CSS, Javascript
  • Framework de développement Web: Vue.js, React, Bootstrap

Les développeurs frontend créent des expériences visuelles, souvent en écrivant beaucoup de texte sur un écran

Développeurs d’applications

De nombreux projets IoT destinés aux utilisateurs utilisent une application mobile comme interface utilisateur. Au fur et à mesure que le projet progresse, l’expérience de l’application mobile devient de plus en plus importante. Cela signifie généralement que deux versions de l’application doivent être développées et maintenues: iOS et Android. Parfois, une application native hybride, qui serait généralement développée en HTML, est la manière de faire. La plupart des développeurs d’applications connaissent bien les avantages et les défis des frameworks natifs ou hybrides.

Compétences typiques:

  • Développement Android, iOS
  • Framework natifs / hybrides: Phonegap / Cordova, Ionic, Angular, React, Vue
  • Langages de programmation: Java, Swift, Objective C, Javascript

Intégration et automatisation de systèmes et ingénieurs

De nombreux projets IoT devront être intégrés aux logiciels existants. L’intégration de logiciels est une tâche souvent sous-estimée qui peut exiger des efforts importants et un ensemble spécifique de compétences pour réussir. Et une fois l’intégration logicielle en cours, vous voudrez vous assurer que l’intégration continue de fonctionner. C’est là que les tests automatisés entrent en jeu. Un ingénieur en intégration de systèmes et en automatisation aura une expérience pratique significative et beaucoup de courage, car c’est un travail difficile.

Compétences typiques:

  • Framework de tests automatisés: Jenkins, Mocha, Travis
  • DU REPOS Apis
  • Langages de programmation: Javascript, Java, Python, Bash

Scientifiques des données

Les projets IoT tournent autour des données et vous devez donner un sens à ces données. Dans les premières étapes du projet, cela peut être aussi simple que de placer des indicateurs de performance clés dans une feuille Excel pour les comparer, mais au fur et à mesure que le projet progresse, vous devrez peut-être une analyse plus approfondie des données. C’est là qu’intervient un data scientist. Les data scientists interprètent les données complexes pour trouver des modèles et des informations exploitables, ce qui détermine en fin de compte la valeur des données.

Compétences typiques:

  • Statistiques, IA, apprentissage automatique, exploration de données
  • Langages de programmation: Matlab, R, Python
  • Outils: Excel, Google BigQuery, Hadoop, TensorFlow, Spark

Conclusion

Un projet IoT à part entière nécessite un large éventail de compétences pour réussir. Au début du projet, la validation de l’analyse de rentabilisation est la tâche la plus importante, et pour cela, vous n’aurez pas besoin de toutes les compétences de la liste ci-dessus. Mais une fois que vous avez établi l’analyse de rentabilisation et que le projet peut commencer pour de vrai, ces compétences deviennent de plus en plus importantes.

L’utilisation d’une plate-forme logicielle IoT fournira une longueur d’avance en termes de renforcement des compétences qui ont déjà été investies dans la plate-forme. C’est ainsi que chez Thingsquare, nous aidons nos clients à mener à bien leurs projets IoT plus rapidement.