Go Developer
Требования:
- Опыт разработки на Go от 1 года
- Уверенное понимание основных принципов работы блокчейн сетей
- Знания в области CS: структуры данных, алгоритмы (+ Big O notation), параллельные и распределённые системы
- Навыки разработки высокопроизводительных приложений, опыт профилирования и оптимизации. Умение работать с большими объемами данных
- Опыт в написании тестов
- Знания в области криптографии: асимметричные криптосистемы (public/private ключи), хеш-функции, шифрование, подписи и т.д.
- Будет плюсом опыт в разработке p2p-приложений
Условия: работа фуллтайм в офисе (Москва, Иннополис, Лимассол) или удаленно. Компенсация зависит только от опыта и амбиций (150-250 тыс рублей).
Тестовое задание
Сделать детерминированное вычисление двух формул на Golang 1.10
Имплементация алгоритма есть на языке Solidity: https://github.com/bancorprotocol/contracts/blob/master/solidity/contracts/BancorFormula.sol
Для погружения в тему можно прочитать Whitepaper Bancor: https://about.bancor.network/whitepaper
Требования:
- Заимплементировать 2 функции: calculatePurchaseReturn и calculateSaleReturn
- Добиться максимальной скорости работы
- Работать с большими числами: входные аргументы типа big.Int, результат работы тоже должен быть в big.Int
- Доказать детерминированность алгоритма: выполнение кода должно приводить к одинаковым результатам независимо от архитектуры и OS
- Покрыть код Unit тестами
- Чистота, лаконичность кода и комментарии
Результат работы нужно оформить в виде открытого github репозитория и отправить в на dl@decenter.org, прикрепив краткое резюме. По всем вопросам можно писать туда же.
Награда за 3 лучших результата:
- 1 место - 1 ETH и должность Go-разработчика в DeCenter 🎉
- 2 и 3 место - 0.5 ETH
Подведение итогов 17 апреля в 21:00
