Następna praca

Starszy inżynier oprogramowania w Chorus One

Opublikowano ponad 30 dni temu

4 wyświetlenia

Chorus One

Chorus One

0
0 recenzji
100000 - 140000$
Brak doświadczenia
Pełny etat

Przetłumaczone przez Google

Chorus One to jeden z wiodących operatorów infrastruktury dla sieci Proof-of-Stake i zdecentralizowanych protokołów. Dziesiątki tysięcy klientów detalicznych i instytucji inwestuje miliardy w aktywa za pośrednictwem naszej infrastruktury, pomagając zabezpieczać protokoły i zdobywać nagrody. Naszą misją jest zwiększanie swobody i szybkości innowacji poprzez zdecentralizowane technologie. Jesteśmy zróżnicowanym zespołem składającym się z ponad 70 osób rozmieszczonych na całym świecie. Cenimy rad

Chorus One to jeden z wiodących operatorów infrastruktury dla sieci Proof-of-Stake i zdecentralizowanych protokołów. Dziesiątki tysięcy klientów detalicznych i instytucji inwestuje miliardy w aktywa za pośrednictwem naszej infrastruktury, pomagając zabezpieczać protokoły i zdobywać nagrody. Naszą misją jest zwiększanie swobody i szybkości innowacji poprzez zdecentralizowane technologie.

Jesteśmy zróżnicowanym zespołem składającym się z ponad 70 osób rozmieszczonych na całym świecie. Cenimy radykalną przejrzystość, dążenie do doskonałości i doskonalenia, jednocześnie traktując siebie nawzajem z życzliwością i hojnością. Jeśli to brzmi podobnie do Ciebie, chętnie usłyszymy od Ciebie.

Opis stanowiska:
Jako starszy inżynier oprogramowania dołączysz do jednego z naszych zespołów inżynieryjnych, aby pomagać w budowaniu i utrzymywaniu narzędzi oraz automatyzacji wspierających działania naszych walidatorów. Pobieramy oprogramowanie węzła nadrzędnego z projektów takich jak Ethereum, Solana, Cosmos lub Avalanche; skompiluj go; uruchom go na jednym z naszych serwerów; a następnie upewnij się, że jest niezawodny i bezpieczny, monitoruj go i aktualizuj. Robimy to dla ponad 60 sieci blockchain, co oznacza, że ​​nie da się tego wszystkiego zrobić ręcznie. Zamiast tego budujemy automatyzację. Oto niektóre z naszych działań:

  • Współtworzenie oprogramowania wyższego szczebla w celu poprawy jego obserwowalności i tworzenie od podstaw narzędzi do monitorowania tam, gdzie ich nie ma. Zespoły tworzące oprogramowanie węzła nie są zespołami obsługującymi to oprogramowanie na dużą skalę i dlatego obserwowalność często nie jest najważniejszym priorytetem. Opracowujemy własne narzędzia do monitorowania w łańcuchu i poza łańcuchem, zarówno w zakresie wskaźników krótkoterminowych (w celu ostrzegania), jak i wskaźników długoterminowych do pomiaru naszej wydajności i wspierania decyzji optymalizacyjnych.
  • Twórz narzędzia do śledzenia naszej floty serwerów i zarządzania nią. Pracujemy głównie z serwerami typu bare-metal od wielu dostawców. Oznacza to, że żaden portal specyficzny dla dostawcy nie zapewni nam pełnego przeglądu naszej infrastruktury, zamiast tego mamy wewnętrzne narzędzie, które integruje się z interfejsami API dostawców i zapewnia nam centralny przegląd.
  • Automatyzuj udostępnianie maszyn. Zamiast współpracować z ponad 10 dostawcami usług w chmurze i bare metal przy instalowaniu Ubuntu, tworzymy własny instalator, który jest jednolity w całej naszej infrastrukturze.
  • Śledź i automatyzuj kompilacje. Każda z ponad 60 sieci, które obsługujemy, regularnie publikuje aktualizacje. Byłoby nudne ręczne wykonywanie polecenia git pull && make dla każdego wydania, zamiast tego mamy automatyzację obserwującą nowe wydania, która automatycznie je buduje i rejestruje w naszym rejestrze pakietów.
  • Automatyzuj aktualizacje i przełączanie awaryjne. Kiedy mamy nowy pakiet, nadal musimy wdrożyć go w naszej flocie i ponownie uruchomić wszystkie węzły w kontrolowany sposób i bez przestojów. Aby zweryfikować węzły, musimy także przełączyć się w tryb awaryjny przed ich ponownym uruchomieniem i potwierdzić, że nowy węzeł jest w dobrej kondycji. Aby to zautomatyzować, musimy mieć 100% zaufania do naszych narzędzi, ponieważ błąd tutaj może prowadzić do podwójnego podpisania, co wiąże się z karą finansową.
  • Automatyzuj tworzenie i przechowywanie migawek. Oprogramowanie węzła Blockchains ma charakter stanowy: łańcuchy mają często rozmiar terabajtów. Choć jest to strmożliwa jest synchronizacja nowych węzłów z sieci p2p, może to zająć dni lub tygodnie, co oznacza, że ​​nie jest to odpowiednia metoda, gdy przenosimy obciążenia między maszynami. Automatyzujemy wykonywanie migawek tych danych, dzięki czemu możemy bardziej elastycznie decydować o tym, co i gdzie ma działać, bez uszczerbku dla bezpieczeństwa.

