Agile Talent est-il la réponse pour la conception de systèmes embarqués ?

Publié: 2022-03-11

Des calculatrices aux voitures, les systèmes embarqués sont partout où nous regardons. Au fur et à mesure que vous lisez cet article, l'appareil que vous utilisez s'appuie sur des dizaines de ces systèmes - caractérisés par des logiciels imbriqués et servant un objectif dans un élément matériel - pour afficher du texte et réagir à vos commandes. Les systèmes embarqués, on peut le dire sans risque de se tromper, sont essentiels à la vie quotidienne des particuliers et des industries entières.

La conception de systèmes embarqués est devenue encore plus vitale et omniprésente avec l'essor de «l'Internet des objets» (IoT). L'IoT est alimenté par des systèmes embarqués et sa portée s'étend rapidement.

Une étude de 2013 publiée par McKinsey & Co. a estimé que d'ici 2020, environ 30 milliards d'objets pourraient être connectés à l'IoT. Une étude menée en 2017 par le Boston Consulting Group a en outre révélé que les entreprises sont sur le point de dépenser plus de 250 milliards de dollars en applications et infrastructures IoT rien qu'en 2020. Bien que de telles estimations puissent finalement manquer la cible, l'importance future de l'IdO pour les entreprises et les consommateurs semble assurée.

Compte tenu de l'impact significatif de l'IoT sur les consommateurs et de son énorme potentiel économique, il n'est pas surprenant que les meilleurs ingénieurs capables de concevoir et de développer des systèmes embarqués soient en forte demande. Dans certaines industries, cependant, les changements apportés par l'IdO dépassent la capacité des entreprises à embaucher de tels talents et à constituer des équipes internes.

Ce problème est particulièrement aigu dans les industries traditionnellement centrées sur le matériel et les machines lourdes, plutôt que sur le développement de logiciels et des domaines comme l'apprentissage automatique et l'intelligence artificielle. De plus, ces industries sont souvent situées loin des épicentres technologiques sur les côtes est et ouest des États-Unis, ce qui rend encore plus difficile de persuader les meilleurs talents du marché du travail de les choisir plutôt que des alternatives de haute technologie de la Silicon Valley. Le besoin pour ces industries d'embaucher des experts en systèmes embarqués n'a jamais été aussi grand et ne fera qu'augmenter.

Le besoin pour ces industries d'embaucher des experts en systèmes embarqués n'a jamais été aussi grand et ne fera qu'augmenter.

Dans cet article, nous verrons que les talents agiles - essentiellement définis comme des freelances experts - peuvent permettre à ces industries de s'adapter avec succès aux défis posés par l'importance toujours croissante des systèmes embarqués. En utilisant l'industrie automobile comme exemple, nous comprendrons également certains des principaux obstacles à l'utilisation de développeurs de systèmes embarqués agiles, et comment ils peuvent être surmontés.

Développement de systèmes embarqués agiles - Défis et solutions

Deux des plus grands défis auxquels sont confrontées les entreprises cherchant à développer une expertise en développement de systèmes embarqués - trouver le bon talent et inciter les talents à déménager - peuvent être résolus avec l'utilisation d'ingénieurs agiles, qui peuvent travailler en interne ou à distance.

Pénurie de talents

Les ingénieurs en systèmes embarqués sont rares. Bien qu'il soit difficile d'obtenir des estimations empiriques sur le nombre de développeurs de systèmes embarqués actuellement sur le marché du travail, diverses données sur la demande de tels talents donnent une idée de la taille relative du marché des systèmes embarqués.

Le Bureau of Labor Statistics a constaté qu'en 2016, il y avait environ 1,3 million d'emplois en génie logiciel, contre 74 000 emplois en génie informatique. Une recherche de base sur Indeed, un moteur de recherche d'emploi, donne environ 63 000 postes ouverts dans le développement d'applications, contre environ 12 000 postes dans les systèmes embarqués. Bien qu'il s'agisse de mesures très imparfaites, elles suggèrent que le marché des systèmes embarqués est éclipsé par celui de l'ingénierie logicielle traditionnelle.

La pénurie d'experts en systèmes embarqués s'explique, au moins en partie, par l'éducation. Dans un article de 2014, Robert Dewar, professeur émérite à l'Université de New York, a fait valoir que les départements d'informatique ont des compétences moins importantes - telles que les mathématiques avancées, le travail d'équipe, la compréhension des systèmes d'image globale et la connaissance d'un large éventail de langages de programmation - qui sont essentielles au développement de systèmes embarqués.

