Программа стажировок для разработчиков, которые готовы включиться в open source проекты и помочь в их развитии при участии менторов

Код для всех

О чем эта программа
Код для всех — это программа стажировок для разработчиков. Участники программы будут писать код в существующие проекты под руководством менторов. Стажер будет ежемесячно получать ежемесячную стипендию или вознаграждение от партнеров программы. Подать заявки можно на несколько направлений.
Направления
CyberOK
Кибербезопасность открытых решений
Повышение безопасности открытых проектов и популяризация использования открытых решений в области кибербезопасности 

Задачи на период стажировки:
  1. Анализ защищенности систем на основе открытого кода
  2. Расширение баз знаний решений по кибербезопасности на основе открытого кода
  3. Доработка существующих решений по кибербезопасности на основе открытого кода
  4. Контроль целостности и цепочки поставок открытого кода
С подробным описанием задач на стажировку можно ознакомиться здесь

Условия участия в отборе:
  • к отбору допускаются только лица старше 18 лет;
  • оплата за весь период стажировки составляет 120 000 рублей на руки
  • количество часов в неделю, затрачиваемое на стажировку, согласуется напрямую с ментором после прохождения отбора.




PostgreSQL
Наиболее быстро развивающаяся и совершенная свободно распространяемая СУБД в мире
Повышение безопасности открытых проектов и популяризация использования открытых решений в области кибербезопасности.

Ключевые направления стажировки:
1. Проективное индексирование слабоструктурированных данных в системе управления базами данных PostgreSQL
2. Мониторинг статуса выполнения запроса: создание инструмента для отслеживания запросов SELECT, INSERT, UPDATE и DELETE в PostgreSQL
3. Фильтрация строк таблиц PostgreSQL при выгрузке в pg_dump.
4. Частичное искажение (обфускация) данных PostgreSQL при выгрузке в pg_dump.
5. Разбор формата файлов PostgreSQL
6. Реализовать функцию копирования таблицы из файла, пропускающую строки с ошибками.


С подробным описанием задач на стажировку можно ознакомиться здесь.

Условия участия в отборе:
  • к отбору допускаются только лица старше 18 лет;
  • оплата за весь период стажировки составляет 120 000 рублей на руки
  • количество часов в неделю, затрачиваемое на стажировку, согласуется напрямую с ментором после прохождения отбора.
Open JDK
Мировой проект с открытым исходным кодом по созданию и развитию Java платформы
Java на протяжении 27 лет остается одной из востребованных технологий в мире. Благодаря постоянной актуализации функций и возможностей разработки, Java оказала влияние на самые разные сферы жизни и используется теперь повсеместно - от развлечений до ядерной физики, социальных сетей и поиска жизни на Марсе, а также в инновационных проектах в России - в процессинге карт, розничной торговле, добыче газа, онлайн-платежах, государственных сервисах и самых популярных ИТ-системах. 

https://axiomjdk.ru/announcements/2022/02/24/what-is-openjdk-and-why-you-should-use-it/

Задачи на стажировку:
Участники проекта будут работать над устранением багов и уязвимостей, внедрением новых фич и улучшением Java в целом.

1.bugs.openjdk.java.net/browse/JDK-8276971
Investigate docker daemon plugin for serviceability support

2.bugs.openjdk.java.net/browse/JDK-8150513
Improve speed of BigInteger.toString()

3.bugs.openjdk.java.net/browse/JDK-8154433
Add Math.toLongExact(double) and Math.toDoubleExact(long)

4.bugs.openjdk.java.net/browse/JDK-8275838
java.net.http client does not work over unix domain sockets

5.bugs.openjdk.java.net/browse/JDK-8268856
(zipfs) Add support for symlinks in zip files

6.Evaluate adding Networking JFR events
bugs.openjdk.java.net/browse/JDK-8265962

7.bugs.openjdk.java.net/browse/JDK-8264253
java.net.http.Request should allow GET/DELETE with bodies as per http1.1 rfc

