С-разработчик в команду Tarantool Language Runtime, удаленно
Tarantool — платформа, которая объединяет в себе свойства хорошей распределенной базы данных и наделяет его возможностями написания кода рядом с этой базой данных на различных языках программирования. Ключевыми особенностями нашего продукта являются скорость, надежность и масштабируемость, что в свою очередь требует использования эффективных алгоритмов и структур данных, грамотного использования возможностей операционной системы и компилятора, написания чистого понятного кода.
Сейчас наш продукт сильно растет, и мы ищем С разработчика в команду Language Runtime, который будет вместе с нами продолжать работать над расширением возможностей сред исполнения Lua и SQL.
Задачи
Задачи
Нам нужен инженер, который поможет с развитием нашей Lua среды в Tarantool. Lua — основной язык программирования для написания кода на Tarantool. Его runtime — центральная компонента платформы, связывающая все подсистемы воедино. В качестве реализации языка программирования Lua у нас использован LuaJIT, который включает в себя как среду исполнения языка, так и трассирующий JIT компилятор. Также мы активно работаем не только над улучшением самой среды исполнения Lua, но над сопутствующими инструментами разработчика.
За последний год мы решили такие задачи:
- #1700: Handle fiber switches made on JIT traces;
- #5187: LuaJIT platform metrics;
- #5442: LuaJIT memory profiler.
В ближайшее время мы будем заниматься такими задачами:
#1898: Detect infinity loops in Lua;
#4001: LuaJIT platform profiler;
#5857: Inter-fiber debugger for Tarantool.
Требования
- отличное знание языка С;
- навыки системного программирования под Linux.
Будет плюсом
- опыт работы с языком ассемблера x86 или ARM;
- опыт работы с языком Lua;
- уверенные знания технологий компиляторов и виртуальных машин;
- желание писать код в open source.
Мы предлагаем
Tarantool
Про Tarantool его разработчики говорят, что это сервер приложений и база данных в одном флаконе. Ну а если серьезным языком — это «платформа in-memory вычислений с гибкой схемой данных для эффективного создания высоконагруженных приложений». Tarantool позволяет реализовать множество архитектурных паттернов высоконагруженных сервисов — от простого key-value хранилища до распределенного транзакционного кэша — и интегрировать их в ИТ-инфраструктуру.