Sii Częstochowa – tutaj realizowane są projekty dla największych marek motoryzacyjnych
Pierwszy rok istnienia Sii Częstochowa upłynął pod znakiem projektów z obszaru systemów wbudowanych. Zespół doświadczonych inżynierów embedded realizuje tu projekty dla globalnych marek z branży motoryzacyjnej i kolejowej. Wśród nich są Łukasz Grądzik i Artur Bałut, którzy opowiedzieli o specyfice swojej pracy, największych wyzwaniach i ścieżkach kariery.
Nad jakim projektem aktualnie pracujecie?
Łukasz Grądzik, Architekt w Centrum Kompetencyjnym Embedded: Razem z Arturem jesteśmy zaangażowani w projekt Secure Gateway w systemie Body Control Module do elektrycznego auta osobowego europejskiej marki. Sam Body Control Module, który odpowiada m.in. za sterowanie oświetleniem (na zewnątrz i wewnątrz auta), wycieraczkami czy szybami występuje oczywiście już w poprzedniej generacji pojazdu. Innowacją jest element „secure”. Główna funkcjonalność SGW to zapewnienie łączności między kilkoma magistralami w samochodzie oraz bezpieczeństwa (cybersecurity) takiego połączenia.
Artur Bałut, Inżynier ds. oprogramowania w Centrum Kompetencyjnym Embedded: Dla użytkownika pojazdu główną konsekwencją wdrożenia Secure Gateway będzie brak dostępu do ustawień, modyfikacji oraz manipulacji w tych konkretnych modułach. Oznacza to, że większość operacji będzie musiała być wykonana przez autoryzowany serwis. Z klasycznych sieci lokalnych (ethernet) rozwiązanie to przypomina ośmioportowy router, switch zarządzalny. Elementy cyberbezpieczeństwa zastosowane w projekcie to podpisywanie nowego oprogramowania i uwierzytelnianie dostępu za pomocą certyfikatów X509 chroniących wrażliwe dane, a także obliczanie CMAC dla oprogramowania już wgranego w celu wyeliminowania jego podmiany lub uszkodzenia.
Skąd Wasze zainteresowanie systemami wbudowanymi?
Ł.G.: Odkąd dostałem w młodości pierwszy komputer – Atari – interesowało mnie, jak to się dzieje, że gdy napiszę komendę, komputer dostarcza wynik. Ucząc się moich pierwszych języków
programowania – Basic oraz Pascal – nie dawało mi spokoju, że to swego rodzaju „nakładka” dla człowieka, że tam pod spodem dzieje się dużo więcej, ale tego na pierwszy rzut oka nie widać. Pisząc programy, zgłębiałem również asemblera, używałem tricków optymalizacyjnych. Podobało mi się programowanie niskopoziomowe. Czułem, że idę w kierunku przeciwnym do całej branży, która wprowadzała języki programowania o coraz większym poziomie abstrakcji, próbując maksymalnie oddzielić oprogramowanie od urządzenia. Co najbardziej lubię w obszarze embedded? „Wyciskanie” maksymalnej wydajności ze sprzętu, tworzenie rozwiązań dedykowanych. Największą satysfakcję daje mi fizyczny wynik pracy, to że stworzone urządzenie mogę wziąć do ręki, że efekt jego działania ma odzwierciedlenie w naszym fizycznym świecie.
A.B.: Programowaniem zainteresowałem się jeszcze jako nastolatek. Dotyczyło ono wtedy tylko komputera klasy PC, chociaż na liście technologii i języków, których spróbowałem, jest więcej pozycji niż jedna. Dopiero na trzecim roku studiów zapisałem się do koła naukowego programowania mikrokontrolerów. I tak to się zaczęło.
Od początku realizowaliście projekty dla branży motoryzacyjnej?
Ł.G.: Przez większość mojego życia zawodowego tak, głównie w systemach bezpieczeństwa. Poza tym tworzyłem także oprogramowanie do elektronicznych liczników energii elektrycznej, wind, systemów bezpieczeństwa w kolejnictwie. Hobbystycznie dla małej odmiany, rozwijam system automatyki domowej.
A.B.: Moją zawodową przygodę ze światem embedded zacząłem w dziale częstotliwości radiowych. Byłem odpowiedzialny za odbiornik danych z czujników mierzących ciśnienie w oponach. Następnie przeszedłem do pasywnych systemów bezpieczeństwa. Programowałem moduły odpowiedzialne za wykrywanie wypadków oraz odpalanie poduszek powietrznych.
Większość projektów, nad którymi pracowaliście były związane z bezpieczeństwem. Jakie są największe wyzwania z Waszej codziennej pracy?
Ł.G.: Po części takie same jak każdego programisty, czyli walka z czasem i terminami, w których należy dostarczyć projekt oraz bardzo szybki rozwój nowych technologii – wciąż trzeba się uczyć i rozwijać.
A częściowo typowe dla świata embedded problemy wynikające z dużej interakcji ze światem fizycznym, mocno ograniczone zasoby mikrokontrolerów, czasem walka o pojedyncze bity i ułamki sekund.
A.B.: Poza czasem, o którym wspomniał Łukasz to również skromne zasoby flasha, RAMu i taktowanie procesora daleko odbiegające od wartości znanych z komputerów klasy PC czy nawet smartfonów. No i ostatnie, ale nie mniej ważne, to błędy powstające na styku hardware i software. Między innymi te wyzwania powodują pewną wyjątkowość pracy programisty embedded, która nie jest znana programistom języków Java czy C#.
Łukasz, w Sii często występujesz w roli prelegenta na różnych meetupach. Skąd u Ciebie chęć angażowania się w takie inicjatywy?
Ł.G.: Po prostu lubię dzielić się wiedzą. Dodatkowo, jest to pole do podyskutowania i poznania punktu widzenia innych specjalistów – jak dla mnie świetna możliwość! Konieczność przygotowania logicznie spójnych materiałów na prezentację powoduje też, że sam identyfikuję luki w swojej wiedzy, które potem z chęcią uzupełniam.
Wszystko wskazuje na to, że kolejny rok w Sii Częstochowa również upłynie pod znakiem systemów wbudowanych. Do zespołu poszukiwani są tacy specjaliści jak: C/C++ Embedded Developer, Autosar Developer czy Test Developer z Pythonem. Eksperci będą mieli okazję rozwijać się głównie w projektach z branży samochodowej z naciskiem na obszar autonomicznej jazdy.
Wszystkie oferty pracy można znaleźć w zakładce kariery.