Обо мне

Разработчик ПО на C/C++ под Linux (основной опыт на C)

Опыт/навыки:

  • разработка сложных многопоточных приложений с синхронизацией выполнения потоков, конкурентным доступом к ресурсам (семафоры, мутексы, rwlocks, condition variables);
  • использование инструментов межпроцессного взаимодействия в рамках POSIX, готовность использовать документированные нативные инструменты конкретной ОС;
  • разработка сетевых приложений: сокеты IPv4, клиент/сервер, использование unicast/broadcast/multicast, разработка прикладных протоколов обмена на базе UDP (там, где TCP не подходит): "знакомство" узлов обмена, keep-alive и контроль доставки, обмен в режиме резервирования сетей с контролем приема дубликатов итд;
  • понимание структуры кадров ethernet, а также концепции инкапсуляции семейства протоколов TCP/IP, модель OSI;
  • опыт использования инструментов на базе libpcap (tcpdump, wireshark);
  • разработка приложений для коммутации ПО с устройствами средствами ОС (последовательные интерфейсы, в т.ч. RS-232), умение разобраться в низкоуровневых протоколах обмена;
  • разработка ПО для хранения собственной шкалы времени, генерируемой по данным навигационных систем (метки времени, использование синхронизирующей частоты устройства для привязки);
  • понимание концепции ядра Linux, небольшой опыт написания модуля/драйвера на 2.4, 2.6;
  • понимание битовой арифметики, нюансов конкретного CPU(big-, little-endian, размер слова), математика указателей, структуры данных, списки;
  • разработка приложений под ОС QNX, опыт разработки драйвера твердотельного накопителя спецификации NVMe (шина PCI/PCIe);
  • владение инструментами сборки, отладки, скриптами: gcc, makefiles, gdb, valgrind, bash;
  • системы управлениями версиями: git, mercurial;
  • умение лаконично составлять документацию.


Язык:

  • технический английский;
  • чтение документации: спецификации, datasheets, итд;
  • использование англоязычных комментариев при написании исходного кода.

Что интересно:

  • разработка ПО преимущественно системного характера, не front-end;
  • готовность получения дополнительного опыта и навыков, желание разобраться в новой для меня предметной области.


Дополнительно себе:

  • не социопат;
  • с чувством юмора все ОК.
Профессиональные навыки
Опыт работы
Октябрь 2009 — по настоящее время (9 лет и 7 месяцев)
Ведущий Разработчик ПО
Москва
Обязанности и достижения

Обязанности:

- Разработка ПО на С под Linux для устройств сервера единого времени

- Разработка драйверов

Июнь 2017 — Март 2018 (10 месяцев)
ООО .....
Ведущий разработчик(удаленно/совмещение)
Москва
Июнь 2006 — Сентябрь 2009 (3 года и 4 месяца)
Различные
Программист
Санкт-Петербург
Высшее образование
Январь 1999 — Январь 2005
Математико-механический
Санкт-Петербург