Definicja #
Automotive IT to specjalizacja obejmująca tworzenie oprogramowania na potrzeby branży motoryzacyjnej — zarówno oprogramowania wbudowanego w pojazdy, jak i systemów backendowych obsługujących flotę, dealerów i producentów.
Główne obszary automotive software:
- ECU (Electronic Control Unit) — sterowniki elektroniczne kontrolujące silnik, skrzynię biegów, hamulce, klimatyzację; programowane w C/C++ z rygorystycznymi wymaganiami czasowymi (RTOS)
- ADAS (Advanced Driver-Assistance Systems) — systemy wspomagania kierowcy: adaptacyjny tempomat, utrzymanie pasa, automatyczne hamowanie (AEB), parking assist; wymagają przetwarzania obrazu i danych z czujników (LiDAR, radar, kamera)
- Infotainment i HMI — system multimedialny i interfejs kierowcy (Human Machine Interface); Android Automotive, QNX, Linux-based systems, Apple CarPlay/Android Auto integration
- Pojazdy autonomiczne (AD) — oprogramowanie percepcji, planowania trasy i sterowania; głębokie uczenie (CUDA, TensorRT), ROS (Robot Operating System)
- Connected Car i Telematics — OTA updates, diagnostyka zdalna, zbieranie danych telemetrycznych, flota management
- Systemy V2X — komunikacja pojazd-infrastruktura (Vehicle-to-Everything); standardy DSRC, C-V2X
Standardy specyficzne dla branży:
- AUTOSAR (AUTomotive Open System ARchitecture) — standardowa architektura oprogramowania ECU; Classic AUTOSAR dla embedded, Adaptive AUTOSAR dla komputerów pokładowych
- ISO 26262 — standard bezpieczeństwa funkcjonalnego dla systemów elektrycznych w pojazdach; definiuje poziomy ASIL (A-D) i procesy weryfikacji
- ASPICE (Automotive SPICE) — model oceny dojrzałości procesów wytwarzania oprogramowania automotive
Zastosowania #
- Embedded software dla ECU — programowanie sterowników silnika, układu hamulcowego (ABS, ESP), skrzyni biegów w C/C++ z MISRA C
- Systemy ADAS i autonomicznej jazdy — przetwarzanie obrazu z kamer, fuzja danych z czujników LiDAR/radar, algorytmy detekcji obiektów
- Infotainment i Android Automotive — aplikacje dla systemu multimedialnego pojazdu na bazie Androida lub QNX
- Diagnostyka OBD i narzędzia serwisowe — oprogramowanie do diagnostyki pojazdów przez OBD-II, protokoły CAN, UDS
- Fleet management i connected car — platformy backendowe do zarządzania flotą, OTA updates, analityka telemetryczna
Ścieżka nauki #
Automotive software łączy embedded programming, inżynierię bezpieczeństwa i znajomość standardów branżowych — ścieżka dla inżynierów z solidnymi podstawami C/C++ i systemów wbudowanych.
Zacznij od:
- C i C++ na poziomie embedded — wskaźniki, zarządzanie pamięcią, optymalizacja kodu niskopoziomowego
- Podstawy systemów wbudowanych: RTOS (FreeRTOS), mikrokontrolery, komunikacja CAN/LIN/Ethernet
- Standard MISRA C — ograniczenia języka C dla bezpiecznego oprogramowania krytycznego
Następnie pogłębiaj:
- AUTOSAR Classic: warstwy (BSW, RTE, SWC), narzędzia (Vector DaVinci, EB tresos)
- ISO 26262: poziomy ASIL, analiza FMEA/FMEDA, wymagania dotyczące procesów weryfikacji
- ADAS: Python i OpenCV do prototypowania, CUDA/TensorRT do wdrożeń na GPU
- Certyfikacja: ISTQB Automotive, Vector Automotive Academy
- Narzędzia branżowe: CANalyzer/CANoe (Vector), MATLAB/Simulink (MathWorks)
FAQ #
- Czym różni się automotive software od zwykłego embedded?
- Automotive software podlega znacznie bardziej rygorystycznym wymaganiom bezpieczeństwa i jakości. ISO 26262 definiuje poziomy ASIL (A-D) dla systemów krytycznych — błąd oprogramowania może zagrażać życiu. Wymagane są formalne procesy weryfikacji (ASPICE), określone style kodowania (MISRA C), dokumentacja i traceability. Typowe projekty embedded nie mają takich wymagań procesowych.
- Co to jest AUTOSAR i dlaczego jest ważny?
- AUTOSAR to standard architektury oprogramowania ECU opracowany przez konsorcjum producentów pojazdów (BMW, Bosch, Continental, Daimler, Ford, GM). Classic AUTOSAR definiuje warstwy oprogramowania ECU (aplikacja, middleware, BSW, MCAL) i interfejsy między nimi — umożliwia przenoszenie komponentów między różnymi platformami sprzętowymi. Adaptive AUTOSAR (od 2017) obsługuje nowoczesne komputery pokładowe z Linuxem/POSIX.
- Jakie języki programowania dominują w automotive?
- C dominuje w embedded automotive (ECU, AUTOSAR Classic) ze względu na deterministyczne zachowanie i przenośność. C++ zyskuje na popularności w ADAS i Adaptive AUTOSAR. Python używany jest w toolchain automation, testach i prototypowaniu algorytmów. Rust zaczyna wchodzić do automotive jako bezpieczniejsza alternatywa dla C/C++. MATLAB/Simulink stosowany do modelowania i generacji kodu dla systemów sterowania.
- Ile zarabia embedded software engineer w automotive?
- Embedded Software Engineer automotive zarabia w Polsce od 12 000 do 25 000 zł brutto. Senior Automotive Software Engineer lub ADAS Engineer może zarabiać 20 000-35 000 zł. Stawki są wyższe niż w typowym embedded ze względu na wymagania ISO 26262 i ASPICE. Rynek jest skoncentrowany wokół ośrodków R&D (Kraków, Wrocław, Warszawa, Gdańsk).