Este Talentul Agile răspunsul pentru proiectarea sistemelor încorporate?

Publicat: 2022-03-11

De la calculatoare la mașini, sistemele încorporate sunt peste tot unde ne uităm. Pe măsură ce citiți acest articol, dispozitivul pe care îl utilizați se bazează pe zeci de aceste sisteme – caracterizate de software-ul înglobat și care servesc unui scop într-o bucată de hardware – pentru a afișa text și a reacționa la comenzile dvs. Sistemele încorporate, este sigur de spus, sunt fundamentale pentru viața de zi cu zi pentru indivizi și industrii întregi deopotrivă.

Proiectarea sistemelor încorporate a devenit și mai vitală și omniprezentă odată cu apariția „Internetului obiectelor” (IoT). IoT este alimentat de sisteme încorporate, iar domeniul său de aplicare se extinde rapid.

Un studiu din 2013 emis de McKinsey & Co. a estimat că până în 2020, aproximativ 30 de miliarde de obiecte ar putea fi conectate la IoT. Un studiu din 2017 realizat de Boston Consulting Group a mai constatat că companiile sunt gata să cheltuiască peste 250 de miliarde de dolari pentru aplicații și infrastructură IoT numai în 2020. Deși astfel de estimări pot rata în cele din urmă marcajul, importanța viitoare a IoT atât pentru afaceri, cât și pentru consumatori pare asigurată.

Având în vedere impactul semnificativ al IoT asupra consumatorilor și potențialul economic uriaș, nu este surprinzător faptul că inginerii de top capabili să proiecteze și să dezvolte sisteme embedded sunt la mare căutare. În unele industrii, însă, schimbările aduse de IoT depășesc capacitatea companiilor de a angaja astfel de talente și de a construi echipe interne.

Această problemă este deosebit de acută în industriile centrate în mod tradițional pe hardware și mașini grele, mai degrabă decât pe dezvoltarea de software și în domenii precum învățarea automată și inteligența artificială. În plus, aceste industrii sunt adesea situate departe de epicentrele tehnologice de pe coastele de est și de vest ale SUA, ceea ce face și mai dificilă convingerea talentelor de top de pe piața muncii să le aleagă în locul alternativelor de înaltă tehnologie din Silicon Valley. Necesitatea acestor industrii de a angaja experți în sisteme încorporate nu a fost niciodată mai mare și va crește.

Necesitatea acestor industrii de a angaja experți în sisteme încorporate nu a fost niciodată mai mare și va crește.

În acest articol, vom vedea că talentul agil – definit în esență ca freelanceri experți – poate permite acestor industrii să se adapteze cu succes la provocările generate de importanța din ce în ce mai mare a sistemelor încorporate. Folosind industria auto ca exemplu, vom obține, de asemenea, o înțelegere a unora dintre obstacolele principale în calea utilizării dezvoltatorilor de sisteme embedded agile și a modului în care acestea pot fi depășite.

Dezvoltare agilă a sistemelor încorporate – provocări și soluții

Două dintre cele mai mari provocări cu care se confruntă companiile care doresc să dezvolte expertiză în dezvoltarea sistemelor încorporate - găsirea talentului potrivit și stimularea talentului pentru a se reloca - pot fi rezolvate prin utilizarea de ingineri agile, care pot lucra intern sau de la distanță.

Lipsa de talent

Inginerii de sisteme embedded sunt insuficiente. În timp ce estimările empirice ale numărului de dezvoltatori de sisteme încorporate în prezent în forța de muncă sunt dificil de obținut, o varietate de date privind cererea pentru astfel de talente oferă o idee a dimensiunii relative a pieței sistemelor încorporate.

Biroul de Statistică a Muncii a constatat că, în 2016, existau aproximativ 1,3 milioane de locuri de muncă în inginerie software, față de 74.000 de locuri de muncă în ingineria hardware a computerelor. O căutare de bază pe Indeed, un motor de căutare a locurilor de muncă, generează aproximativ 63.000 de poziții deschise în dezvoltarea de aplicații, față de aproximativ 12.000 de poziții în sistemele încorporate. Deși acestea sunt valori foarte imperfecte, ele sugerează că piața sistemelor încorporate este mai mică decât cea a ingineriei software tradiționale.

Lipsa de experți în sisteme încorporate poate fi explicată, cel puțin parțial, prin educație. Într-un articol din 2014, Robert Dewar, profesor emerit la Universitatea din New York, a susținut că departamentele de informatică au abilități reduse – cum ar fi matematica avansată, lucrul în echipă, înțelegerea sistemelor de imagine de ansamblu și cunoașterea unei game largi de limbaje de programare – care sunt esențiale. la dezvoltarea sistemelor încorporate.

