Czy talent Agile jest odpowiedzią na projektowanie systemów wbudowanych?
Opublikowany: 2022-03-11Od kalkulatorów po samochody, systemy wbudowane są wszędzie, gdzie spojrzymy. Gdy czytasz ten artykuł, urządzenie, z którego korzystasz, opiera się na dziesiątkach tych systemów – charakteryzujących się splecionym oprogramowaniem i służącym celowi w obrębie elementu sprzętowego – do wyświetlania tekstu i reagowania na Twoje polecenia. Można śmiało powiedzieć, że systemy wbudowane mają fundamentalne znaczenie dla codziennego życia zarówno osób indywidualnych, jak i całych branż.
Projektowanie systemów wbudowanych stało się jeszcze bardziej istotne i wszechobecne wraz z rozwojem „Internetu rzeczy” (IoT). IoT jest zasilany przez systemy wbudowane, a jego zakres szybko się rozszerza.
Badanie opublikowane w 2013 roku przez McKinsey & Co. oszacowało, że do 2020 roku około 30 miliardów obiektów będzie mogło być podłączonych do Internetu Rzeczy. Badanie przeprowadzone w 2017 roku przez Boston Consulting Group wykazało, że firmy są gotowe wydać ponad 250 miliardów dolarów na aplikacje i infrastrukturę IoT tylko w 2020 roku. Chociaż takie szacunki mogą ostatecznie nie trafić w sedno, przyszłe znaczenie IoT zarówno dla firm, jak i konsumentów wydaje się być pewne.
Biorąc pod uwagę znaczący wpływ IoT na konsumentów i ogromny potencjał ekonomiczny, nie jest zaskoczeniem, że najlepsi inżynierowie potrafiący projektować i rozwijać systemy wbudowane są bardzo poszukiwane. Jednak w niektórych branżach zmiany wprowadzone przez IoT wyprzedzają możliwości firm zatrudniania takich talentów i budowania własnych zespołów.
Problem ten jest szczególnie dotkliwy w branżach tradycyjnie skupiających się na sprzęcie i maszynach ciężkich, a nie na rozwoju oprogramowania i dziedzinach takich jak uczenie maszynowe i sztuczna inteligencja. Co więcej, branże te są często zlokalizowane z dala od epicentrów technologii na wschodnim i zachodnim wybrzeżu Stanów Zjednoczonych, co jeszcze bardziej utrudnia przekonanie największych talentów na rynku pracy do wyboru ich zamiast zaawansowanych technologicznie alternatyw z Doliny Krzemowej. Potrzeba zatrudniania przez te branże ekspertów w dziedzinie systemów wbudowanych nigdy nie była większa i będzie tylko rosła.
Potrzeba zatrudniania przez te branże ekspertów w dziedzinie systemów wbudowanych nigdy nie była większa i będzie tylko rosła.
W tym artykule zobaczymy, że zwinne talenty – zasadniczo definiowane jako eksperci-freelancerzy – mogą umożliwić tym branżom skuteczne dostosowanie się do wyzwań stawianych przez stale rosnące znaczenie systemów wbudowanych. Posługując się przykładem branży motoryzacyjnej, zrozumiemy również niektóre z podstawowych przeszkód w stosowaniu zwinnych twórców systemów wbudowanych oraz sposoby ich pokonania.
Zwinne tworzenie systemów wbudowanych – wyzwania i rozwiązania
Dwa z największych wyzwań, przed którymi stoją firmy chcące zbudować wiedzę fachową na temat rozwoju systemów wbudowanych – znalezienie odpowiedniego talentu i zachęcenie talentów do relokacji – można rozwiązać przy użyciu zwinnych inżynierów, którzy mogą pracować wewnętrznie lub zdalnie.
Niedobór talentów
Brakuje inżynierów systemów wbudowanych. Chociaż trudno jest uzyskać empiryczne szacunki dotyczące liczby programistów systemów wbudowanych obecnie zatrudnionych, różnorodne dane dotyczące zapotrzebowania na takie talenty dają poczucie względnej wielkości rynku systemów wbudowanych.
Bureau of Labor Statistics ustaliło, że w 2016 roku było około 1,3 miliona miejsc pracy w inżynierii oprogramowania, w porównaniu do 74 000 miejsc pracy w inżynierii sprzętu komputerowego. Podstawowe wyszukiwanie w wyszukiwarce zatrudnienia Indeed daje około 63 000 otwartych stanowisk w tworzeniu aplikacji w porównaniu z około 12 000 stanowisk w systemach wbudowanych. Chociaż są to wysoce niedoskonałe wskaźniki, sugerują, że rynek systemów wbudowanych jest przyćmiony przez rynek tradycyjnej inżynierii oprogramowania.
Niedobór ekspertów od systemów wbudowanych można przynajmniej częściowo wytłumaczyć edukacją. W artykule z 2014 r. Robert Dewar, emerytowany profesor Uniwersytetu Nowojorskiego, przekonywał, że wydziały informatyki kładą nacisk na umiejętności – takie jak zaawansowana matematyka, praca zespołowa, rozumienie systemów dużego obrazu i znajomość wielu języków programowania – które są niezbędne do rozwoju systemów wbudowanych.
Przy niewystarczającym szkoleniu istnieje znaczna przepaść między najlepszymi programistami systemów wbudowanych a resztą. Marcos Oviedo, inżynier systemów wbudowanych w firmie Toptal i wieloletni architekt oprogramowania w firmie Intel, mówi, że w jego doświadczeniu wielu inżynierów brakuje połączenia wiedzy specjalistycznej w zakresie tworzenia sprzętu i oprogramowania niezbędnej do udanego projektowania systemów wbudowanych. Jak mówi, wykorzystanie zwinnych talentów może dać firmom rozwiązanie tego problemu.
W szczególności zdalne talenty mogą przynieść znaczące korzyści, ponieważ umożliwiają firmom dostęp do głębokiej puli talentów o szerokim zakresie umiejętności: „Możliwość dostarczania dobrych, dojrzałych praktyk tworzenia oprogramowania [wraz z wiedzą na temat sprzętu] zwiększy jakość produktu” — mówi Oviedo. „To zdecydowanie coś, co zdalny talent może wnieść do stołu”.
Lokalizacja, lokalizacja, lokalizacja
Ponieważ znaczna część świata technologii koncentruje się na wschodnim i zachodnim wybrzeżu Stanów Zjednoczonych, może być trudno zmotywować największe talenty technologiczne do pracy – i osiedlenia się – gdzie indziej.
Chociaż problem ten dotyczy firm, które potrzebują wszelkiego rodzaju talentów technicznych, jest szczególnie pilny dla firm poszukujących talentów w takich obszarach, jak systemy wbudowane, których brakuje.
Talenty zwinne mogą znacząco przyczynić się do projektów, które opierają się na standardowych, łatwych w obsłudze komponentach sprzętowych.
Agile talent może rozwiązać ten problem, umożliwiając firmom zatrudnianie najlepszych inżynierów, którzy mogą mieszkać tam, gdzie chcą. Zamiast toczyć trudną bitwę, próbując przekonać inżynierów systemów wbudowanych do zmiany lokalizacji – a zatem ograniczać się do zatrudniania tylko tych inżynierów, którzy są gotowi na taki krok – firmy mogą zatrudniać talenty pracujące z dowolnego miejsca. Eliminuje to poważną barierę w zatrudnianiu najlepszych inżynierów do danego zadania i lepiej wyposaża firmy do szybkiego i skutecznego budowania wiedzy w zakresie systemów wbudowanych.
Teraz, gdy rozumiemy niektóre z kluczowych problemów, które mogą rozwiązać zwinne talenty, możemy przejść do zbadania warunków, które umożliwiają firmom wykorzystanie takich talentów i warunków, które to utrudniają.
Kiedy programiści systemów wbudowanych Agile są opłacalni?
Dla niektórych twórców systemów wbudowanych praca zdalna jest łatwiejsza do powiedzenia niż do wykonania. Podczas gdy inżynier może pracować nad aplikacją mobilną w zaciszu dowolnej kawiarni na całym świecie, opracowywanie systemów opartych na oprogramowaniu dla dużych elementów sprzętu wymaga dogłębnej znajomości danego sprzętu, co może być trudne do zdobycia bez fizycznego bliskość samego sprzętu.
Ważne jest, aby zrozumieć, kiedy taki talent jest odpowiedni, a kiedy nie.
Kiedy talenty zwinne lub zdalne są opłacalne: Talenty zwinne mogą znacząco przyczynić się do projektów, które opierają się na ustandaryzowanych, łatwych w obsłudze komponentach sprzętowych. W takich przypadkach firmy mogą dostarczyć inżynierom systemów wbudowanych specyfikacje sprzętowe lub ogólne zestawy SDK, które inżynierowie mogą modyfikować i wykorzystywać do opracowywania swoich produktów z dowolnego miejsca.
Flavio de Castro Alves Filho, twórca systemów wbudowanych z Sao Paulo w Brazylii, odkrył, że firmy często dostarczają jemu i jego zespołowi narzędzia niezbędne do zdalnej realizacji projektów. Pracując nad rozwojem systemów wbudowanych dla sprzętu do elektrokardiogramu (EKG), na przykład, Filho otrzymał wiele podstawowych elementów sprzętowych – przetworniki cyfrowe, mikroprocesory i mikrokontrolery – niezbędne do wykonania jego zadania. „Jeśli mamy ostateczny sprzęt, to dobrze, ale nie jest to wymagane” — powiedział Filho.
Gdy zwinne lub zdalne talenty mogą nie być opłacalne: I odwrotnie, używanie zdalnych zwinny talentów może być wyzwaniem w przypadku projektów, które wymagają rygorystycznych standardów bezpieczeństwa lub szczególnie dużych komponentów sprzętowych. Niezależnym twórcom systemów wbudowanych należy zabezpieczyć fizyczne przestrzenie i sprzęt, które pozwolą im pracować zdalną w szerokim zakresie przypadków. Mimo to przypadki te (omówione bardziej w poniższym studium przypadku motoryzacyjnego) mogą wymagać zbyt dużych przestrzeni roboczych do pracy zdalnej lub narzędzi, które mogą być niedostępne.
Co więcej, firmy mogą zdecydować się na zatrudnienie inżynierów na pełny etat zamiast talentów zwinnych do niektórych projektów systemów wbudowanych o krytycznym znaczeniu. Projekty te mogą trwać przez dłuższy czas – czasami lata – i obejmować systemy tak wrażliwe, że firmy muszą je utrzymywać wyłącznie wewnętrznie.

