Branża automotive nie należy do najłatwiejszych. Szczególnie systemy wbudowane to jedne z najbardziej wymagających i skomplikowanych zajęć w szeroko rozumianym świecie IT. Inżynierowie pracujący w tym obszarze są odpowiedzialni za projektowanie przede wszystkim bezpiecznych, niezawodnych oraz zgodnych ze standardami nowoczesnych urządzeń do samochodów.
Takie zajęcie to nie lada wyzwanie, ponieważ na sukces składa się wiele czynników, m.in.:
- sprostanie obecnym potrzebom i trendom panującym na rynku,
- zaspokojenie wysokich wymagania klienta,
- spełnienie wszystkich norm i standardów panujących w przemyśle motoryzacyjnym,
- dopełnienie wszelkich praktyk oraz procesów w celu uzyskania certyfikacji produktu.
Projekty w automotive
Projekty realizowane w branży automotive są zawiłe i wielopłaszczyznowe, a sama ich złożoność wynika ze stopnia skomplikowania współczesnego samochodu, który znacząco różni się od samochodów produkowanych 10-20 lat temu. Postęp w produkcji samochodów skupił się na dodaniu nowych technologii, wyniesieniu multimediów na zupełnie inny poziom, ale również na znaczącej poprawie bezpieczeństwa.
Czy to oznacza, że wcześniejsze samochody nie były bezpieczne? Były, ale wynikało to głównie z kwestii bezpieczeństwa pasywnego, czyli takiego, które działa po fakcie, czyli podczas wypadku. Współczesne samochody posiadają systemy bezpieczeństwa aktywnego, których zadaniem jest zapobiec wypadkowi.
Jak bardzo zawansowana i skomplikowana jest ta technologia? Bardzo! Obecnie długość wiązki elektrycznej w samochodzie sięga nawet 3 kilometrów.
Technologia stosowana we współczesnych samochodach ma za zadanie m.in.: chronić kierowcę, pasażerów, a nawet pieszych (w sposób aktywny i pasywny). Dodatkowo, dąży do zapewnienia najwyższego komfortu podróży oraz dostarczenia rozrywki. Innymi słowy, jej celem jest sprawienie, że podróżowanie staje się przyjemne i nie ma w trakcie czasu na nudę, nawet jeśli za oknem nie dzieje się nic ciekawego.
Systems Engineer – czyli kto?
Należy zacząć od zaznaczenia różnicy w obowiązkach Systems Engineer pomiędzy branżą IT a branżą automotive. Nie będąc świadomym tej różnicy, sam przeżyłem głębokie zdziwienie podczas wertowania ofert pracy.
W branży IT obowiązki Systems Engineera obejmują m.in:
- zarządzanie i monitorowanie wszystkich zainstalowanych systemów infrastruktury,
- instalowanie, konfigurowanie, testowanie i konserwacja systemów operacyjnych, oprogramowania aplikacyjnego i narzędzi do zarządzania systemem,
- analizowanie i projektowanie automatyzacji procesów, np. z wykorzystaniem C # i Microsoft .NET Framework oraz różnych API systemu.
Powyższe zadania znacząco różnią się od obowiązków Systems Engineera w branży automotive. Z mojej perspektywy, bardziej zbliżone do zadań Systems Engineera w branży IT są obowiązki Software Engineera. Czy zatem w IT istnieje odpowiednik dla systemowca?
Tak, najbliższy kompetencjom Systems Engineera z automotive będzie analityk biznesowy.
Czym zajmuje się Systems Engineer w automotive?
Ciężko znaleźć jednoznaczną i prostą odpowiedź na to pytanie. Systems Engineer to trochę taki „człowiek orkiestra” – od wszystkiego i dla wszystkich. Często, z uwagi na charakterystykę projektów, dwóch Systems Engineerów z pięcioletnim doświadczeniem może mieć zupełnie różną wiedzę i doświadczenie.
W branży automotive, Systems Engineer głownie zajmuje się:
- zarządzaniem bazą wymagań,
- analizą wymagań klienta,
- uzgadnianiem wymagań z klientem,
- pisaniem wymagań systemowych,
- wspieraniem tworzenia lub samodzielnym tworzeniem architektury systemowej,
- zapewnieniem zgodności z procesem ASPICE (w kontekście części systemowej),
- wsparciem innych kompetencji inżynierskich, dla których wymagania systemowe są dokumentami wejściowymi.
Jednym z kluczowych zadań systemowca jest tworzenie oraz utrzymywanie bazy wymagań, czyli zbioru dokumentów z wizją klienta odnośnie tego, jak produkt ma wyglądać i działać, ale również jakie normy i standardy produkt powinien spełniać.
Dokumentacja może przyjąć różną formę w zależności od klienta. Wymagania klienta zawarte w dokumentacji podlegają przeglądowi oraz przypisaniu do danej kompetencji (np. mechanical, validation, software, testy, electrical), a następnie dalszemu przeglądowi przez przypisane wcześniej kompetencje.
Przegląd wymagań to proces cykliczny, rzadko, a raczej prawie nigdy nie ma miejsca sytuacja, że wszystkie zagadnienia zawarte w wymaganiach od klienta są jasne dla inżynierów. Na etapie przeglądu wymagań przez inżynierów pojawia się wiele pytań. Zadaniem Systems Engineera jest uzupełnienie braków i wyjaśnienie niejasnych kwestii. Potem cykl się znów powtarza, aż do momentu, kiedy każde wymaganie jest zrozumiałe, wiemy dokładnie jak je zaimplementować oraz w jaki sposób przetestować.
Nie zawsze jest to tak proste jakby się mogło wydawać. Dopilnowanie cykliczności procesu przeglądu wymagań leży po stronie systemowca.
Systems Engineera i kompetencje miękkie
Przydatną cechą pracy Systems Engineera są dobrze rozwinięte kompetencje miękkie, czyli zdolność do łatwego nawiązywania kontaktów i współpracy z ludźmi. Ta umiejętność jest przydatna nie tylko podczas wspomnianego wcześniej przeglądu wymagań, ale również podczas negocjacji z klientem. Tak, to właśnie Systems Engineer jest najczęściej interfejsem łączącym wizję klienta z pozostałymi inżynierami w projekcie.
Często zdarza się, że podczas analizy wymagań klienta systemowiec nie posiada specjalistycznej wiedzy domenowej i konieczne jest wsparcie innych kompetencji, które specjalizują się w danej dziedzinie (np. Software, Mechanical, Electrical, Validation). Wtedy przegląd oraz analiza wymagań klienta odbywa się w grupie inżynierów, ale to Systems Engineer jest odpowiedzialny za negocjację i wyjaśnienie wymagań z klientem.
Na przykład:
- Na danym procesorze jesteśmy w stanie zrobić operację X, ale zajmuje to 100 ms, a nie 50 ms, jak początkowo było zapisane w dokumentacji projektowej.
- Wybrane materiały wytrzymają 150 tysięcy cykli powtórzeniowych podczas testów walidacyjnych, a nie 200 tysięcy cykli, jak pierwotnie określono w wymaganiach.
Czasem bywa też tak, że klient oczekuje rzeczy niemożliwych do zrealizowania w określonym budżecie projektu lub przy dostępnym sprzęcie (hardware), lecz jest tego zupełnie nieświadomy. W takiej sytuacji znów z pomocą powinny przyjść dobrze wypracowane kompetencje miękkie, ponieważ to Systems Enginner jako pierwsza linia kontaktu powinien wyjaśnić tę kwestię klientowi.
Dbanie o jakość
Kolejnym aspektem obowiązków Systems Engineera jest dbanie o jakość, która objawia się w postaci tworzenia dokumentacji projektowej w zgodzie z obowiązującymi w branży automotive normami oraz standardami, jak np. ASPICE. W tym kontekście niezwykle ważna jest współpraca z inżynierami jakości, ponieważ bliska współpraca z działem „jakości” jest kluczowa dla opracowania odpowiedniej strategii i tworzenia dokumentacji projektowej, która spełnia wymagane procesy.
Jakość wymagana od projektu i jego procesów potrafi mieć kilka poziomów, ale to temat na osobny artykuł. Dla zainteresowanych, polecam lekturę na temat poziomów ASPICE.
Systems Engineer – pozostałe obowiązki
Czy to już wszystkie obowiązki Systems Engineera w automotive? Oczywiście, że nie, a skala tych obowiązków nierzadko jest dużo większa niż to, co opisane powyżej. Resztę można zawrzeć w określeniu „współpraca z innymi kompetencjami inżynierskimi”, która zależy głównie od charakterystyki realizowanego projektu lub jest uzależniona od klienta, dla którego projekt jest realizowany.
Systems Engineer często jest odpowiedzialny za zagadnienia takie jak:
- współpraca z fabryką produkcyjną,
- wykonywanie tzw. release’ów produkcyjnych,
- definiowanie mapy pamięci na każdy release produkcyjny,
- wspieranie testów systemowych,
- praca nad usprawnieniem produktu,
- udział w kwotowaniu nowych projektów,
- wykonywanie badań pomiarowych
- prowadzenie warsztatów technicznych z klientem i poddostawcami,
- udział w projektowaniu produktu.
Oczywiście, to nie wszystkie zadania i obowiązki realizowane przez rolę Systems Engineera. Dla przykładu, projekt oparty na kamerze do monitorowania wnętrza pojazdu będzie wymagał wykonania wielu nagrań do treningu sieci neuronowych i do testów. W innym projekcie, np. w przypadku Body Computera, systemowiec będzie się zajmował jedynie wymaganiami, dokumentacją i procesem.
Jako ciekawostkę warto wspomnieć, że w ostatnich latach od systemowca wymaga się wiedzy na temat Functional Safety oraz Cybersecurity, przynajmniej w stopniu podstawowym, pomimo obecności w projekcie specjalistów z dziedziny. Należy również zaznaczyć, że w ramach transformacji Agile w branży automotive, coraz częściej to właśnie systemowiec pełni funkcję Product Ownera lub Function Ownera
Jak szerokie spektrum obowiązków może być pokryte przez Systems Engineera? Przy obecnej różnorodności projektów realizowanych w budowie elektroniki do samochodów ciężko stwierdzić. Ilość elektronicznych komponentów w samochodach ciągle rośnie, a każdy z nich może wiązać się z zupełnie inną charakterystykę projektu, a co z tym idzie, zupełnie innym zakresem obowiązków dla systemowca.
Wystarczy spojrzeć na poniższą grafikę, aby zrozumieć skalę zaawansowania technologicznego współczesnego samochodu.
Jak zostać Systems Engineerem?
Istnieje wiele możliwości i niektórzy z doświadczeniem w branży decydują się na zmianę ścieżki zawodowej, wybierając ścieżkę systemowca. Najczęściej są to testerzy lub programiści, ale zdarzają się przypadki inżynierów jakości, którzy postanowili dokonać zmiany ścieżki zawodowej w kierunku systemowca. Kilka lat doświadczenia oraz dobre zrozumienie branży automotive ułatwia wpasowanie się w rolę Systems Engineera.
Dobrym punktem wyjścia do roli systemowca jest stanowisko inżyniera wymagań (Requirements engineer). Głównym zadaniem inżyniera wymagań jest pisanie wymagań oraz prowadzenie przeglądów istniejących już wymagań. Taka rola stanowi dobry wstęp do roli Systems Engineera, ponieważ realizowane zadania pokrywają się z zakresem obowiązków systemowca.
Podsumowanie
Praca Systems Engineera nie należy do najłatwiejszych. Wymaga wiedzy, doświadczenia oraz dobrego zrozumienia branży i zasad przemysłu automotive. Rola Systems Engineera to balans pomiędzy pracą z dokumentacją a pracą z ludźmi. Jeśli jesteś otwarty na różne i często nieszablonowe rozwiązania, potrafisz myśleć analitycznie i lubisz pracować z ludźmi, to zdecydowanie ta rola może być dla Ciebie odpowiednia.
Na koniec przytoczę krótką historię. Kiedyś, na początku mojej kariery w dziedzinie systemów, zapytałem kolegę z kilkunastoletnim stażem, co jako systemowiec muszę wiedzieć o produkcie lub projekcie.
Odpowiedział:
Wszystko! Ale to nie znaczy, że wszystko musisz mieć w głowie, bo jeśli czegoś nie wiesz to wystarczy, że wiesz kto wie. I wtedy wiesz już wszystko.
I z tym zdaniem Was zostawię.
***
Jeśli chcesz poznać inne ścieżki karier w IT, zerknij koniecznie również do pozostałych artykułów naszych ekspertów.
Zostaw komentarz