Chorus One є одним із провідних операторів інфраструктури для мереж Proof-of-Stake і децентралізованих протоколів. Десятки тисяч роздрібних клієнтів і установ інвестують мільярди в активи через нашу інфраструктуру, допомагаючи захищати протоколи та отримувати винагороди. Наша місія полягає в тому, щоб збільшити свободу та швидкість інновацій за допомогою децентралізованих технологій.
Ми — різноманітна команда з понад 70 людей, які працюють по всьому світу. Ми цінуємо радикальну прозорість, пра
Chorus One є одним із провідних операторів інфраструктури для мереж Proof-of-Stake і децентралізованих протоколів. Десятки тисяч роздрібних клієнтів і установ інвестують мільярди в активи через нашу інфраструктуру, допомагаючи захищати протоколи та отримувати винагороди. Наша місія полягає в тому, щоб збільшити свободу та швидкість інновацій за допомогою децентралізованих технологій.
Ми — різноманітна команда з понад 70 людей, які працюють по всьому світу. Ми цінуємо радикальну прозорість, прагнемо до досконалості та вдосконалення, ставлячись один до одного з добротою та щедрістю. Якщо це схоже на вас, ми будемо раді почути від вас.
Огляд посади:
Як старший інженер програмного забезпечення, ви приєднаєтеся до однієї з наших команд інженерів, щоб допомагати створювати й підтримувати інструменти й автоматизацію для підтримки операцій нашого валідатора. Ми беремо програмне забезпечення висхідного вузла з таких проектів, як Ethereum, Solana, Cosmos або Avalanche; скомпілювати його; запустити його на одному з наших серверів; а потім переконайтеся, що він надійний і безпечний, відстежуйте його та оновлюйте. Ми робимо це для більш ніж 60 блокчейн-мереж, а це означає, що неможливо зробити все це вручну. Натомість ми будуємо автоматизацію. Деякі з речей, які ми робимо:
- Внесок у розробку програмного забезпечення для покращення спостережуваності та створення інструментів моніторингу з нуля там, де їх немає. Команди, які розробляють програмне забезпечення вузла, не є командами, які працюють із цим програмним забезпеченням у масштабі, і тому спостережливість часто не є першочерговим. Ми розробляємо власні інструменти для моніторингу в ланцюзі та поза ним, як для короткострокових показників (для попередження), так і для довгострокових показників для вимірювання нашої ефективності та підтримки рішень щодо оптимізації.
- Створіть інструменти для відстеження та керування нашим парком серверів. Ми здебільшого працюємо з серверами без використання платформи, що працюють у кількох постачальників. Це означає, що жоден портал окремого постачальника не дасть нам повного огляду нашої інфраструктури, натомість у нас є власний інструмент, який інтегрується з API постачальника та дає нам централізований огляд.
- Автоматизація ініціалізації машини. Замість того, щоб працювати з 10+ хмарними та чистими постачальниками, які встановлюють Ubuntu, ми створюємо власний інсталятор, який є єдиним для нашої інфраструктури.
- Відстежуйте та автоматизуйте збірки. Кожна з понад 60 мереж, якими ми керуємо, регулярно випускає оновлення. Було б утомливо вручну git pull && make для кожного випуску, натомість у нас є автоматизація, яка стежить за новими випусками, яка автоматично збирає їх і реєструє в нашому реєстрі пакетів.
- Автоматизуйте оновлення та відновлення після відмови. Якщо у нас є новий пакет, нам все одно потрібно розгорнути його в нашому парку та перезапустити будь-які вузли контрольованим чином і без простоїв. Для перевірки вузлів нам також потрібно переключитися перед тим, як перезапустити їх, і підтвердити, що новий вузол справний. Щоб автоматизувати це, нам потрібно мати 100% впевненість у наших інструментах, тому що помилка тут може призвести до подвійного підписання, що тягне за собою фінансовий штраф.
- Автоматизуйте створення та зберігання знімків. Програмне забезпечення вузла блокчейнів за своєю природою підтримує стан: ланцюжки часто мають розмір у терабайти. Поки це сЯкщо нові вузли можуть синхронізуватися з p2p-мережею, це може тривати від кількох днів до тижнів, що означає, що це непридатний метод, коли ми переміщуємо навантаження між машинами. Ми автоматизуємо створення миттєвих знімків цих даних, тому можемо бути більш гнучкими щодо того, що куди запускається, без шкоди для безпеки.
Наш внутрішній інструментарій:
Він написаний у суміші Rust, Python, Go та трохи TypeScript. Ми використовуємо Postgres як нашу базу даних. Ми розгортаємо наш код або безпосередньо на хостах Ubuntu, запущених у системі systemd або в контейнерах Docker, і у нас також є кластер Kubernetes, на якому працюють різні програми без збереження стану. Через різноманітність програмного забезпечення, яке ми використовуємо, нам також доводиться час від часу занурюватися в кодові бази, написані на C, C++, OCaml або TypeScript.
- 5+ років досвіду інженера-програміста.
- Досвід експлуатації та обслуговування серверного програмного забезпечення у виробництві.
- Глибоке розуміння принаймні однієї скомпільованої статично типізованої мови програмування, такої як Rust, Go, Kotlin, C++ або Haskell.
- Досвід роботи принаймні з однією мовою сценаріїв, наприклад Python.
- Досвід роботи з базами даних SQL, бажано PostgreSQL.
- Сильні навички спілкування та володіння, щоб самостійно створювати нові функції.
- Інтерес до технології блокчейн, зокрема розподілених систем і консенсусних алгоритмів.
- Спорідненість з інфраструктурою та нижчими рівнями простору користувача Linux.
Тип роботи: повний або неповний робочий день 80%-100%
Chorus One є одним із провідних операторів інфраструктури для Proof- мережі та децентралізовані протоколи. Десятки тисяч роздрібних клієнтів і установ інвестують мільярди в активи через нашу інфраструктуру, допомагаючи захищати протоколи та отримувати винагороди. Наша місія полягає в тому, щоб збільшити свободу та швидкість інновацій за допомогою децентралізованих технологій.
Ми — різноманітна команда з понад 70 людей, які працюють по всьому світу. Ми цінуємо радикальну прозорість, прагнемо до досконалості та вдосконалення, ставлячись один до одного з добротою та щедрістю. Якщо це схоже на вас, ми будемо раді почути від вас.
Огляд посади:
Як старший інженер програмного забезпечення, ви приєднаєтесь до однієї з наших команд інженерів, щоб допомагати створювати та підтримувати інструменти та автоматизацію для підтримки операцій нашого валідатора. Ми беремо програмне забезпечення висхідного вузла з таких проектів, як Ethereum, Solana, Cosmos або Avalanche; скомпілювати його; запустити його на одному з наших серверів; а потім переконайтеся, що він надійний і безпечний, відстежуйте його та оновлюйте. Ми робимо це для більш ніж 60 блокчейн-мереж, а це означає, що неможливо зробити все це вручну. Натомість ми будуємо автоматизацію. Деякі з речей, які ми робимо:
- Внесок у розробку програмного забезпечення для покращення спостережуваності та створення інструментів моніторингу з нуля там, де їх немає. Команди, які розробляють програмне забезпечення вузла, не є командами, які працюють із цим програмним забезпеченням у масштабі, і тому спостережливість часто не є першочерговим. Ми розробляємо власні інструменти для моніторингу в ланцюжку та поза ланцюгом, як для короткострокових показників (для попередження), так і для довгостроковихпоказники для вимірювання нашої ефективності та підтримки рішень щодо оптимізації.
- Створіть інструменти для відстеження та керування нашим парком серверів. Ми здебільшого працюємо з серверами без використання платформи, що працюють у кількох постачальників. Це означає, що жоден портал окремого постачальника не дасть нам повного огляду нашої інфраструктури, натомість у нас є власний інструмент, який інтегрується з API постачальника та дає нам централізований огляд.
- Автоматизація ініціалізації машини. Замість того, щоб працювати з 10+ хмарними та чистими постачальниками, які встановлюють Ubuntu, ми створюємо власний інсталятор, який є єдиним для нашої інфраструктури.
- Відстежуйте та автоматизуйте збірки. Кожна з понад 60 мереж, якими ми керуємо, регулярно випускає оновлення. Було б утомливо вручну git pull && make для кожного випуску, натомість у нас є автоматизація, яка стежить за новими випусками, яка автоматично збирає їх і реєструє в нашому реєстрі пакетів.
- Автоматизуйте оновлення та відновлення після відмови. Якщо у нас є новий пакет, нам все одно потрібно розгорнути його в нашому парку та перезапустити будь-які вузли контрольованим чином і без простоїв. Для перевірки вузлів нам також потрібно переключитися перед тим, як перезапустити їх, і підтвердити, що новий вузол справний. Щоб автоматизувати це, нам потрібно мати 100% впевненість у наших інструментах, тому що помилка тут може призвести до подвійного підписання, що тягне за собою фінансовий штраф.
- Автоматизуйте створення та зберігання знімків. Програмне забезпечення вузла блокчейнів за своєю природою підтримує стан: ланцюжки часто мають розмір у терабайти. Хоча нові вузли можуть синхронізуватися з p2p-мережі, це може тривати від кількох днів до тижнів, а це означає, що це непридатний метод, коли ми переміщуємо навантаження між машинами. Ми автоматизуємо створення миттєвих знімків цих даних, тому можемо бути більш гнучкими щодо того, що куди запускається, без шкоди для безпеки.
Наш внутрішній інструментарій:
Він написаний у суміші Rust, Python, Go та трохи TypeScript. Ми використовуємо Postgres як нашу базу даних. Ми розгортаємо наш код або безпосередньо на хостах Ubuntu, запущених у системі systemd або в контейнерах Docker, і у нас також є кластер Kubernetes, на якому працюють різні програми без збереження стану. Через різноманітність програмного забезпечення, яке ми використовуємо, нам також доводиться час від часу занурюватися в кодові бази, написані на C, C++, OCaml або TypeScript.
,[Дизайн і розробка нових функцій. Обговоріть із внутрішніми зацікавленими сторонами, щоб уточнити, як має виглядати наша наступна функція, обговоріть з колегами-інженерами, як її слід реалізувати, а потім доведіть впровадження до кінця. , Підтримуйте та співпрацюйте. Переглядайте та обговорюйте інженерні розробки, переглядайте код, допомагайте колегам-інженерам і наставляйте їх на технічному рівні. Інновації та постійне вдосконалення. Прагніть спростити, оптимізувати та захистити наші служби та системи стейкингу.] Вимоги: Rust, Golang, Python, PostgreSQL, Kubernetes, Golang, Rust, Degree, TypeScript, Kotlin , C++, Haskell
Додатково: Стартовий набір Crypto, бюджет навчання, опціони на акції, бюджет конференції, бюджет спільної роботи, PTO, оплачувана відпустка по догляду за дитиною.