Hayram Nicacio, przewodniczący Stowarzyszenia Inżynierów Motoryzacyjnych w Brazylii, mówi o systemach sterowania w pojazdach: „Nie trzymają [opracowania systemów sterowania] w sejfie z siedmioma kluczami; trzymają go w siedmiu sejfach, jeden w drugim. W niektórych przypadkach firmy po prostu nie będą czuły się komfortowo zatrudniając zwinne talenty ze względu na bardzo wrażliwy lub zastrzeżony charakter projektu.
Chociaż te wyzwania są realne, poniższe studium przypadku pokaże, że nie są one nie do pokonania.
Studium przypadku: Przemysł motoryzacyjny
Jako przemysł odziedziczony, oparty na systemach wbudowanych i przechodzący szybkie zmiany technologiczne, przemysł motoryzacyjny stanowi użyteczną ilustrację zarówno konieczności posiadania wiedzy fachowej na temat systemów wbudowanych, jak i wyzwań związanych z wykorzystaniem zwinnych talentów w celu zaspokojenia tej potrzeby.
Powstanie cyfrowego samochodu
Na podstawowym poziomie samochody zawsze były skomplikowanymi zbiorami systemów wbudowanych, a stwierdzenie, że ich złożoność wzrosła z biegiem czasu, byłoby wielkim niedopowiedzeniem. Krótkie spojrzenie na stylistykę pojazdów zabytkowych i nowoczesnych pokazuje to.
Ford Model T, produkowany w latach 1908-1927, jest, jak na dzisiejsze standardy, stosunkowo prosty w swojej konstrukcji i konstrukcji. Pojedynczy model T składał się z około 1500 odrębnych części, które inżynierowie mechanicy i inni montowali na innowacyjnych liniach montażowych Forda. Natomiast nowoczesny pojazd składa się z około 15 000 odrębnych części.
Jednak wzrost złożoności motoryzacyjnej wynika nie tylko ze wzrostu samej liczby używanych części, ale także z ekspansji różnych rodzajów używanych części. Chociaż Model T zawierał kilka podstawowych komponentów elektrycznych, został zbudowany głównie z części mechanicznych. Nowoczesny pojazd to znacznie bardziej zróżnicowana mieszanka komponentów mechanicznych, elektrycznych i oprogramowania. Jak wskazuje artykuł w The New York Times z 2015 roku, produkowane dziś pojazdy premium „należą do najbardziej wyrafinowanych maszyn na świecie, zawierają 100 milionów lub więcej linijek kodu”. Chociaż dzisiejsze projekty pojazdów nadal w dużej mierze opierają się na komponentach mechanicznych i inżynierii elektromechanicznej, stają się coraz bardziej zależne od oprogramowania i mocy obliczeniowej.
Nowy rodzaj talentu potrzebny do nowego rodzaju samochodu
Ponieważ stuletni przemysł tradycyjnie koncentrował się na systemach elektromechanicznych, obecnie przechodzący na bardziej zaawansowane technologie oparte na oprogramowaniu, względny niedobór inżynierów oprogramowania w sektorze motoryzacyjnym jest zrozumiały.
Przemysł motoryzacyjny potrzebuje więcej inżynierów systemów wbudowanych, aby skutecznie poruszać się w coraz bardziej złożonej, opartej na oprogramowaniu przyszłości.
Amerykański przemysł motoryzacyjny, mający swoją siedzibę w Detroit w stanie Michigan, również miał trudności z odciągnięciem największych talentów programistycznych z Doliny Krzemowej. Ten problem jest dodatkowo potęgowany przez firmy zajmujące się zaawansowanymi technologiami, takie jak Waymo firmy Alphabet, dokonujące agresywnych wypadów w przestrzeń samochodową. Firmy motoryzacyjne zajęły się tym zagrożeniem na wiele sposobów. Niektórzy nawiązali współpracę z graczami z branży zaawansowanych technologii, podczas gdy inni z powodzeniem zbudowali własną wiedzę specjalistyczną w zakresie zaawansowanych technologii. Branża motoryzacyjna potrzebuje więcej inżynierów systemów wbudowanych, a także innych ekspertów w dziedzinie zaawansowanych technologii, aby skutecznie poruszać się w coraz bardziej złożonej, opartej na oprogramowaniu przyszłości.
Pokonywanie wyzwań związanych ze zwinnymi talentami
Chociaż branża motoryzacyjna może napotkać wyzwania związane z używaniem zwinnych twórców systemów wbudowanych, istnieje szereg potencjalnych rozwiązań, które należy zrozumieć:
Wymagania bezpieczeństwa:
Wyzwanie: Przemysł motoryzacyjny ma surowe normy bezpieczeństwa funkcjonalnego, a mianowicie ISO 26262, które kształtują sposób opracowywania systemów i komponentów. Chociaż nie jest to ścisły wymóg, dla twórców systemów wbudowanych w tej dziedzinie pomocne jest posiadanie kwalifikacji zgodnych z tymi standardami.
Rozwiązanie: Uzyskanie odpowiednich certyfikatów w ISO 26262 nie jest zbyt trudne dla programistów systemów wbudowanych i można je osiągnąć poprzez udział w serii kursów. Ponadto ISO 26262 jest zgodny z podstawowymi zasadami bezpieczeństwa funkcjonalnego określonymi w normie IEC 61508, przeznaczonymi do zastosowania w branżach takich jak kolej i energia jądrowa. Producenci samochodów i dostawcy samochodów mogą kierować do talentów systemów wbudowanych posiadających wcześniejsze doświadczenie w tych innych dziedzinach, aby zapewnić lepszą zgodność z normą ISO 26262.
Specyficzna wiedza specjalistyczna:
Wyzwanie: Pojazdy, szczególnie ze względu na swoją złożoność, mają wiele komponentów, które wymagają specjalistycznej wiedzy w danej dziedzinie. Branża motoryzacyjna zależy od wiedzy i technik sprzętowych – w tym architektur lockstep MCU, komunikacji CAN i LIN – w których wielu inżynierów może nie mieć doświadczenia. Ponieważ tych ekspertów dziedzinowych brakuje, firmy motoryzacyjne mogą niechętnie zatrudniać freelancerów ze strachu, że inżynier z unikalnymi umiejętnościami opuści projekt w połowie, szczególnie gdy projekty trwają wiele miesięcy, a nawet lat.
Rozwiązanie: Talent Agile może zdobyć specjalistyczną wiedzę na temat niektórych systemów stosowanych w branży motoryzacyjnej, na przykład poprzez specjalne kursy dotyczące AUTOSAR i ASPICE. Jeśli zwinny inżynier ma wiedzę w odpowiedniej dziedzinie (na przykład MCU, FPGA), ale brakuje mu doświadczenia w szczególności w przestrzeni samochodowej, może być prowadzony i mentorowany przez innych, którzy mają takie doświadczenie. Co więcej, niektórzy zwinni inżynierowie mogą nie być ograniczeni czasowo, a dla niektórych – szczególnie tych, którzy chcą pracować na miejscu – projekty te mogą stanowić atrakcyjne możliwości.
Logistyka/lokalizacja sprzętu:
Wyzwanie: Pojazdy składają się z dużych elementów sprzętowych. W zależności od konkretnego komponentu i projektu, twórcy systemów wbudowanych mogą potrzebować specjalistycznego sprzętu laboratoryjnego lub fizycznej bliskości opracowywanego sprzętu. Może to zmusić firmy motoryzacyjne do wykluczenia zdalnych freelancerów z rozważania.
Rozwiązanie: Projektanci zwinnych systemów wbudowanych mogą nabyć własny sprzęt – taki jak oscyloskopy, multimetry, narzędzia CAN, FlexRay, LIN do debugowania, symulatory ogniw baterii i narzędzia do testowania ESD – a także pomieszczenia laboratoryjne wystarczająco duże, aby pomieścić szeroką gamę komponentów . W przypadkach dotyczących projektów, których nie można wykonać zdalnie, zwinne talenty, które chcą podróżować i pracować na miejscu, mogą nadal odnosić sukcesy.
Zwinne systemy wbudowane Talent jako sposób na innowacje
To prawda, że zdalne, zwinne talenty mogą same w sobie nie być panaceum na wszystkie wyzwania związane z projektowaniem systemów wbudowanych. Raczej kluczowe jest zrozumienie niektórych warunków, które mogą utrudnić korzystanie z programistów zwinnych i zdalnych systemów wbudowanych oraz sposobów przezwyciężenia tych wyzwań.
Ważne jest również podkreślenie niematerialnych korzyści, jakie może przynieść zwinny talent. Wykorzystywanie zwinnych talentów może nie tylko pomóc firmom w wygodnym rozwiązywaniu problemów, ale także zaszczepić dawkę kreatywności, która może okazać się niezbędna dla projektu i sukcesu produktu.
Kiedy Marcos Oviedo został zatrudniony do pracy zdalnej dla startupu z Doliny Krzemowej, produkt firmy – opaska na głowę mająca pomóc w nauczeniu koszykarzy, jak najlepiej rzucać piłką do siatki – nie miał prototypu, a firma nie miała jasno określonego planu, w jaki sposób go rozwijać. Choć działa z innego kontynentu, Oviedo zbudowało pierwszy prototyp firmy, kupując podstawowy, łatwo dostępny sprzęt i zmieniając przeznaczenie sprzętu z innych urządzeń. Dla tej firmy talent do projektowania zwinnych systemów wbudowanych posłużył jako innowacyjna iskra, która okazała się kluczowa dla pomyślnego rozwoju produktu.
Niezależnie od tego, czy chodzi o mechaniczne opaski na głowę, zegarki na rękę czy samochody, IoT będzie nadal się rozwijał i opierał się na systemach wbudowanych. Firmy będą potrzebować biegłości w projektowaniu systemów wbudowanych, aby prosperować, a zwinne talenty stanowią zasób, którego nie należy ignorować.
