Programista / Programistka systemów wbudowanych - dział R&D
Twój zakres obowiązków
Poszukujemy osób do pracy w zespole R&D przy rozwijaniu istniejących i projektowaniu nowych analizatorów gazów stosowanych w przemyśle (m.in. przemysł petrochemiczny, energetyka, spalarnie, huty, cementownie oraz przemysł spożywczy i drzewny). Nasze urządzenia powstają w oparciu o własną nowatorską w skali światowej technikę pomiaru laserowego TDLS (Tunable Diode Laser Spectroscopy), która zapewnia precyzyjne, szybkie, bezkontaktowe i bezobsługowe prowadzenie analizy składu gazów w czasie rzeczywistym. Nasze analizatory pracują w prawie 50 krajach na świecie od USA, Kanady i Brazylii, przez Europę i kraje Bliskiego Wschodu aż po Indie, Chiny, Koreę Południową, Singapur i Japonię. Aktualnie intensyfikujemy prace w dziale badań i rozwoju, aby w niedługim czasie stać się numerem 1 wśród producentów analizatorów gazów i przejąć większość światowego rynku.
Programista / Programistka systemów wbudowanych zajmuje się koncepcją, projektowaniem, symulacją, weryfikacją oraz optymalizacją oprogramowania dla projektowanych urządzeń. Odpowiada za opracowywanie dokumentacji technicznej, prototypowanie, testowanie, wdrażanie do produkcji oraz wsparcie zespołu serwisowego i klienta. Ściśle współpracuje z elektronikami, mechanikami, inżynierami aplikacji oraz zespołem produkcji i wsparcia posprzedażowego od koncepcji przez cały cykl życia produktu.
Współpraca międzybranżowa: Praca w zespole inżynierskim nad koncepcją i projektem urządzeń, koordynacja prac nad oprogramowaniem z pozostałymi projektantami oraz definiowanie interfejsów.
Architektura systemu: Udział w rozwoju i projekcie architektury systemu. Projektowanie oprogramowania zgodnie z wymaganiami i obowiązującymi normami.
Programowanie systemów wbudowanych: Tworzenie oprogramowania niskopoziomowego (firmware), sterowników, obsługa peryferiów, implementacja protokołów komunikacyjnych (UART, SPI, ETH, I2C) oraz systemów czasu rzeczywistego (RTOS) dla produkowanych urządzeń.
Współpraca ze sprzętem (Hardware): Ścisła współpraca z projektantami elektroniki, testowanie oprogramowania na docelowym produkcie.
Debugowanie kodu i testy: Analiza problemów, znajdowanie błędów w kodzie i sprzęcie. Przygotowywanie testów weryfikujących poprawność działania oprogramowania.
Optymalizacja i utrzymanie kodu: Rozwój istniejących projektów, refaktoryzacja i poprawa stabilności. Optymalizacja zużycia pamięci (RAM/Flash) oraz mocy obliczeniowej procesora. Udział w przeglądach kodu w celu zapewnienia wysokiej jakości.
Wsparcie: Wspieranie zespołu serwisowego i klienta w sprawach bieżących oraz przeprowadzanie szkoleń dla pracowników serwisu i produkcji (w ramach tworzonego oprogramowania).
Nasze wymagania
Wykształcenie wyższe techniczne (kierunki: Informatyka, Elektronika, Automatyka, Robotyka lub pokrewne).
Biegła znajomość języków programowania: C, C++ oraz asembler.
Dobra znajomość języka angielskiego.
Dobra znajomość budowy mikrokontrolerów (GPIO, ADC, DMA, Flash, CPU, RAM) oraz umiejętność czytania schematów elektronicznych i dokumentacji technicznej (datasheet).