8.bugs.openjdk.java.net/browse/JDK-8263261
Extend String::translateEscapes to support unicode escapes

Условия участия в отборе:
  • оплата за весь период стажировки составляет 120 000 рублей на руки
  • количество часов в неделю, затрачиваемое на стажировку, согласуется напрямую с ментором после прохождения отбора.



Use-platform

React-библиотека для создания современных, доступных и кросс-платформенных интерфейсов

Команда Лего разрабатывает мета-библиотеку — библиотеку для создания библиотек компонентов (или UI-китов).

Мы много лет строили универсальный UI-кит (впервые он был опубликован под названием bem-components, затем переписан на React под названием yandex-ui), но в какой-то момент поняли, что чтобы получить решение, которое бы действительно подошло всем, нужно идти еще глубже.

В результате появилась use-platform. Уже многое сделано, но еще больше впереди!

Чтобы узнать подробнее, рекомендуем посмотреть замечательный доклад от технического лидера Жени Тропина.

Условия стажировки:
Базовая длительность стажировки - 3 месяца, занятость - 40 часов в неделю, оплата - 60 000 рублей в месяц на руки.
Если занятость меньше (например, 20 или 30 часов в неделю) стажировка продлится от 4 до 6 месяцев с пропорционально меньшей оплатой.


YDB 
Распределённая отказоустойчивая Distributed SQL база данных, которая сочетает в себе высокую доступность и масштабируемость со строгой согласованностью и транзакциями ACID

YDB решает задачи в одной из самых критичных областей — позволяет создавать интерактивные приложения, которые можно быстро масштабировать по нагрузке и по объёму данных. Мы разрабатывали её, исходя из ключевых требований к сервисам Яндекса. Во-первых, это катастрофоустойчивость, то есть возможность продолжить работу без деградации при отключении одного из дата-центров. Во-вторых, это масштабируемость на десятки тысяч серверов на чтение и на запись. В-третьих, это строгая консистентность данных. Подробнее можно почитать в посте-анонсе.

Здесь можно посмотреть задачи на стажировку

Условия стажировки:
Базовая длительность стажировки - 3 месяца, занятость - 40 часов в неделю, оплата - 60 000 рублей в месяц на руки.
Если занятость меньше (например, 20 или 30 часов в неделю) стажировка продлится от 4 до 6 месяцев с пропорционально меньшей оплатой.

CatBoost 
Популярная в мире open-source библиотека машинного обучения для градиентного бустинга над решающими деревьями, созданная Яндексом. 

Основные преимущества CatBoost: 
- Превосходное качетсво в сравнении с другими реализоациями GBDT на разных датасетах.
- Самая высокая скорость применения в классе 
- Поддердка категориальных фичей
- Продвинутая поддержка ранжирущих лосов
- Поддержка GPU и MultiGPU из коробки
- Инструменты для визуализации обучения
- Поддержка распределенного обучения на Apache Spark и CLI.

Подробнее: https://catboost.ai и https://github.com/catboost/catboost 

Ключевые задачи направления:
Задача 1: Реализация распределенного обучения и применения CatBoost на DASK/RAY
Сейчас CatBoost поддерживает запуск распредленного обучения и применения с помощью Apache Spark, а так же CLI + OpenMPI. Сейчас в мире, помимо Apache Spark, огромной популярностью пользуются такие решения как https://dask.org и https://www.ray.io - они позволяют легко запускать распределенное обучение из Python.
Для этой задачи вы: разберетесь с тем, как реализован запуск распределенного обучения, познакомитесь с передачей данных из Python в C++ код, попробуете обучение моделей на терабайтах данных


Задача 2: Custom метрики на GPU
Очень часто при исследованиях связанных с машинным обучением хочется посчитать какую-то хитрую метрику. В CatBoost такая возможность есть. Пользователь может имплементировать любую метрику в Python и считать ее при обучении и/или применении. Однако сейчас такая возможность есть только при обучении на CPU. В рамках задачи предлагается придумать механизм, при котором пользователь сможет написать свою метрику в Python, а CatBoost на лету будет компилировать его (Just in Time) и применять в Cuda Kernel. 


