Funkcja: Badania i Rozwój - Jaipur
Pasek płac: E4 do M2
Rola: Inżynier Oprogramowania AI/ML
Jeśli pasjonuje Cię rozwijanie i wdrażanie algorytmów AI i ML dla zaawansowanych jednostek sterujących w motoryzacji, ta rola z orientacją na cel jest dla Ciebie. W stałej interakcji z zespołami odpowiedzialnymi za sprzęt, oprogramowanie i testowanie, będziesz rozwijać moduły oprogramowania zapewniające jakość dostarczania w ustalonych terminach.
- Skupienie: Rozwój i wdrażanie algorytmów AI i uczenia maszynowego na systemach wbudowanych.
- Rozwój i wdrażanie algorytmów ML na systemach wbudowanych do identyfikacji, śledzenia i klasyfikacji obiektów.
- Projektowanie i optymalizacja modeli AI/ML do wdrożenia na platformach wbudowanych o ograniczonych zasobach, uwzględniając pamięć, moc obliczeniową i efektywność energetyczną.
- Udział w całym cyklu życia rozwoju oprogramowania, od zbierania wymagań i projektowania systemu, po testowanie, wdrożenie i utrzymanie.
- Ocena i optymalizacja algorytmów w celu zapewnienia wydajnej i dokładnej wydajności systemów wizyjnych w czasie rzeczywistym.
- Analiza wydajności i rozwiązywanie problemów w celu identyfikacji i usunięcia usterek.
- Śledzenie postępów w dziedzinie AI i uczenia maszynowego oraz proponowanie innowacyjnych rozwiązań w celu ulepszenia naszych produktów.
- Dokumentowanie i skuteczne przekazywanie pojęć technicznych, algorytmów i szczegółów wdrożenia członkom zespołu i interesariuszom.
- Mentorowanie młodszych członków zespołu, dostarczanie wskazówek i ekspertyz technicznych w celu wspierania ich rozwoju zawodowego.
- Przestrzeganie procesów wersjonowania i wydawania oprogramowania.
- Tworzenie plików symulacyjnych CAN/dbc z matrycy CAN oraz korzystanie z narzędzi Vector CAN (takich jak CANalyzer, CANoe), ETAS-INCA itp.
- Przeprowadzanie testów jednostkowych oprogramowania i walidacji, w tym znajomość testowania czarno- i białoskrzynkowego.
- Przygotowywanie zwięzłej dokumentacji funkcji oprogramowania ECU i testów weryfikacyjnych.
- Przeprowadzanie testów oprogramowania przy użyciu narzędzi symulacyjnych CAN, takich jak CAPL.
BTech/MTech z informatyki, elektroniki, instrumentacji, motoryzacji lub równoważne. Zaawansowane kwalifikacje są zaletą.
- Projektowanie i rozwój oprogramowania wbudowanego, w tym Embedded Linux i Embedded C/C++.
- Solidne zrozumienie technik ML, frameworków głębokiego uczenia (TensorFlow, PyTorch) oraz wizji komputerowej.
- Doświadczenie w integracji i optymalizacji sprzętu i oprogramowania dla systemów wbudowanych, w tym przyspieszanie GPU i wdrażanie FPGA.
- Biegłość w pracy z popularnymi platformami wbudowanymi, takimi jak systemy na chipie (SoC) oparte na ARM oraz mikrokontrolery.
- Znajomość systemów operacyjnych czasu rzeczywistego (RTOS) i metodologii rozwoju oprogramowania dla systemów wbudowanych.
- Doświadczenie w modelu zdolności procesów ASPICE i procesie