Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.
Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
- Обо мне
-
- Стоимость работы:
- от 800 руб. за час
- Профессиональный опыт:
- более 10 лет
- Форма собственности:
- Физ. лицо
- Способы оплаты:
- наличный расчёт, безналичный расчёт
За 10 лет практики в системном и прикладном программировании освоены все этапы разработки ПО: от проектирования до выпуска приложения, его поддержки и обновления. Для работы предпочитаю использовать Sublime Text, git, make, CLANG (для стат. анализа). Языки программирования (по убыванию опыта) С, С++, Visual Basic, Bash, Python (для вспомогательных задач). Основные языки С, С++. Интересным будет получение опыта разработки на Java, Object-C.
Профессиональные навыки- умение писать хороший, структурированный, оформленный код;
- владение инструментами разработки, сборки, отладки: gcc, makefiles, gdb, jtag, Sublime Text;
- умение вести проект в git, redmine;
- умение оптимизировать код: по скорости, размеру программы, объему используемой памяти;
- способность разобраться в чужом исходном коде, внести необходимые изменения, провести рефакторинг. Опыт поддержки legacy кода.
- способность разобраться с особенностями конкретного процессора, контроллера, компилятора. Чтение ассемблерного кода;
- опыт самостоятельного поиска и исправления сложных багов, в т.ч. гейзенбагов;
- умение автоматизировать рутинные процессы разработки ПО (bash, python, visual basic для excel);
- понимание битовой арифметики, математики указателей;
- знание стандартных алгоритмов и структур данных;
- знание паттернов программирования;
- экспертное знание структуры MPEG-TS, PSI/SI, TR101290;
- знание протоколов UART, USB, TCP/IP (TCP, UDP, SNMP, HTTP) разработка прикладных протоколов обмена на базе TCP/UDP. Умение реализовать обмен между ПК и внешними устройствами.
- умение разрабатывать сложные многопоточные приложения. Понимание инструментов и принципов синхронизации потоков;
- разработка сетевых приложений клиент/сервер;
- знание базы данных sqlite, опыт восстановления поврежденных БД;
- понимание структуры ОС Linux, концепции ядра;
- знание библиотеки визуальных компонентов VLC, IDE от CodeGear/Embarcadero RAD Studio 2009/XE7;
- умение разрабатывать графические интерфейс пользователя: графики, диаграммы, редакторы.
- опыт работы с одноплатными ПК: Armbian, Nanopi, Allwinner H3.
Чем именно я занимался более подробно:
Системное программирование:
- Разработан анализатор MPEG-TS потоков на С под DSP Bfackfin без ОС. Особенность разработки состояла в использовании DSP на пределе возможностей как по производительности, так и по использованию памяти. Проект дал большой опыт в оптимизации кода: по скорости, размеру кода, объему требуемой памяти. Получено глубокое знание структуры MPEG-TS, стандартов формирования, обработки и проверки MPEG-TS.
- Разработан модуль управления анализатором со стороны CPU (FreeRTOS, Fujitsu) на С. Управление через UART по собственному протоколу.
- Участие в разработке графического интерфейса анализатора MPEG-TS потоков.
- Участие в разработке фреймворка на C под ОС FreeRTOS. Разработка различных модулей, предназначенных для использования другими программистами: вспомогательных подсистем, api для работы с файлами собственного формата, обработка результатов измерений, GUI компоненты, пользовательские режимы.
- Разработка ПО для систем под управлением процессоров Analog Devices, Fujitsu.
- Поддержка и рефакторинг чужого кода.
- Разработка Windows приложений для работы с измерительным оборудованием
- Управление измерительными приборами по UART, USB (libusb, ftdi, vcp), TCP, UDP, SNMP, разработка и реализация собственных протоколов управления. В том числе для серверных приложений сбора данных с приборов и мониторинга.
- Обновление ПО приборов и прикладных приложений по HTTP, USB, UART.
- Разработка GUI: графики и диаграммы (в основном прорисовка с нуля на TCanvas), редакторы параметров измерений, формирование отчетов, дублирование функционала прибора, сохранение/загрузка в файлы результатов измерений, WEB интерфейс для серверных программ. Использовался в основном фреймворк от Borland, CodeGear, Embarcadero, библиотека графических компонентов VLC.
- Разработка системы удаленного мониторинга 24/7, сбора и обработка информации с приборов по TCP/UDP. Сервер, desktop приложение под Windows, оповещение по email, БД SQLite, WEB интерфейс для просмотра.
- Установка драйверов в Windows: написание inf, цифровая подпись, автоматизация установки.
- Локализация приложений: английский, европейские языки, китайский. Разработка своей системы локализации приложений, работа с переводчиками.
- Проектирование и использование базы данных SQLite.
- Создание установочных программ: Inno Setup, CreateInstall.
- Разработка и внедрение системы автоматического обновления ПО по протоколу HTTP.
- Разработка системы публикации прикладного ПО и программ измерительных приборов.
- Разработка вспомогательных программ для производства и контроля выпускаемой продукции.
- Поддержка legacy кода и приложений, использование и рефакторинг чужого кода, ребрендинг приложений (OEM).
- Общение с клиентами, заказчиками (в т.ч. иностранными JDSU/VIAVI(США), Laycey (Автралия), Vector (Польша) ).
- Написание документации: руководства пользователя для клиентский приложений
- Отзывы
Нет отзывов