Staff Firmware and Operating System Engineer in Gdańsk

Staff Firmware and Operating System Engineer in Gdańsk

Gdańsk Pełny etat 118800 - 145200 zł / rok (szac.) Hybrydowo
O

W skrócie

  • Zadania: Twórz oprogramowanie niskiego poziomu i współpracuj nad innowacyjnymi projektami.
  • Firma: Innowacyjna firma technologiczna z kulturą współpracy.
  • Benefity: Konkurencyjne wynagrodzenie, benefity zdrowotne, praca zdalna i rozwój zawodowy.
  • Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
  • Dlaczego ta praca: Pracuj z nowoczesnymi technologiami i wprowadzaj realne zmiany w branży.
  • Kwalifikacje: Doświadczenie w rozwoju oprogramowania i umiejętności współpracy w zespole.

Przewidywane wynagrodzenie mieści się w przedziale 118800 - 145200 zł za rok.

Rozwój niskiego (BIOS, oprogramowanie układowe, sterowniki urządzeń) i średniego poziomu oprogramowania (emulacja, symulacja i wirtualizacja) w celu umożliwienia wykorzystania nowatorskich funkcji sprzętowych i akceleratorów Openchip, przynosząc widoczne poprawy dla użytkowników końcowych.

Kluczowe obowiązki:

  • Zrozumienie technicznego krajobrazu projektu i podejmowanie decyzji na jego temat.
  • Dokonywanie niezależnych wkładów technicznych, szczególnie w najbardziej podstawowych lub wymagających częściach projektu.
  • Rozwój i utrzymanie oprogramowania niskiego poziomu (BIOS i oprogramowanie układowe) dla nowatorskich architektur sprzętowych.
  • Rozwój i utrzymanie sterowników urządzeń dla systemów operacyjnych (głównie Linux), aby ujawnić nowatorskie funkcje sprzętowe (np. telemetry) i akcelerację, a także wspierać ich emulację i wirtualizację.
  • Zapewnienie monitorowania, instrumentacji i telemetrii w celu eksportu statusu systemu i metryk zdrowia.
  • Zapewnienie kontroli obciążenia i konfiguracji oraz punktów wejściowych API do zdalnej obsługi.
  • Konfiguracja i rozszerzanie oprogramowania emulacyjnego, symulacyjnego i wirtualizacyjnego.
  • Interakcja z inżynierami i liderami z własnych i innych zespołów w celu rozwiązania problemów lub osiągnięcia konsensusu w kwestiach technicznych.
  • Współpraca z zespołami sprzętowymi, wpływając na współprojektowanie sprzętu i oprogramowania.
  • Współpraca z zespołami rozwijającymi middleware i/lub wkład w middleware.
  • Zapewnienie wsparcia technicznego dla młodszych członków zespołu, pełniąc również rolę mentora.
  • Przegląd artefaktów zespołowych (dokumenty projektowe, zmiany w kodzie) zarówno pod kątem poprawności, jak i jakości oraz spójności kodu.
  • Identyfikacja możliwości poprawy kodu i/lub procesów.
  • Informowanie dyrektorów i wyżej, jeśli to konieczne, na przykład w celu zgłoszenia potencjalnych ryzyk lub uzyskania informacji zwrotnej na podstawie wiedzy technicznej na poziomie obszaru.
  • Współpraca z menedżerami programów w zakresie śledzenia zadań i dostarczanych wyników, a także usprawnień procesów.
  • Komunikacja poza zespołem, wyjaśniając i ujawniając tematy techniczne mniej technicznym częściom organizacji.

Wymagane kwalifikacje:

  • Tytuł licencjata lub magistra w odpowiedniej dziedzinie.
  • Doświadczenie w odpowiedniej dziedzinie (ponad 10 lat).
  • Solidna wiedza na temat architektury komputerowej (CPU, pamięć podręczna i hierarchia pamięci, magistrale).
  • Dobre zrozumienie procesu pre-boot i boot oraz wewnętrznych mechanizmów jądra Linux.
  • Znajomość procesu kompilacji i linkowania (toolchainy, formaty plików obiektowych, binutils, dynamiczne ładowanie).
  • Solidna znajomość języków programowania niskiego poziomu (C, Rust).
  • Doświadczenie z językiem asemblera (dowolna architektura).
  • Doświadczenie z standardowymi narzędziami do kontroli wersji (git), ciągłej integracji, zarządzania zadaniami (Jira).

Preferowane kwalifikacje:

  • Doświadczenie w rozwoju RISC-V na poziomie języka asemblera.
  • Doświadczenie w rozwoju jądra i/lub sterowników urządzeń.
  • Doświadczenie z emulatorami i symulatorami (Qemu, Gem5, Spike).
  • Doświadczenie z technologią hipernadzoru (KVM, Xen).
  • Doświadczenie w rozwoju oprogramowania open source.
  • Doświadczenie z technologią uruchamiania systemu (UEFI/EDK2, ACPI, u-boot, devicetree).

Umiejętności miękkie:

  • Współpraca w ramach zespołu i między zespołami na poziomie technicznym.
  • Doświadczenie w prowadzeniu zespołów na poziomie technicznym (niekoniecznie w formalnej roli zarządzającej).

Co oferujemy?

  • Dołączenie do innowacyjnego zespołu i doświadczenie wzrostu firmy.
  • Inwestowanie w naszych pracowników i zapewnienie im możliwości rozwoju kariery.
  • Elastyczne środowisko pracy.
  • Oferujemy wynagrodzenie, które docenia Twoje doświadczenie.
  • Stanowisko będzie miało siedzibę w Gdańsku.
  • Szukamy wyjątkowych ludzi gotowych dołączyć do naszej misji zmiany tej branży i pomocy w budowaniu lepszego świata.
  • W Openchip & Software Technologies S.L. wierzymy, że różnorodny i inkluzyjny zespół jest kluczem do przełomowych pomysłów. Tworzymy środowisko pracy, w którym każdy czuje się doceniany, szanowany i ma możliwość osiągnięcia pełnego potencjału – niezależnie od rasy, płci, etniczności, orientacji seksualnej czy tożsamości płciowej.

Staff Firmware and Operating System Engineer in Gdańsk – pracodawca: OPENCHIP & SOFTWARE TECHNOLOGIES

Nasza firma to innowacyjne środowisko, które stawia na rozwój i elastyczność, oferując pracownikom możliwość pracy w modelu hybrydowym. Wspieramy kulturę współpracy i ciągłego uczenia się, co pozwala naszym inżynierom na rozwijanie umiejętności w obszarze technologii chmurowych oraz AI. Pracując z nami, będziesz miał okazję uczestniczyć w przełomowych projektach inżynieryjnych w Europie, co czyni nas doskonałym pracodawcą dla tych, którzy pragną mieć realny wpływ na przyszłość technologii.

O

Dane kontaktowe:

Zespół rekrutacyjny OPENCHIP & SOFTWARE TECHNOLOGIES

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Staff Firmware and Operating System Engineer in Gdańsk

Rozwój oprogramowania niskiego poziomu (BIOS, firmware, sterowniki urządzeń)
Znajomość architektury komputerowej (CPU, hierarchia pamięci, magistrale)
Zrozumienie procesu bootowania i wewnętrznych mechanizmów jądra Linux
Znajomość procesu kompilacji i linkowania (toolchainy, formaty plików obiektowych)
Znajomość języków programowania niskiego poziomu (C, Rust)
Doświadczenie z językiem asemblera
Znajomość narzędzi do kontroli wersji (git), integracji ciągłej, zarządzania zadaniami (Jira)