Software Engineer

Software Engineer

Pełny etat 135000 - 165000 zł / rok (szac.) Hybrydowo
G

W skrócie

  • Zadania: Twórz oprogramowanie dla nowego symulatora komunikacji zbiorowej i testuj innowacyjne algorytmy.
  • Firma: Innowacyjna firma technologiczna z kulturą współpracy.
  • Benefity: Konkurencyjne wynagrodzenie, opieka zdrowotna, praca zdalna i rozwój zawodowy.
  • Pozostałe informacje: Dynamiczne środowisko z doskonałymi możliwościami rozwoju kariery.
  • Dlaczego ta praca: Pracuj z najnowszymi technologiami i wpływaj na rozwój AI.
  • Kwalifikacje: Doświadczenie w programowaniu w C++ oraz umiejętności rozwiązywania problemów.

Przewidywane wynagrodzenie mieści się w przedziale 135000 - 165000 zł za rok.

Jako inżynier oprogramowania w zespole Collectives Simulator, będziesz uczestniczyć w rozwoju symulatora komunikacji zbiorowej na dużą skalę, który umożliwia analizę parametrów sieciowych oraz efektywne wdrażanie algorytmów komunikacyjnych. Idealny kandydat powinien mieć doświadczenie w projektowaniu, rozwijaniu i utrzymywaniu złożonych systemów oprogramowania z wykorzystaniem sprzętu specjalistycznego.

Zespół

Zespół Collectives Simulator jest odpowiedzialny za budowanie symulatora komunikacji zbiorowej dla nowego sprzętu AI, nad którym pracuje Graphcore. Symulator pozwala użytkownikom na dogłębną analizę algorytmów komunikacyjnych w różnych topologiach sieciowych.

Obowiązki i zadania

  • Wdrażanie, testowanie i dokumentowanie Collectives Simulator dla nowego sprzętu AI
  • Współpraca z innymi zespołami w celu projektowania, wdrażania i testowania nowych funkcji
  • Rozwiązywanie złożonych problemów technicznych
  • Uczestnictwo w zwinnej metodzie rozwoju – praca w zespole scrumowym

Profil kandydata

  • Doświadczenie w rozwoju oprogramowania z użyciem języka programowania C++
  • Znajomość Pythona i C
  • Dobre umiejętności rozwiązywania problemów oraz zdolność do debugowania i rozwiązywania złożonych problemów
  • Doświadczenie z frameworkami testów jednostkowych, takimi jak Boost.Test i Google Test
  • Znajomość narzędzi do budowy, takich jak CMake, Make i Ninja
  • Silne zrozumienie systemów kontroli wersji (preferowany Git)
  • Doświadczenie w rozwoju symulatorów SW
  • Znajomość bibliotek sieciowych RDMA (na przykład libibverbs, libfabric)
  • Znajomość koncepcji wielowątkowości i obliczeń równoległych, w tym doświadczenie z algorytmami równoległymi i optymalizacją dla systemów AI/ML i HPC
  • Znajomość technik komunikacji międzyprocesowej (IPC) dla rozwoju efektywnych aplikacji współbieżnych
  • Doświadczenie z pipeline'ami CI/CD, w tym konfiguracja zautomatyzowanych przepływów pracy i wdrożeń (na przykład GitHub Actions, GitLab CI)
  • Doświadczenie z bibliotekami komunikacyjnymi (na przykład NCCL, MPI)
  • Znajomość frameworków uczenia maszynowego (na przykład PyTorch)
  • Znajomość nowoczesnych standardów C++ 17/20

Oprócz konkurencyjnego wynagrodzenia, Graphcore oferuje politykę urlopową, plany zdrowotne medyczne i dentystyczne, kartę do siłowni oraz emeryturę pracowniczą (dopasowaną do 4%). Co roku przeglądamy nasze benefity, aby zapewnić wartościowy i satysfakcjonujący program świadczeń dla naszych pracowników. Witamy osoby z różnych środowisk i doświadczeń; zobowiązujemy się do budowania inkluzywnego środowiska pracy, które sprawia, że Graphcore jest wspaniałym miejscem dla każdego. Oferujemy proces równych szans i rozumiemy, że wszyscy mamy widoczne i niewidoczne różnice. Możemy zapewnić elastyczne podejście do rozmowy kwalifikacyjnej i zachęcamy do kontaktu, jeśli potrzebujesz jakichkolwiek rozsądnych dostosowań.

Software Engineer – pracodawca: Graphcore

Graphcore to wiodący innowator w dziedzinie obliczeń sztucznej inteligencji, oferujący wyjątkowe możliwości rozwoju kariery w Gdańsku. Pracownicy mogą liczyć na elastyczne godziny pracy, kompleksową opiekę zdrowotną oraz program wsparcia dla pracowników, co sprzyja równowadze między życiem zawodowym a prywatnym. Wspieramy różnorodność i inkluzyjność, tworząc środowisko, w którym każdy może osiągnąć swoje najlepsze wyniki.

G

Dane kontaktowe:

Zespół rekrutacyjny Graphcore

Naszym zdaniem te umiejętności pozwolą ci błyszczeć jako Software Engineer

C++
Python
C
Problem-Solving Skills
Debugging
Unit Testing (Boost.Test, Google Test)
Build Tools (CMake, Make, Ninja)