JustJoin.IT Praca zdalna Senior

C++ Developer/ Embedded Software Engineer

SCALO

⚲ Wrocław

Do uzgodnienia

Wymagania

  • min. 7 lat komercyjnego doświadczenia w programowaniu w C++, w tym projekty embedded lub systemowe
  • doświadczenie w rozwoju firmware'u i/lub oprogramowania embedded
  • praktyczne doświadczenie z MQTT
  • znajomość CMake
  • doświadczenie z OpenSSL oraz Protocol Buffers (Protobuf)
  • doświadczenie w tworzeniu testów jednostkowych z GoogleTest oraz testów integracyjnych
  • doświadczenie w realizacji rozwiązań cross-platform
  • angielski na poziomie C1

Opis stanowiska

Będziesz rozwijać i utrzymywać firmware oraz komponenty embedded w C++ odpowiedzialne za komunikację z urządzeniami i wstępne przetwarzanie danych, a także aplikację desktopową opartą o Qt i QML. Praca obejmuje rozwój nowych funkcjonalności, refaktoryzację i redukcję długu technologicznego oraz moduły komunikacji MQTT i integrację z ekosystemem IoT. Uwaga: z opisu wynika, że realnie dużo czasu zajmie praca z istniejącym, złożonym kodem, krytyczne poprawki i redukcja długu technologicznego — warto to wziąć pod uwagę, jeśli szukasz projektu głównie od zera.

🔍 Dekoder Ogłoszenia

🔴
Tworzymy oprogramowanie, które umożliwia ludziom dokonywanie zmian, działanie w szybszym tempie oraz osiąganie lepszych rezultatów.
Może to oznaczać, że praca będzie dynamiczna, z częstymi zmianami priorytetów i presją na szybkie dostarczanie wyników.
🔴
Wspieramy naszych partnerów w rozwijaniu ich biznesu.
Może sugerować, że będziesz pracować nad projektami klientów zewnętrznych, co może oznaczać różnorodność, ale też potencjalnie zmienne wymagania i priorytety.
🟡
dedykowane zespoły projektowe.
Może oznaczać, że będziesz przypisany do konkretnego klienta lub projektu na dłuższy czas, co może ograniczać różnorodność zadań.
🔴
redukcję długu technologicznego
Może oznaczać, że będziesz musiał zajmować się starym, trudnym do utrzymania kodem, co może być frustrujące i czasochłonne.
🔴
realizację krytycznych poprawek
Sugestia, że będziesz musiał szybko reagować na problemy i błędy w działającym oprogramowaniu, co może oznaczać pracę pod presją czasu.