Praca
Z kanału partnera
Starszy inżynier oprogramowania (platforma danych, C++)
Cena na życzenie
Szczegóły
- Typ zatrudnienia
- Pełny etat
- Zdalnie
- Nie
- Firma
- Nebius
Opis
Automatyczne tłumaczenie z języka English. Oryginał jest wiążący. Tłumaczenie maszynowe — trwają prace nad dokładniejszą wersją.
O Nebiusie:
Nebius wyznacza nową erę w infrastrukturze chmurowej dla globalnej gospodarki opartej na sztucznej inteligencji. Budujemy kompleksową platformę chmurową AI, która wspiera programistów i przedsiębiorstwa od szkolenia danych i modeli po wdrożenie produkcyjne, bez kosztów i złożoności budowania dużej wewnętrznej infrastruktury AI/ML.
Zbudowany przez inżynierów dla inżynierów. Od orkiestracji procesorów graficznych na dużą skalę po optymalizację wnioskowania – jesteśmy odpowiedzialni za trudne problemy związane z obliczeniami, pamięcią masową, siecią i zastosowaną sztuczną inteligencją.
Jesteśmy notowani na giełdzie Nasdaq (NBIS) z siedzibą w Amsterdamie. Mamy globalny zasięg z ośrodkami badawczo-rozwojowymi w Europie, Wielkiej Brytanii, Ameryce Północnej i Izraelu. Nasz zespół liczący ponad 1500 osób składa się z setek inżynierów posiadających głęboką wiedzę specjalistyczną w zakresie sprzętu, oprogramowania oraz badań i rozwoju sztucznej inteligencji.
Rola
#LI-MM1
Poszukujemy inżyniera oprogramowania z dużą wiedzą na temat języka C++, który dołączy do zespołu budującego i obsługującego Nebius Data Platform — rozproszoną platformę do przechowywania i przetwarzania, która działa jako „źródło prawdy” firmy i szkielet wielu wewnętrznych (i niektórych zewnętrznych) produktów.
Nebius Data Platform to pojedynczy ekosystem obsługujący wielu dzierżawców oparty na YTsaurus — zamiast uruchamiać oddzielne systemy w stylu HDFS/Kafka/HBase, zapewniamy możliwości przechowywania, obliczeń i analiz w ramach jednej platformy.
Zbudowany na bazie ekosystemu YTsaurus o otwartym kodzie źródłowym, prowadzimy i rozwijamy naszą własną dystrybucję Nebiusa oraz rozwijamy znaczącą wewnętrzną funkcjonalność (na poziomie rdzenia i platformy). Możemy projektować, wdrażać i wdrażać funkcje kompleksowo w naszych klastrach, bez czekania na zatwierdzenia na poziomie wyższego szczebla, a także wnosić wkład na poziomie wyższym, gdy ma to sens.
Na dzisiejszą skalę obejmuje to ~500 serwerów, ~20 tys. rdzeni procesorów i ~10 PB skompresowanych danych w naszym największym klastrze produkcyjnym, obsługującym obciążenia od potoków o znaczeniu krytycznym dla biznesu i transakcji finansowych po zbiory danych szkoleniowych ML/LLM i obliczenia na dużą skalę.
Co znajduje się wewnątrz platformy
Będziesz pracować w systemie, który zawiera (i łączy ze sobą):
• Pamięć rozproszona (Cypress): semantyka transakcyjna, pamięć warstwowa, kodowanie wymazujące, replikacja i duże oczekiwania dotyczące niezawodności.
• Compute & ETL: harmonogram zadań obejmujący cały klaster (dziesiątki tysięcy rdzeni), MapReduce, YQL do przetwarzania danych w stylu SQL i SPYT (Spark over YTsaurus) do nowoczesnej inżynierii danych.
• Analityka interaktywna (CHYT): instancje ClickHouse® uruchamiane bezpośrednio w węzłach obliczeniowych w celu zapewnienia szybkiego SQL na miejscu.
• Tabele dynamiczne: NoSQL KV o niskim opóźnieniu z rozproszonymi transakcjami ACID dla obciążeń w stylu OLTP i magazynów funkcji.
• Orchestracto: orkiestracja przepływu pracy głęboko zintegrowana z platformą (podobna do Airflow, ale natywna dla platformy).
Co zrobisz
Poszukujemy inżynierów, którzy łączą silne umiejętności systemowe z wyczuciem produktu: rozumieją, kto korzysta z platformy, dlaczego pewne możliwości mają znaczenie i dokonują pragmatycznych kompromisów w celu maksymalizacji wpływu. Oczekuje się, że w naszym zespole prace inżynieryjne będą powiązane z rzeczywistymi użytkownikami i wynikami — będziesz regularnie kontaktować się z wewnętrznymi interesariuszami, wyjaśniać wymagania i pomagać w ustalaniu priorytetów.
W tej roli będziesz:
• Projektuj i wdrażaj nową funkcjonalność w rdzeniu YTsaurus (C++) mając na uwadze niezawodność produkcji.
• Twórz i rozwijaj możliwości na poziomie platformy: architektura platformy i model operacyjny — rozwój wielu klastrów, współdzielone elementy podstawowe i spójne środowisko, które można skalować w przypadku nowych zespołów i przypadków użycia.
• Ulepsz kompleksowe doświadczenie platformy dla użytkowników wewnętrznych (i zewnętrznych): interfejsy API, poręcze, przepływy pracy debugowania i automatyzacja.
• Własna jakość produkcji: reakcja na incydenty / rotacja na wezwanie, analiza przyczyn źródłowych i przekształcanie wniosków w trwałe poprawki.
Przykładowe projekty
• Wdrażaj podzielone na fragmenty wzorce YTsaurus (w tym obsługę operatora Kubernetes) i buduj automatyczne równoważenie metadanych pomiędzy komórkami głównymi (grupami konsensusu), aby usunąć wąskie gardła na płaszczyźnie kontrolnej i odblokować 10–100-krotny wzrost klastra.
• Spraw, aby interaktywny SQL CHYT był szybszy i bardziej przewidywalny przy dużym obciążeniu dzięki funkcjom zwiększającym wydajność, takim jak pomijanie danych / indeksy w stylu min-max i ulepszonej introspekcji wykonania.
• Zmień Orchestracto w produkt platformowy, definiując elementy składowe, doświadczenie programistów i zarządzanie sposobem, w jaki zespoły tworzą i udostępniają przepływy pracy.
• Skaluj i wzmacniaj Parquet-on-S3 dla natywnych obciążeń YTsaurus, eliminując replikację/przenoszenie, spójną semantykę cyklu życia i optymalizację metadanych serwera głównego w celu uzyskania wydajności i niezawodności.
• Projektuj i dostarczaj kompletne, wiarygodne ścieżki audytu zmian danych (kto/co/kiedy) w heterogenicznych ścieżkach przechowywania i obliczeń.
Stos technologii
• Rdzeń: nowoczesny C++ (C++20, asynchroniczny + wielowątkowe prymitywy)
• Usługi i narzędzia: Go i Python (mikroserwisy, narzędzia, testy integracyjne)
Czego oczekujemy
• Ponad 5 lat doświadczenia w inżynierii oprogramowania.
• Dobra znajomość języka C++ (będziesz pisać podstawowy kod).
• Praktyczna znajomość Pythona i/lub Go (nie musisz być ekspertem, ale powinieneś swobodnie się w nich poruszać).
• Doświadczenie w opracowywaniu i/lub obsłudze usług rozproszonych o dużym obciążeniu.
• Nastawienie produkcyjne: możliwość korzystania z SSH, odczytywania logów/metryki/śladów i debugowania zachowań systemów rozproszonych.
• Podstawy Solid CS: algorytmy, struktury danych, podstawy współbieżności.
Miło mieć
• Doświadczenie z systemami Big Data (YTsaurus/Hadoop/Spark/ClickHouse/ekosystemy typu Kafka).
• Doświadczenie z platformami obsługującymi wielu dzierżawców, harmonogramami, izolacją zasobów, przydziałami i inżynierią niezawodności.
• Wysokie umiejętności inżynierii wydajności (profilowanie, rywalizacja o blokady, kompromisy w zakresie opóźnień i przepustowości).
W ramach procesu przeprowadzamy wywiady kodujące.
Korzyści i korzyści:
• Konkurencyjne wynagrodzenie
• Możliwości rozwoju kariery i uczenia się
• Elastyczność i odpowiedzialność
• Kultura współpracy i innowacyjności
• Możliwość pracy nad wpływowymi projektami AI
• Międzynarodowe środowisko i utalentowane zespoły…
Źródło: Arbeitnow (https://www.arbeitnow.nl/jobs/companies/nebius/senior-software-engineer-data-platform-c-amsterdam-173297)
Nebius wyznacza nową erę w infrastrukturze chmurowej dla globalnej gospodarki opartej na sztucznej inteligencji. Budujemy kompleksową platformę chmurową AI, która wspiera programistów i przedsiębiorstwa od szkolenia danych i modeli po wdrożenie produkcyjne, bez kosztów i złożoności budowania dużej wewnętrznej infrastruktury AI/ML.
Zbudowany przez inżynierów dla inżynierów. Od orkiestracji procesorów graficznych na dużą skalę po optymalizację wnioskowania – jesteśmy odpowiedzialni za trudne problemy związane z obliczeniami, pamięcią masową, siecią i zastosowaną sztuczną inteligencją.
Jesteśmy notowani na giełdzie Nasdaq (NBIS) z siedzibą w Amsterdamie. Mamy globalny zasięg z ośrodkami badawczo-rozwojowymi w Europie, Wielkiej Brytanii, Ameryce Północnej i Izraelu. Nasz zespół liczący ponad 1500 osób składa się z setek inżynierów posiadających głęboką wiedzę specjalistyczną w zakresie sprzętu, oprogramowania oraz badań i rozwoju sztucznej inteligencji.
Rola
#LI-MM1
Poszukujemy inżyniera oprogramowania z dużą wiedzą na temat języka C++, który dołączy do zespołu budującego i obsługującego Nebius Data Platform — rozproszoną platformę do przechowywania i przetwarzania, która działa jako „źródło prawdy” firmy i szkielet wielu wewnętrznych (i niektórych zewnętrznych) produktów.
Nebius Data Platform to pojedynczy ekosystem obsługujący wielu dzierżawców oparty na YTsaurus — zamiast uruchamiać oddzielne systemy w stylu HDFS/Kafka/HBase, zapewniamy możliwości przechowywania, obliczeń i analiz w ramach jednej platformy.
Zbudowany na bazie ekosystemu YTsaurus o otwartym kodzie źródłowym, prowadzimy i rozwijamy naszą własną dystrybucję Nebiusa oraz rozwijamy znaczącą wewnętrzną funkcjonalność (na poziomie rdzenia i platformy). Możemy projektować, wdrażać i wdrażać funkcje kompleksowo w naszych klastrach, bez czekania na zatwierdzenia na poziomie wyższego szczebla, a także wnosić wkład na poziomie wyższym, gdy ma to sens.
Na dzisiejszą skalę obejmuje to ~500 serwerów, ~20 tys. rdzeni procesorów i ~10 PB skompresowanych danych w naszym największym klastrze produkcyjnym, obsługującym obciążenia od potoków o znaczeniu krytycznym dla biznesu i transakcji finansowych po zbiory danych szkoleniowych ML/LLM i obliczenia na dużą skalę.
Co znajduje się wewnątrz platformy
Będziesz pracować w systemie, który zawiera (i łączy ze sobą):
• Pamięć rozproszona (Cypress): semantyka transakcyjna, pamięć warstwowa, kodowanie wymazujące, replikacja i duże oczekiwania dotyczące niezawodności.
• Compute & ETL: harmonogram zadań obejmujący cały klaster (dziesiątki tysięcy rdzeni), MapReduce, YQL do przetwarzania danych w stylu SQL i SPYT (Spark over YTsaurus) do nowoczesnej inżynierii danych.
• Analityka interaktywna (CHYT): instancje ClickHouse® uruchamiane bezpośrednio w węzłach obliczeniowych w celu zapewnienia szybkiego SQL na miejscu.
• Tabele dynamiczne: NoSQL KV o niskim opóźnieniu z rozproszonymi transakcjami ACID dla obciążeń w stylu OLTP i magazynów funkcji.
• Orchestracto: orkiestracja przepływu pracy głęboko zintegrowana z platformą (podobna do Airflow, ale natywna dla platformy).
Co zrobisz
Poszukujemy inżynierów, którzy łączą silne umiejętności systemowe z wyczuciem produktu: rozumieją, kto korzysta z platformy, dlaczego pewne możliwości mają znaczenie i dokonują pragmatycznych kompromisów w celu maksymalizacji wpływu. Oczekuje się, że w naszym zespole prace inżynieryjne będą powiązane z rzeczywistymi użytkownikami i wynikami — będziesz regularnie kontaktować się z wewnętrznymi interesariuszami, wyjaśniać wymagania i pomagać w ustalaniu priorytetów.
W tej roli będziesz:
• Projektuj i wdrażaj nową funkcjonalność w rdzeniu YTsaurus (C++) mając na uwadze niezawodność produkcji.
• Twórz i rozwijaj możliwości na poziomie platformy: architektura platformy i model operacyjny — rozwój wielu klastrów, współdzielone elementy podstawowe i spójne środowisko, które można skalować w przypadku nowych zespołów i przypadków użycia.
• Ulepsz kompleksowe doświadczenie platformy dla użytkowników wewnętrznych (i zewnętrznych): interfejsy API, poręcze, przepływy pracy debugowania i automatyzacja.
• Własna jakość produkcji: reakcja na incydenty / rotacja na wezwanie, analiza przyczyn źródłowych i przekształcanie wniosków w trwałe poprawki.
Przykładowe projekty
• Wdrażaj podzielone na fragmenty wzorce YTsaurus (w tym obsługę operatora Kubernetes) i buduj automatyczne równoważenie metadanych pomiędzy komórkami głównymi (grupami konsensusu), aby usunąć wąskie gardła na płaszczyźnie kontrolnej i odblokować 10–100-krotny wzrost klastra.
• Spraw, aby interaktywny SQL CHYT był szybszy i bardziej przewidywalny przy dużym obciążeniu dzięki funkcjom zwiększającym wydajność, takim jak pomijanie danych / indeksy w stylu min-max i ulepszonej introspekcji wykonania.
• Zmień Orchestracto w produkt platformowy, definiując elementy składowe, doświadczenie programistów i zarządzanie sposobem, w jaki zespoły tworzą i udostępniają przepływy pracy.
• Skaluj i wzmacniaj Parquet-on-S3 dla natywnych obciążeń YTsaurus, eliminując replikację/przenoszenie, spójną semantykę cyklu życia i optymalizację metadanych serwera głównego w celu uzyskania wydajności i niezawodności.
• Projektuj i dostarczaj kompletne, wiarygodne ścieżki audytu zmian danych (kto/co/kiedy) w heterogenicznych ścieżkach przechowywania i obliczeń.
Stos technologii
• Rdzeń: nowoczesny C++ (C++20, asynchroniczny + wielowątkowe prymitywy)
• Usługi i narzędzia: Go i Python (mikroserwisy, narzędzia, testy integracyjne)
Czego oczekujemy
• Ponad 5 lat doświadczenia w inżynierii oprogramowania.
• Dobra znajomość języka C++ (będziesz pisać podstawowy kod).
• Praktyczna znajomość Pythona i/lub Go (nie musisz być ekspertem, ale powinieneś swobodnie się w nich poruszać).
• Doświadczenie w opracowywaniu i/lub obsłudze usług rozproszonych o dużym obciążeniu.
• Nastawienie produkcyjne: możliwość korzystania z SSH, odczytywania logów/metryki/śladów i debugowania zachowań systemów rozproszonych.
• Podstawy Solid CS: algorytmy, struktury danych, podstawy współbieżności.
Miło mieć
• Doświadczenie z systemami Big Data (YTsaurus/Hadoop/Spark/ClickHouse/ekosystemy typu Kafka).
• Doświadczenie z platformami obsługującymi wielu dzierżawców, harmonogramami, izolacją zasobów, przydziałami i inżynierią niezawodności.
• Wysokie umiejętności inżynierii wydajności (profilowanie, rywalizacja o blokady, kompromisy w zakresie opóźnień i przepustowości).
W ramach procesu przeprowadzamy wywiady kodujące.
Korzyści i korzyści:
• Konkurencyjne wynagrodzenie
• Możliwości rozwoju kariery i uczenia się
• Elastyczność i odpowiedzialność
• Kultura współpracy i innowacyjności
• Możliwość pracy nad wpływowymi projektami AI
• Międzynarodowe środowisko i utalentowane zespoły…
Źródło: Arbeitnow (https://www.arbeitnow.nl/jobs/companies/nebius/senior-software-engineer-data-platform-c-amsterdam-173297)
To ogłoszenie pochodzi z feedu partnera. Aplikuj na stronie źródłowej.
Źródło: Nebius
Lokalizacja
Amsterdam, Holandia
Ogłoszenie pochodzi od Nebius.