Cu o pregătire insuficientă, există un decalaj semnificativ între cei mai buni dezvoltatori de sisteme încorporate și restul. Marcos Oviedo, inginer de sisteme embedded la Toptal și arhitect software de lungă durată la Intel, spune că, din experiența sa, mulți ingineri nu au combinația de expertiză în dezvoltare hardware și software esențială pentru proiectarea de succes a sistemelor embedded. Folosirea talentului agil, spune el, poate oferi companiilor o soluție la această problemă.

Talentul de la distanță, în special, poate aduce beneficii semnificative, deoarece le permite companiilor să acceseze un bazin profund de talente cu o gamă largă de competențe: „Poate oferi practici bune și mature de dezvoltare software [împreună cu expertiza hardware] va crește calitatea a produsului”, spune Oviedo. „Acesta este cu siguranță ceva pe care talentul de la distanță îl poate aduce la masă.”

Locație, locație, locație

Având în vedere că o mare parte din lumea tehnologiei este concentrată pe coasta de est și de vest a SUA, poate fi dificil să motivezi talentele de vârf în tehnologie să lucreze – și să se stabilească – în altă parte.

Deși această problemă se aplică companiilor care au nevoie de talente tehnologice de orice tip, este deosebit de presantă pentru companiile care caută talent în domenii, cum ar fi sistemele încorporate, care sunt insuficiente.

Talentul agil poate contribui semnificativ la proiecte care se bazează pe componente hardware standardizate, ușor de manevrat.

Talentul agil poate rezolva această problemă, permițând companiilor să angajeze ingineri de top care pot locui acolo unde doresc. În loc să ducă o bătălie dificilă în încercarea de a convinge inginerii de sisteme embedded să se mute – și, prin urmare, să se limiteze la angajarea doar a acei ingineri dornici să facă o astfel de mișcare – companiile pot angaja talente care lucrează de oriunde. Acest lucru elimină o barieră majoră în calea angajării celor mai buni ingineri pentru jobul în cauză și echipează mai bine companiile pentru a construi rapid și cu succes expertiza în sistemele încorporate.

Acum că înțelegem unele dintre problemele cheie pe care le poate rezolva talentul agil, ne putem întoarce la explorarea condițiilor care permit companiilor să folosească astfel de talent și condiții care fac acest lucru mai dificil.

Când sunt viabile dezvoltatorii de sisteme agile încorporate?

Pentru unii dezvoltatori de sisteme încorporate, lucrul de la distanță este mai ușor de spus decât de făcut. În timp ce un inginer poate lucra la o aplicație mobilă din confortul oricărei cafenele din întreaga lume, dezvoltarea de sisteme bazate pe software pentru piese mari de hardware necesită cunoaștere aprofundată a hardware-ului în cauză, ceea ce poate fi dificil de obținut fără fizică. apropierea de hardware-ul propriu-zis.

Este important să înțelegem când un astfel de talent este potrivit și când poate să nu fie.

Când talentul agil sau la distanță este viabil: talentul agil poate contribui semnificativ la proiecte care se bazează pe componente hardware standardizate, ușor de manevrat. În aceste cazuri, companiile pot oferi inginerilor încorporați specificații hardware sau kituri de dezvoltare software (SDK) generale pe care inginerii le pot modifica și utiliza pentru a-și dezvolta produsele de oriunde.

Flavio de Castro Alves Filho, un dezvoltator de sisteme încorporate cu sediul în Sao Paulo, Brazilia, a descoperit că companiile îi oferă adesea lui și echipei sale instrumentele necesare pentru a finaliza proiectele de la distanță. Când lucra la dezvoltarea sistemelor încorporate pentru echipamente de electrocardiogramă (ECG), de exemplu, Filho a primit multe dintre componentele hardware de bază – convertoare digitale, microprocesoare și microcontrolere – necesare pentru a-și îndeplini sarcina. „Dacă avem hardware-ul final, este bine, dar nu este o cerință”, a spus Filho.

Când talentul agil sau la distanță poate să nu fie viabil: În schimb, utilizarea talentului agil la distanță poate fi o provocare pentru proiectele care implică standarde stricte de siguranță sau componente hardware deosebit de mari. Dezvoltatorii de sisteme integrate independenți trebuie să asigure spațiile fizice și echipamentele care le permit să lucreze de la distanță într-o gamă largă de cazuri. Cu toate acestea, aceste cazuri (explorate mai mult în studiul de caz auto de mai jos) pot necesita spații de lucru care sunt prohibitiv de mari pentru lucrul la distanță sau instrumente care pot fi inaccesibile.