Задача 3: Ускорение обучения и применения CatBoost моделей в Python 
В Яндексе CatBoost используется во всех сервисах, где есть машинное обучение поэтому нам необходимо обеспечивать высокую скорость работы библиотеки при самых больших нагрузках. CatBoost - всегда являлся production-ready решением, но мы продролжаем постоянно стремиться сделать наш продукт самой быстрой реализацией градиентного бустинга в мире и в области применения модели, мы остаемся на гордом первом месте. Предела совершеству нет, поэтому мы видим потенциал для ускорения в передаче данных из Python в С++, ведь именно на С++ написана и исполняется наша реализация. Если тебя не пугают такие слова как thread pool, Cython, GIL и C++ - мы будем рады твоей помощи!

Условия стажировки:
Базовая длительность стажировки - 3 месяца, занятость - 40 часов в неделю, оплата - 60 000 рублей в месяц на руки.
Если занятость меньше (например, 20 или 30 часов в неделю) стажировка продлится от 4 до 6 месяцев с пропорционально меньшей оплатой.
Hermione
Утилита тестирования интерфейсов на основе WebdriverIO и Mocha
На сегодняшний день тестирование своего кода является его неотъемлемой частью. И Hermione помогает сделать это максимально просто и быстро, в сравнении с ручным тестированием. Вы можете описать в тестах сотни/тысячи пользовательских сценариев и выполнить их за считанные минуты в нескольких браузерах.

Hermione легко расширяется и вокруг написано десятки плагинов, которые решают конкретные проблемы пользователей. И у нас ещё много идей как сделать тестирование ещё проще, быстрее и удобней. Задачи есть как и на Node.js, так и про разработку интерфейсов на React.

Условия стажировки:
Базовая длительность стажировки - 3 месяца, занятость - 40 часов в неделю, оплата - 60 000 рублей в месяц на руки.
Если занятость меньше (например, 20 или 30 часов в неделю) стажировка продлится от 4 до 6 месяцев с пропорционально меньшей оплатой.

Репозиторий можно посмотреть здесь.

WAL-G
Популярная система снятия резервных копий множества различных СУБД для облачных окружений
Когда-то WAL-G снимал бекапы только для Postgres, но со временем добавились MySQL, MongoDB, MS SQL Server, а недавно мы первые (и пока единственные) поддержали GreenplumDB.

Условия стажировки:
Базовая длительность стажировки - 3 месяца, занятость - 40 часов в неделю, оплата - 60 000 рублей в месяц на руки.
Если занятость меньше (например, 20 или 30 часов в неделю) стажировка продлится от 4 до 6 месяцев с пропорционально меньшей оплатой.

Ссылка на репозиторий здесь.

Подай заявку на программу
Напиши мотивационное эссе и прикрепи ссылки на уже имеющиеся контрибьюшены при наличии
Пройди отбор на программу
Менторы отберут самых сильных участников 
Как подать заявку на конкурс
Познакомься с ментором и начни работу над кодом
Получи стипендию во время стажировки или вознаграждение после ее окончания
Подай заявку на программу
Напиши мотивационное эссе и прикрепи ссылки на уже имеющиеся контрибьюшены при наличии
Пройди отбор на программу
Менторы отберут самых сильных участников
Познакомься с ментором и начни работу над кодом
Получи стипендию во время стажировки или вознаграждение после ее окончания
Этапы
1
Подача заявок

до 10 июля

2
Информация о прохождении отбора
до 20 июля
3
Работа над кодом вместе с ментором
июль - сентябрь
4
Подведение итогов

август - октябрь
1
Подача заявок
до 10 июля
2
Информация о прохождении отбора
до 20 июля
3
Работа над кодом вместе с ментором
июль - сентябрь
4
Подведение итогов
август - октябрь
Подай заявку на стажировку