Text copied to clipboard!
Заглавие
Text copied to clipboard!Системен програмист
Описание
Text copied to clipboard!
Търсим Системен програмист, който да се присъедини към екип, отговорен за проектирането, разработката, поддръжката и оптимизацията на критични системни компоненти, работещи в среди с високи изисквания за производителност, надеждност и сигурност. Ролята е подходяща за специалист с дълбоко разбиране на операционни системи, управление на паметта, многопоточност, мрежови протоколи, драйвери, компилатори и взаимодействие между хардуер и софтуер. Успешният кандидат ще участва в създаването на нисконивоен софтуер, инструменти за диагностика, системни услуги и вътрешни библиотеки, които подпомагат стабилната работа на сложни технологични платформи.
В тази позиция ще работите в тясно сътрудничество с инженери по вградени системи, DevOps специалисти, архитекти, QA инженери и екипи по информационна сигурност, за да осигурите ефективни, мащабируеми и устойчиви решения. Ще анализирате системно поведение, ще идентифицирате тесни места в производителността, ще отстранявате сложни дефекти и ще предлагате архитектурни подобрения, базирани на реални технически данни. Очаква се да имате уверен подход към дебъгване на ниско ниво, работа с логове, профилиращи инструменти, трасировки и анализ на сривове.
Системният програмист играе ключова роля при изграждането на надеждна основа за приложения, платформи и инфраструктурни услуги. Това включва разработка на модули на C, C++ или Rust, интеграция с Linux или други Unix-подобни системи, автоматизация на процеси по компилация и внедряване, както и поддръжка на стандарти за качество на кода и сигурност. Предимство е опитът с kernel space и user space програмиране, POSIX интерфейси, IPC механизми, файлови системи, контейнеризация и системно наблюдение.
Идеалният кандидат е аналитичен, прецизен и ориентиран към дългосрочна устойчивост на решенията. Той или тя умее да превежда сложни технически проблеми в ясни инженерни задачи, да документира архитектурни решения и да работи уверено в среда с висока степен на отговорност. Позицията предлага възможност за работа по значими продукти, които изискват стабилност, ниска латентност и ефективно използване на ресурси. Ако имате страст към вътрешната логика на системите, харесвате да решавате трудни технически казуси и искате да допринасяте за софтуер, който стои в основата на критични процеси, тази роля ще ви даде възможност да развиете експертизата си и да окажете реално влияние върху качеството и надеждността на технологичната среда.
Отговорности
Text copied to clipboard!- Проектиране и разработка на системен софтуер и нисконивоен код
- Оптимизиране на производителността, използването на памет и системните ресурси
- Диагностика и отстраняване на сложни дефекти в операционната среда
- Разработка и поддръжка на вътрешни библиотеки, демони и системни услуги
- Интеграция на софтуерни компоненти с операционни системи и хардуерни интерфейси
- Създаване на инструменти за мониторинг, логване и анализ на сривове
- Участие в код ревюта и прилагане на добри практики за сигурност и качество
- Сътрудничество с QA, DevOps и архитектурни екипи при внедряване и поддръжка
- Документиране на технически решения, интерфейси и процедури за поддръжка
Изисквания
Text copied to clipboard!- Опит в програмиране на C, C++ или Rust
- Добро познаване на Linux, Unix или други операционни системи от ниско ниво
- Разбиране на процеси, нишки, синхронизация и управление на паметта
- Опит с дебъгване чрез gdb, strace, perf или сходни инструменти
- Познания по мрежови протоколи, IPC механизми и файлови системи
- Опит с shell скриптове, build системи и автоматизация на компилация
- Разбиране на принципите за сигурност, надеждност и устойчивост на системите
- Умения за анализ на core dump файлове и проблеми с производителността
- Способност за четене и създаване на ясна техническа документация
Потенциални въпроси за интервю
Text copied to clipboard!- Какъв е опитът ви в разработката на системен или нисконивоен софтуер?
- С кои програмни езици работите най-уверено при системно програмиране?
- Имате ли опит с Linux kernel, драйвери или системни услуги?
- Как подхождате към диагностика на сривове и проблеми с производителността?
- С кои инструменти за профилиране и дебъгване сте работили?
- Имате ли опит с многопоточност, синхронизация и конкурентно програмиране?
- Участвали ли сте в оптимизация на памет, латентност или CPU натоварване?
- Как документирате архитектурни решения и технически зависимости?