În plus, companiile pot opta să angajeze ingineri cu normă întreagă în detrimentul talentului agil pentru anumite proiecte de sisteme încorporate „de misiune critică”. Aceste proiecte pot dura perioade lungi – uneori ani – și implică sisteme atât de sensibile încât companiile trebuie să le păstreze strict intern.

Hayram Nicacio, președintele Societății Inginerilor Auto din Brazilia, face acest punct în ceea ce privește sistemele de control din vehicule: „Ei nu țin [dezvoltarea sistemelor de control] într-un seif cu șapte chei; îl păstrează în șapte seifuri, unul în celălalt.” În unele cazuri, companiile pur și simplu nu se vor simți confortabil să angajeze talent agil din cauza naturii extrem de sensibile sau de proprietate a proiectului.

Deși aceste provocări sunt reale, următorul studiu de caz va arăta că nu sunt de netrecut.

Studiu de caz: industria auto

Fiind o industrie moștenită, bazată pe sisteme încorporate și care trece printr-o schimbare tehnologică rapidă, industria auto oferă o ilustrare utilă atât a necesității expertizei în sistemele încorporate, cât și a provocărilor în utilizarea talentului agil pentru a răspunde acestei nevoi.

Ascensiunea mașinii digitale

La un nivel fundamental, mașinile au fost întotdeauna colecții complicate de sisteme încorporate și a spune că complexitatea lor a crescut de-a lungul timpului ar fi o subestimare. O scurtă privire asupra designului vehiculului vintage versus modern demonstrează acest punct.

Ford Model T, produs între 1908 și 1927, este, conform standardelor actuale, relativ simplu în design și construcție. Un singur Model T consta din aproximativ 1.500 de piese distincte pe care inginerii mecanici și alții le-au pus împreună pe liniile de asamblare inovatoare ale Ford. Un vehicul modern, în schimb, are aproximativ 15.000 de piese distincte.

Cu toate acestea, creșterea complexității auto a rezultat nu doar din creșterea numărului mare de piese utilizate, ci și din extinderea diferitelor tipuri de piese utilizate. În timp ce Modelul T includea câteva componente electrice de bază, a fost construit în principal folosind piese mecanice. Un vehicul modern este un amestec mult mai variat de componente mecanice, electrice și software. După cum arată un articol din 2015 din The New York Times , vehiculele premium produse astăzi sunt „printre cele mai sofisticate mașini de pe planetă, care conțin 100 de milioane sau mai multe linii de cod”. Deși modelele de vehicule de astăzi se bazează încă în mare măsură pe componente mecanice și inginerie electromecanică, acestea au devenit din ce în ce mai dependente de software și puterea de calcul.

Este nevoie de un nou tip de talent pentru un nou tip de mașină

Fiind o industrie veche de un secol, centrată în mod tradițional pe sisteme electromecanice, care trece acum la tehnologii mai avansate bazate pe software, lipsa relativă de ingineri software din sectorul auto este de înțeles.

Industria auto are nevoie de mai mulți ingineri de sisteme încorporate pentru a naviga cu succes în viitorul din ce în ce mai complex bazat pe software.

Cu sediul istoric în Detroit, Michigan, industria auto din SUA s-a confruntat, de asemenea, cu dificultăți în a atrage talentele de top în domeniul software de la Silicon Valley. Această problemă este agravată și mai mult de companiile de înaltă tehnologie, cum ar fi Waymo de la Alphabet, care fac incursiuni agresive în spațiul auto. Companiile auto au abordat această amenințare în mai multe moduri. Unii au colaborat cu jucători din industria de înaltă tehnologie, în timp ce alții și-au construit cu succes expertiza în domeniul înaltă tehnologie în interior. Industria auto are nevoie de mai mulți ingineri de sisteme încorporate, printre alți experți în tehnologie avansată, pentru a naviga cu succes în viitorul din ce în ce mai complex bazat pe software.

Depășirea provocărilor de talent Agile

Deși industria auto se poate confrunta cu provocări în utilizarea dezvoltatorilor de sisteme embedded agile, există o serie de soluții potențiale care trebuie înțelese:

Cerințe de siguranță:

Provocare: Industria auto are standarde stricte de siguranță funcțională, și anume ISO 26262, care modelează modul în care sunt dezvoltate sistemele și componentele. Deși nu este o cerință strictă, este util pentru dezvoltatorii de sisteme încorporate din acest domeniu să aibă calificări în conformitate cu aceste standarde.

