Сергей Рейнов (reserge), 47 лет, Россия, Санкт-ПетербургСергей Рейнов (reserge), 47 лет, Россия, Санкт-Петербург
Golang, C++Бэкенд разработчикИнженер встраиваемых системСтарший (Senior)
Рассмотрю предложения

Контакты

Войти
Возраст: 47 лет
Опыт работы: 26 лет и 8 месяцев
Регистрация: 10.01.2018
Последний визит: 3 недели назад
Местоположение: Россия, Санкт-Петербург
Дополнительно: готов к удаленной работе

Обо мне

Ищу частичную занятость (неполная неделя, сз или гпх).


Занимаюсь всем подряд, от сервисов и библиотек до промышленных UI и UX.
Чаще всего проектирую, разрабатываю и поддерживаю клиент-серверные интеграции производственного и складского оборудования. Поддерживаю, дорабатываю, обновляю legacy-код любой древности. Делаю типовую и не очень типовую интеграцию мобильных устройств.


Сейчас стеки технологий / направления:


  • Golang - управление оборудованием и вспомогательные службы (RAPI, WebSocket, Windows service, MSSQL)
  • C++ промышленные контроллеры и промышленные панели оператора
  • С++ службы и библиотеки для интеграции оборудования (Windows service, многопоточность, tcp/udp)


Хотелось бы:


  • Golang
  • работать с современными технологиями, готов учиться
  • видеть в компании code review, performance review, общение между командами разных направлений / технологий
  • иметь возможность выбора команды / технического стека


Не хотелось бы:


  • красную компанию


Было бы интересно развиваться в направлениях:


  • Golang в современной инфраструктуре
  • C++ 11/14/17+


Рассматриваю в том числе стартапы и геймдев.



Опыт


2024