Avec une formation insuffisante, il existe un écart important entre les meilleurs développeurs de systèmes embarqués et les autres. Marcos Oviedo, ingénieur en systèmes embarqués chez Toptal et architecte logiciel de longue date chez Intel, affirme que d'après son expérience, de nombreux ingénieurs manquent de la combinaison d'expertise en développement matériel et logiciel essentielle à la réussite de la conception de systèmes embarqués. L'utilisation de talents agiles, dit-il, peut apporter aux entreprises une solution à ce problème.

Les talents à distance, en particulier, peuvent apporter des avantages significatifs, car ils permettent aux entreprises d'accéder à un vaste vivier de talents dotés d'un large éventail de compétences : du produit », déclare Oviedo. "C'est certainement quelque chose que les talents à distance peuvent apporter à la table."

Emplacement, emplacement, emplacement

Avec une grande partie du monde de la technologie concentrée sur les côtes est et ouest des États-Unis, il peut être difficile de motiver les meilleurs talents technologiques à travailler - et à s'installer - ailleurs.

Bien que ce problème s'applique aux entreprises qui ont besoin de talents technologiques de tous horizons, il est particulièrement pressant pour les entreprises à la recherche de talents dans des domaines tels que les systèmes embarqués, en pénurie.

Les talents agiles peuvent contribuer de manière significative aux projets qui s'appuient sur des composants matériels standardisés et faciles à manipuler.

Les talents agiles peuvent résoudre ce problème en permettant aux entreprises d'embaucher les meilleurs ingénieurs qui peuvent vivre où ils veulent. Au lieu de mener une bataille difficile en essayant de persuader les ingénieurs des systèmes embarqués de déménager - et donc de se limiter à embaucher uniquement les ingénieurs disposés à faire un tel déménagement - les entreprises peuvent embaucher des talents travaillant de n'importe où. Cela élimine un obstacle majeur à l'embauche des meilleurs ingénieurs pour le travail à accomplir et permet aux entreprises d'acquérir rapidement et avec succès une expertise dans les systèmes embarqués.

Maintenant que nous comprenons certains des problèmes clés que les talents agiles peuvent résoudre, nous pouvons nous tourner vers l'exploration des conditions qui permettent aux entreprises d'utiliser ces talents et des conditions qui rendent cela plus difficile.

Quand les développeurs de systèmes embarqués agiles sont-ils viables ?

Pour certains développeurs de systèmes embarqués, travailler à distance est plus facile à dire qu'à faire. Alors qu'un ingénieur peut travailler sur une application mobile dans le confort de n'importe quel café du monde, le développement de systèmes logiciels pour de gros composants matériels exige une connaissance approfondie du matériel en question, ce qui peut être difficile à acquérir sans physique. proximité du matériel lui-même.

Il est important de comprendre quand un tel talent est approprié et quand il peut ne pas l'être.

Lorsque les talents agiles ou à distance sont viables : les talents agiles peuvent contribuer de manière significative aux projets qui reposent sur des composants matériels standardisés et faciles à manipuler. Dans ces cas, les entreprises peuvent fournir aux ingénieurs embarqués des spécifications matérielles ou des kits de développement logiciel (SDK) généraux que les ingénieurs peuvent modifier et utiliser pour développer leurs produits depuis n'importe où.

Flavio de Castro Alves Filho, un développeur de systèmes embarqués basé à Sao Paulo, au Brésil, a constaté que les entreprises lui fournissent souvent, ainsi qu'à son équipe, les outils nécessaires pour réaliser des projets à distance. Lorsqu'il travaillait sur le développement de systèmes embarqués pour les équipements d'électrocardiogramme (ECG), par exemple, Filho a reçu de nombreux éléments matériels de base - convertisseurs numériques, microprocesseurs et microcontrôleurs - nécessaires pour mener à bien sa tâche. "Si nous avons le matériel final, c'est bien, mais ce n'est pas une exigence", a déclaré Filho.