Soluție: Obținerea certificărilor adecvate în ISO 26262 nu este prohibitiv de dificilă pentru dezvoltatorii de sisteme încorporate și se poate face prin urmarea unei serii de cursuri. În plus, ISO 26262 urmează principiile esențiale ale siguranței funcționale găsite în standardul IEC 61508, destinat să se aplice industriilor precum cea feroviară și cea nucleară. Producătorii și furnizorii de automobile pot viza talentele sistemelor încorporate cu experiență anterioară în aceste alte domenii pentru a asigura mai bine respectarea ISO 26262.

Expertiza specifica:

Provocare: Vehiculele, în special având în vedere complexitatea lor, au multe componente care necesită expertiză în domeniu. Industria auto depinde de cunoștințele și tehnicile hardware - inclusiv arhitecturile MCU de blocare, comunicațiile CAN și LIN - în care mulți ingineri ar putea să nu aibă experiență. Deoarece acești experți în domeniu sunt insuficienti, companiile auto pot fi reticente în a angaja freelanceri de teama ca un inginer cu un set de abilități unice să părăsească proiectul la jumătate, în special atunci când proiectele durează multe luni sau chiar câțiva ani.

Soluție: Talentul agil poate dobândi expertiză specifică în unele dintre sistemele utilizate de industria auto prin cursuri specifice despre AUTOSAR și ASPICE, de exemplu. Dacă un inginer agil are experiență într-un domeniu relevant (MCU-uri, FPGA-uri, de exemplu), dar nu are experiență în spațiul auto în special, el sau ea poate fi ghidat și îndrumat de alții care au o astfel de experiență. Mai mult, este posibil ca unii ingineri agili să nu fie constrânși de timp, iar pentru unii – în special cei dispuși să lucreze la fața locului – aceste proiecte pot reprezenta oportunități atractive.

Logistica hardware/locație:

Provocare: Vehiculele constau din componente hardware mari. În funcție de componenta și proiectul specific, dezvoltatorii de sisteme încorporate în spațiul auto pot avea nevoie de echipamente de laborator specializate sau de proximitate fizică față de hardware-ul dezvoltat. Acest lucru poate forța companiile auto să excludă liber profesioniștii de la distanță din considerare.

Soluție: Proiectanții de sisteme agile încorporate își pot achiziționa propriile echipamente – cum ar fi osciloscoape, multimetre, instrumente CAN, FlexRay, LIN pentru depanare, simulatoare de celule de baterie și instrumente de testare ESD – precum și spații de laborator suficient de mari pentru a găzdui o gamă largă de componente . În cazurile care implică proiecte care nu pot fi realizate de la distanță, talentul agil dornic să călătorească și să lucreze la fața locului poate avea în continuare succes.

Talentul sistemelor agile încorporate ca modalitate de a inova

Este adevărat că talentul la distanță, agil, poate să nu fie, în sine, un panaceu pentru toate provocările de proiectare a sistemelor încorporate. Mai degrabă, este esențial să înțelegem unele dintre condițiile care pot face dificilă utilizarea dezvoltatorilor de sisteme încorporate agile și la distanță și modul în care aceste provocări pot fi depășite.

De asemenea, este important să subliniem beneficiile intangibile pe care talentul agil le poate aduce. Folosirea talentului agil nu poate doar să ajute companiile să rezolve problemele în mod convenabil, ci și să injecteze o doză de creativitate care se poate dovedi esențială pentru designul și succesul unui produs.

Când Marcos Oviedo a fost angajat să lucreze de la distanță pentru un startup din Silicon Valley, produsul companiei – o bandă pentru a-i ajuta să-i învețe pe jucătorii de baschet cum să arunce cel mai bine o minge în plasă – nu avea un prototip, iar compania nu avea un plan clar definit cu privire la modul să-l dezvolte. Deși lucrează de pe un alt continent, Oviedo a construit primul prototip al companiei prin achiziționarea de hardware de bază, ușor accesibil și reutilizarea hardware-ului de pe alte dispozitive. Pentru această companie, talentul de proiectare a sistemelor încorporate agile a servit drept o scânteie inovatoare care sa dovedit esențială pentru dezvoltarea de succes a produselor.

Fie prin benzile mecanice, ceasuri de mână sau mașini, IoT va continua să se extindă și să se bazeze pe sisteme încorporate. Companiile vor avea nevoie de fluență în proiectarea sistemelor încorporate pentru a prospera, iar talentul agil reprezintă o resursă care nu trebuie ignorată.