Занимался реверс-инжинирингом протоколов производственного оборудования.



    Разрабатывал:


    • интеграция производственного весового оборудования:
      • REST-сервис для работы с весами - Go, fasthttp, swagger-ui.
      • эмулятор весов - Go, spot ui.
      • диагностические утилиты и скрипты - Go, windows cmd etc.

    Поддерживал и дорабатывал:


    • интеграция этикеточных принтеров новых производителей - C++ dll.
    • промышленные контроллеры - С++.
    • десктопные клиентские места - C# WinForms.
    • dataproxy-сервис - Go, MSSQL.
    • утилиты логгирования и анализа передачи RS232, UDP, TCP - Go.


    2022-2023


    Поддерживал и дорабатывал:


    • интеграционные библиотеки - С++ dll.
    • промышленные контроллеры - С++
    • десктопные клиентские места - C# WinForms.
    • мобильное приложение для ТСД - Android, Kotlin, Fragments, MVVM.

    Разрабатывал:


    • WYSIWYG редактор этикеток - С++17, wxWidgets, Windows, Linux (gtk3), системная печать (winspool и caps), глубокая интеграция с этикеточными принтерами.
    • вспомогательная служба dataproxy / precompute - Golang 1.20, RAPI, MSSQL.


    2020-2021


    Разрабатывал и поддерживал B2B Android приложение (операции с товаром на складе/производстве):


    • Kotlin, Coroutines, Room, Fragments, MVVM, Sockets (ktor-network, tcp server + tcp client), Clean Architecture, JUnit, ручной DI.


    Дорабатывал инфраструктуру (wired/wireless обмен с Android устройствами):


    • С++, Windows COM/OLE dll, проприетарные протоколы, adb tcp proxy, tcp server + tcp client.
    • C++, Windows service, многопоточность, tcp server, ODBC + MFC, MS SQL интеграция.
    • MS SQL quick start шаблон БД.


    2020


    Разрабатывал и поддерживал web-клиент, сервисы и вспомогательные утилиты для управления производственным и периферийным оборудованием:


    • Backend: golang, Windows service, syscall + dll_windows, net/http (RAPI), gorilla/websocket.
    • Frontend: html + pure js + css.
    • Tools: golang, tcp port proxy (tcp server + tcp client), Windows service / Linux daemon.


    2019-2020


    Разрабатывал B2B Android приложения (склад/производство):


    • Kotlin, Coroutines, Room, Fragments, MVVM, Data Binding, Navigation, Direct MS SQL (jtds).


    2018-2019


    Разработки:


    • Проприетарный message broker: С++, tcp, многопоточность, Windows service + интеграционная dll с упрощенным API, ориентир - RabbitMQ / Kafka.
    • Клиент+сервер (учет продукции на складе/производстве): ТСД WinCE + Windows service, C++, MFC + доп. layout manager, tcp server + client, многопоточность, SQLite.
    • Клиент+сервер (рабочее место на производстве):
      • Панель оператора: Linux, Qt4, Qt-многопоточность, Qt-tcp/udp server, ttyS* и ttyUSB* периферия.
      • Место мастера: C#, WinForms, SQLite, tcp/udp.


    2010-2019


    Разработки:


    • Клиент+сервер (штрихкоды + RFID метки): ТСД WinCE + Windows service, C++, tcp, MFC, ODBC.
    • Системная часть контроля рабочего времени (приход/уход): Windows service, DirectX WebCam, C++, ODBC, периферия smart cards.
    • Различные Windows service для интеграции сетевого / периферийного производственного оборудования: С++, tcp/udp, ODBC, многопоточность.
    • Библиотеки и интеграционное API: Windows dll, C++, tcp/udp, rs-232, многопоточность, проприетарные протоколы.
    • Отладочные эмуляторы промышленных устройств: С++, MFC, tcp/udp, rs-232.
    • Встроенное ПО для промышленных контроллеров / панелей оператора: C++, tcp/udp, rs-232.
    • Различные производственные системы с UI: C#, WinForms, custom painting controls, MS SQL интеграция, SQLite.

    Частичная разработка и поддержка рекламного проекта: C#, WinForms + WPF, DirectX 3D scenes, смешивание цветовых палитр RGB-HSL.




    2000-2010


    Различные DOS / Windows XP проекты С++, DOS UI, WinAPI, MFC, dll, промышленные контроллеры, ТСД и т.д.

    Навыки

    C++
    Golang

    Участие в профсообществах

    Опыт работы

    • ООО "Фирма ТМК"
      Санкт-Петербург
      Бэкенд разработчик (Старший)программист
      Август 1998 — По настоящее время (26 лет и 8 месяцев)

       - Начал как разработчик asm / C++ (RS232 драйвер под DOS, клиентские места DOS Text UI). Потом подключился к разработке ПО для ТСД. Затем перешел на разработку Windows DLL, Windows Services и TCP/IP.

       - Как-то я предложил попробовать .NET Framework и тогда мне в стек добавились клиентские места на C# WinForms.

       - К нам в компанию приходили разные разработчики. Кому-то я был коллегой, кому-то старшим товарищем, у кого-то учился и подсматривал актуальные методики и технологии.

       - У нас всегда активно использовались ТСД для автоматизации. Когда ТСД на WindowsCE начали морально устаревать, я предложил попробовать ТСД на Android. И так, в несколько итераций, у нас появилось Android решение на Kotlin + MVVM. Я полностью занимался проектированием, разработкой и интеграцией в уже сложившуюся инфраструктуру ТСД. И добился параллельной работы в одной экосистеме и WindowsCE и Android ТСД. А также добился простой замены устаревающих Win ТСД на новые Android без вовлечения заказчика в технические детали. Мне было интересно получить такой результат.

       - Как-то раз, проектируя новый C++ TCP Service, я понял, что Time to Market может быть слишком большим и решил попробовать Golang. Познакомился с языком, с go-инструментами. Прошел несколько курсов в крупных компаниях, познакомился с облачными практиками. Сформировал свои ожидания от языка. Так у меня появился относительно простой инструмент для RAPI интеграции и разработки Web-ориентированных клиентских мест.

       - Сейчас я в компании периодически выполняю функции RnD, Lead интеграции оборудования и Senior embedding-а и network services.

    Дополнительное образование