Nasze wewnętrzne narzędzia:

są napisane w połączeniu z Rust, Python, Go i trochę TypeScriptu. Używamy Postgres jako naszej wybranej bazy danych. Wdrażamy nasz kod bezpośrednio na hostach Ubuntu, działając pod systemd lub w kontenerach Docker, a także mamy klaster Kubernetes, w którym działają różne aplikacje bezstanowe. Ze względu na różnorodny charakter oprogramowania, które uruchamiamy, czasami musimy zagłębić się w bazy kodu napisane w C, C++, OCaml lub TypeScript.

  • Ponad 5 lat doświadczenia jako inżynier oprogramowania.
  • Doświadczenie w obsłudze i utrzymaniu oprogramowania serwerowego w środowisku produkcyjnym.
  • Dogłębna znajomość co najmniej jednego skompilowanego języka programowania o typie statycznym, takiego jak Rust, Go, Kotlin, C++ lub Haskell.
  • Doświadczenie z co najmniej jednym językiem skryptowym, takim jak Python.
  • Doświadczenie w korzystaniu z baz danych SQL, najlepiej PostgreSQL.
  • Doskonałe umiejętności komunikacyjne i poczucie odpowiedzialności umożliwiające samodzielne wprowadzanie nowych funkcji.
  • Zainteresowanie technologią blockchain, w szczególności systemami rozproszonymi i algorytmami konsensusu.
  • Powinowactwo z infrastrukturą i niższymi poziomami przestrzeni użytkownika Linuksa.
  • Rodzaj pracy: Pełny etat lub opcjonalnie pół etatu 80%-100%

    Chorus One jest jednym z wiodących operatorów infrastruktury do sprawdzania sieci of-stake i zdecentralizowane protokoły. Dziesiątki tysięcy klientów detalicznych i instytucji inwestuje miliardy w aktywa za pośrednictwem naszej infrastruktury, pomagając zabezpieczać protokoły i zdobywać nagrody. Naszą misją jest zwiększanie swobody i szybkości innowacji poprzez zdecentralizowane technologie.

    Jesteśmy zróżnicowanym zespołem składającym się z ponad 70 osób rozmieszczonych na całym świecie. Cenimy radykalną przejrzystość, dążenie do doskonałości i doskonalenia, jednocześnie traktując siebie nawzajem z życzliwością i hojnością. Jeśli to brzmi podobnie do Ciebie, chętnie usłyszymy od Ciebie.

    Opis stanowiska:
    Jako starszy inżynier oprogramowania dołączysz do jednego z naszych zespołów inżynieryjnych, aby pomagać w budowaniu i utrzymywaniu narzędzi oraz automatyzacji wspierających działania naszych walidatorów. Pobieramy oprogramowanie węzła nadrzędnego z projektów takich jak Ethereum, Solana, Cosmos lub Avalanche; skompiluj go; uruchom go na jednym z naszych serwerów; a następnie upewnij się, że jest niezawodny i bezpieczny, monitoruj go i aktualizuj. Robimy to dla ponad 60 sieci blockchain, co oznacza, że ​​nie da się tego wszystkiego zrobić ręcznie. Zamiast tego budujemy automatyzację. Oto niektóre z naszych działań:

    • Współtworzenie oprogramowania wyższego szczebla w celu poprawy jego obserwowalności i tworzenie od podstaw narzędzi do monitorowania tam, gdzie ich nie ma. Zespoły tworzące oprogramowanie węzła nie są zespołami obsługującymi to oprogramowanie na dużą skalę i dlatego obserwowalność często nie jest najważniejszym priorytetem. Rozwijamy własne narzędzia do monitorowania on-chain i off-chain, zarówno w zakresie wskaźników krótkoterminowych (w celu ostrzegania), jak i wskaźników długoterminowychdo pomiaru naszej wydajności i wspierania decyzji optymalizacyjnych.
    • Twórz narzędzia do śledzenia naszej floty serwerów i zarządzania nią. Pracujemy głównie z serwerami typu bare-metal od wielu dostawców. Oznacza to, że żaden portal specyficzny dla dostawcy nie zapewni nam pełnego przeglądu naszej infrastruktury, zamiast tego mamy wewnętrzne narzędzie, które integruje się z interfejsami API dostawców i zapewnia nam centralny przegląd.
    • Automatyzuj udostępnianie maszyn. Zamiast współpracować z ponad 10 dostawcami usług w chmurze i bare metal przy instalowaniu Ubuntu, tworzymy własny instalator, który jest jednolity w całej naszej infrastrukturze.
    • Śledź i automatyzuj kompilacje. Każda z ponad 60 sieci, które obsługujemy, regularnie publikuje aktualizacje. Byłoby nudne ręczne wykonywanie polecenia git pull && make dla każdego wydania, zamiast tego mamy automatyzację obserwującą nowe wydania, która automatycznie je buduje i rejestruje w naszym rejestrze pakietów.
    • Automatyzuj aktualizacje i przełączanie awaryjne. Kiedy mamy nowy pakiet, nadal musimy wdrożyć go w naszej flocie i ponownie uruchomić wszystkie węzły w kontrolowany sposób i bez przestojów. Aby zweryfikować węzły, musimy także przełączyć się w tryb awaryjny przed ich ponownym uruchomieniem i potwierdzić, że nowy węzeł jest w dobrej kondycji. Aby to zautomatyzować, musimy mieć 100% zaufania do naszych narzędzi, ponieważ błąd tutaj może prowadzić do podwójnego podpisania, co wiąże się z karą finansową.
    • Automatyzuj tworzenie i przechowywanie migawek. Oprogramowanie węzła Blockchains ma charakter stanowy: łańcuchy mają często rozmiar terabajtów. Chociaż możliwa jest synchronizacja nowych węzłów z sieci p2p, może to zająć dni lub tygodnie, co oznacza, że ​​nie jest to odpowiednia metoda, gdy przenosimy obciążenia między maszynami. Automatyzujemy wykonywanie migawek tych danych, dzięki czemu możemy bardziej elastycznie decydować o tym, co i gdzie ma działać, bez uszczerbku dla bezpieczeństwa.

    Nasze wewnętrzne narzędzia:

    są napisane w połączeniu z Rust, Python, Go i trochę TypeScriptu. Używamy Postgres jako naszej wybranej bazy danych. Wdrażamy nasz kod bezpośrednio na hostach Ubuntu, działając pod systemd lub w kontenerach Docker, a także mamy klaster Kubernetes, w którym działają różne aplikacje bezstanowe. Ze względu na różnorodny charakter oprogramowania, które uruchamiamy, czasami musimy zagłębić się w bazy kodu napisane w C, C++, OCaml lub TypeScript.

    ,[Projektuj i opracowuj nowe funkcje. Porozmawiaj z wewnętrznymi interesariuszami, aby wyjaśnić, jak powinna wyglądać nasza kolejna funkcja, omów z innymi inżynierami, jak powinna zostać zaimplementowana, a następnie doprowadź wdrożenie do końca. , Wspieraj i współpracuj. Przeglądaj i omawiaj projekty inżynieryjne, przeglądaj kod, pomagaj innym inżynierom i mentoruj ich na poziomie technicznym., Innowacje i ciągłe doskonalenie. Staraj się upraszczać, optymalizować i zabezpieczać nasze usługi i systemy stakingowe.] Narzędzia: Rust, Golang, Python, PostgreSQL, Kubernetes, Golang, Rust, Degree, TypeScript, Kotlin, C++, Haskell Бонуси та переваги: ​​Zestaw startowy Crypto, Budżet szkoleniowy , Opcje na akcje, Budżet konferencji, Budżet coworkingowy, PTO, Płatny urlop rodzicielski.

Przetłumaczone przez Google

100000 - 140000$
Brak doświadczenia
Pełny etat
Czy chcesz znaleźć odpowiednią pracę?
Nowe oferty pracy w Twoim Telegram
Subskrybuj
używamy cookies
Akceptować