1: Практика по направлениям: дистрибутив, тестирование ОС, разработка компилятора, тестирование компилятора. Для студентов кафедр: 12, 22
Тема проекта выбирается по результатам первых месяцев работы студента.
Примеры задач программиста: - разработка модуля сборки программ; - разработка под-модуля с определенной функциональностью; - анализ (например) производительности сети, поиск узких мест; - анализ утилит для измерения произв. дисковой подсистемы, сравнение; - оптимизация той или иной программной компоненты; - внедрение мат.библиотеки EML в библиотеку машинного зрения OpenCV; - разработка модуля тестирования python.
Требования: - английский на уровне чтения технической документации; - опыт работы в ОС на базе ядра Linux или Unix подобных систем; - опыт работы в командной строке (Интерпретаторы sh, bash); - понимание структуры файловых систем и стандарта POSIX; - понимание основ построения дистрибутивов Linux; - опыт работы с менеджерами пакетов (apt, dpkg, rpm); - навыки работы с git, GDB; - базовые знания python, C/C++.Умение работать с Open Source проектами.
Приветствуются: - знание языков JAVA, JS и др. (не обязательно знать все одновременно); - знание систем сборки make, cmake, qmake и др. (не обязательно знать все одновременно); - опыт работы с различными тестовыми фреймворками (например phoronix); - опыт работы с devops задачами и инструментами (ansible, Docker, и др.); - опыт разработки систем анализа и представления данных на базе postgresql, flask и др.; - знание современных методик тестирования или опыт работы в аналогичной должности; - опыт собственной разработки или отладки программ под ОС Linux.
Трудоустройство при условии успешного прохождения собеседования.
2: Разработка и верификация новых микропроцессоров Для студентов кафедр: 12, 22
Задачи: - разработка и реализация тест-планов; - разработка и поддержка системных тестов для функциональной верификации микропроцессорных систем; - разработка и поддержка генераторов тестов; - разработка методов верификации; - разработка и поддержка средств автоматизации регрессионного тестирования; - ведение обнаруженных ошибок в системе багтрекинга.
Требования: - базовые навыки программирования на C или C++; - опыт работы с операционной системой Linux; - умение использовать bash, make; - технический английский на уровне, необходимом для чтения документации.
Приветствуется: - знание ассемблера (любая архитектура); - опыт работы с perl, python, cmake, svn, binutils; - опыт программирования микроконтроллеров; - знание SystemVerilog; - знание языков описания аппаратуры Verilog/VHDL.
Для студентов 2-3 пункта и раздела "требования" и что-нибудь из раздела "приветствуется". А вообще, главное - заинтересованность.
Трудоустройство при условии успешного прохождения собеседования.