Lorsque les talents agiles ou à distance peuvent ne pas être viables : à l'inverse, l'utilisation de talents agiles à distance peut être difficile pour les projets qui impliquent des normes de sécurité strictes ou des composants matériels particulièrement volumineux. Il incombe aux développeurs indépendants de systèmes embarqués de sécuriser les espaces physiques et les équipements leur permettant de travailler à distance dans un large éventail de cas. Pourtant, ces cas (explorés plus en détail dans l'étude de cas automobile ci-dessous) peuvent exiger des espaces de travail d'une taille prohibitive pour le travail à distance ou des outils qui peuvent être inaccessibles.

De plus, les entreprises peuvent choisir d'embaucher des ingénieurs à temps plein plutôt que des talents agiles pour certains projets de systèmes embarqués « critiques ». Ces projets peuvent durer de longues périodes – parfois des années – et impliquer des systèmes si sensibles que les entreprises doivent les garder strictement en interne.

Hayram Nicacio, président de la Society of Automotive Engineers Brasil, fait ce point à propos des systèmes de contrôle dans les véhicules : « Ils ne gardent pas [le développement des systèmes de contrôle] dans un coffre-fort à sept clés ; ils le gardent dans sept coffres-forts, l'un dans l'autre. Dans certains cas, les entreprises ne se sentiront tout simplement pas à l'aise d'embaucher des talents agiles en raison de la nature hautement sensible ou exclusive du projet.

Bien que ces défis soient réels, l'étude de cas suivante montrera qu'ils ne sont pas insurmontables.

Étude de cas : L'industrie automobile

En tant qu'industrie héritée, fondée sur les systèmes embarqués et subissant des changements technologiques rapides, l'industrie automobile fournit une illustration utile à la fois de la nécessité d'une expertise des systèmes embarqués et des défis liés à l'utilisation de talents agiles pour répondre à ce besoin.

L'essor de la voiture numérique

Fondamentalement, les voitures ont toujours été des ensembles complexes de systèmes embarqués, et dire que leur complexité a augmenté avec le temps serait un euphémisme grossier. Un bref regard sur la conception de véhicules vintage par rapport à moderne démontre ce point.

Le Ford Model T, produit entre 1908 et 1927, est, selon les normes d'aujourd'hui, relativement simple dans sa conception et sa construction. Un seul modèle T se composait d'environ 1 500 pièces distinctes que les ingénieurs en mécanique et d'autres assemblent sur les chaînes de montage innovantes de Ford. Un véhicule moderne, en revanche, compte environ 15 000 pièces distinctes.

Pourtant, l'augmentation de la complexité automobile n'est pas seulement le résultat d'une augmentation du nombre de pièces utilisées, mais d'une expansion des différents types de pièces utilisées. Alors que le modèle T comprenait certains composants électriques de base, il était principalement construit à l'aide de pièces mécaniques. Un véhicule moderne est un mélange beaucoup plus varié de composants mécaniques, électriques et logiciels. Comme le souligne un article de 2015 du New York Times , les véhicules haut de gamme produits aujourd'hui sont "parmi les machines les plus sophistiquées de la planète, contenant 100 millions de lignes de code ou plus". Bien que les conceptions de véhicules d'aujourd'hui reposent encore fortement sur les composants mécaniques et l'ingénierie électromécanique, elles sont devenues de plus en plus dépendantes des logiciels et de la puissance de calcul.

Nouveau type de talent requis pour un nouveau type de voiture

En tant qu'industrie centenaire traditionnellement centrée sur les systèmes électromécaniques, en transition vers des technologies logicielles plus avancées, la pénurie relative d'ingénieurs en logiciel dans le secteur automobile est compréhensible.

L'industrie automobile a besoin de plus d'ingénieurs en systèmes embarqués pour naviguer avec succès dans un avenir de plus en plus complexe piloté par les logiciels.

Historiquement basée à Detroit, dans le Michigan, l'industrie automobile américaine a également eu du mal à attirer les meilleurs talents du logiciel loin de la Silicon Valley. Ce problème est encore aggravé par des entreprises de haute technologie, telles que Waymo d'Alphabet, qui font des incursions agressives dans l'espace automobile. Les constructeurs automobiles ont abordé cette menace de plusieurs façons. Certains se sont associés à des acteurs de l'industrie de la haute technologie, tandis que d'autres ont réussi à développer une expertise de haute technologie en interne. L'industrie automobile a besoin de plus d'ingénieurs en systèmes embarqués, parmi d'autres experts en technologie de pointe, pour naviguer avec succès dans un avenir de plus en plus complexe piloté par les logiciels.

Surmonter les défis des talents agiles

Bien que l'industrie automobile puisse être confrontée à des défis dans l'utilisation de développeurs de systèmes embarqués agiles, il existe un certain nombre de solutions potentielles qui doivent être comprises :

Exigences de sécurité :

Défi : L'industrie automobile a des normes de sécurité fonctionnelle strictes, à savoir ISO 26262, qui façonnent la façon dont les systèmes et les composants sont développés. Bien qu'il ne s'agisse pas d'une exigence stricte, il est utile pour les développeurs de systèmes embarqués dans ce domaine d'avoir des qualifications conformes à ces normes.

Solution : L'obtention des certifications appropriées dans la norme ISO 26262 n'est pas trop difficile pour les développeurs de systèmes embarqués et peut être obtenue en suivant une série de cours. De plus, l'ISO 26262 suit les principes essentiels de la sécurité fonctionnelle trouvés dans la norme CEI 61508, destinée à s'appliquer à des industries comme le ferroviaire et l'énergie nucléaire. Les constructeurs automobiles et les fournisseurs peuvent cibler les talents des systèmes embarqués ayant une expérience préalable dans ces autres domaines afin de mieux garantir le respect de la norme ISO 26262.

Expertise spécifique :

Défi : Les véhicules, en particulier compte tenu de leur complexité, comportent de nombreux composants qui nécessitent une expertise spécifique dans un domaine. L'industrie automobile dépend des connaissances et des techniques matérielles - y compris les architectures MCU verrouillées, la communication CAN et LIN - dans lesquelles de nombreux ingénieurs peuvent ne pas avoir d'expertise. Étant donné que ces experts du domaine sont rares, les constructeurs automobiles peuvent être réticents à embaucher des pigistes par crainte qu'un ingénieur doté de compétences uniques ne quitte le projet à mi-chemin, en particulier lorsque les projets durent plusieurs mois, voire plusieurs années.

Solution : les talents agiles peuvent acquérir une expertise spécifique dans certains des systèmes utilisés par l'industrie automobile grâce à des cours spécifiques sur AUTOSAR et ASPICE, par exemple. Si un ingénieur agile possède une expertise dans un domaine pertinent (MCU, FPGA, par exemple) mais manque d'expérience dans l'espace automobile en particulier, il ou elle peut être guidé et encadré par d'autres qui ont une telle expérience. De plus, certains ingénieurs agiles peuvent ne pas être contraints par le temps, et pour certains - en particulier ceux qui souhaitent travailler sur site - ces projets peuvent représenter des opportunités intéressantes.

Logistique/localisation du matériel :

Défi : Les véhicules sont constitués de gros composants matériels. Selon le composant et le projet spécifiques, les développeurs de systèmes embarqués dans l'espace automobile peuvent avoir besoin d'un équipement de laboratoire spécialisé ou d'une proximité physique avec le matériel en cours de développement. Cela peut obliger les constructeurs automobiles à exclure les pigistes à distance.

Solution : les concepteurs de systèmes embarqués agiles peuvent acquérir leur propre équipement - tels que des oscilloscopes, des multimètres, CAN, FlexRay, des outils LIN pour le débogage, des simulateurs de cellules de batterie et des outils de test ESD - ainsi que des espaces de laboratoire suffisamment grands pour accueillir une large gamme de composants . Dans les cas impliquant des projets qui ne peuvent pas être réalisés à distance, les talents agiles disposés à voyager et à travailler sur place peuvent toujours réussir.

Le talent des systèmes embarqués agiles comme moyen d'innover

Il est vrai que le talent distant et agile n'est peut-être pas, en soi, une panacée pour tous les défis de conception de systèmes embarqués. Il est plutôt crucial de comprendre certaines des conditions qui peuvent rendre difficile l'utilisation de développeurs de systèmes embarqués agiles et distants et comment ces défis peuvent être surmontés.

Il est également important de souligner les avantages intangibles que les talents agiles peuvent apporter. L'utilisation de talents agiles peut non seulement aider les entreprises à résoudre facilement les problèmes, mais aussi injecter une dose de créativité qui peut s'avérer essentielle à la conception et au succès d'un produit.

Lorsque Marcos Oviedo a été embauché pour travailler à distance pour une startup de la Silicon Valley, le produit de l'entreprise - un bandeau pour aider à apprendre aux basketteurs comment lancer au mieux une balle dans le filet - n'avait pas de prototype, et l'entreprise n'avait pas de plan clairement défini sur la façon dont pour le développer. Bien que travaillant sur un continent différent, Oviedo a construit le premier prototype de l'entreprise en achetant du matériel de base facilement accessible et en réaffectant du matériel à partir d'autres appareils. Pour cette entreprise, le talent en conception de systèmes embarqués agiles a servi d'étincelle innovante qui s'est avérée déterminante pour le développement réussi de produits.

Qu'il s'agisse de bandeaux mécaniques, de montres-bracelets ou de voitures, l'IoT continuera de se développer et de s'appuyer sur des systèmes embarqués. Les entreprises auront besoin de maîtriser la conception de systèmes embarqués pour prospérer, et les talents agiles représentent une ressource à ne pas négliger.