Программист С#
Описание
ООО «АЛЬФА ТЕХНОЛОГИИ» занимается автоматизацией производства — работаем с промышленными предприятиями в Алтайском крае, Сибирском и Дальневосточном федеральных округах, а также на Урале. Основное направление — внедрение федеральной программы маркировки «Честный знак». Мы разрабатываем собственный программно-аппаратный комплекс для серийной маркировки и прослеживаемости товаров. Наши решения работают на производственных линиях предприятий различных отраслей, выполняя в реальном времени маркировку продукции, а также интеграцию с государственными API. В команду ищем специалиста для поддержания и развития ПО на C# с использованием СУБД MariaDB (InnoDB), настройки сетевого и промышленного оборудования. Обязанности: - Разрабатывать и развивать десктопное приложение — управление промышленным оборудованием в режиме реального времени;- Проектировать и реализация взаимодействия с серверной частью системы маркировки через gRPC;- Развивать библиотеку драйверов промышленных устройств — TCP/IP-протоколы общения с принтерами, камерами тех. зрения, промышленными весами и микроконтроллером;- Реализовывать конвейерную обработку данных;- Писать чистый, поддерживаемый код с применением паттернов GoF и принципов SOLID. Требования для опытных разработчиков: Обязательные - C# .NET 8+ — уверенное владение платформой, знание современных возможностей языка;- Асинхронное и многопоточное программирование — уверенное понимание async/await, `Task`, `ValueTask`, `CancellationToken`, а также работа с потоками через `Thread`, `ThreadPool`, примитивы синхронизации;- SQL — хорошее знание SQL, СУБД MySQL/MariaDB/PostgreSQL, опыт написания и оптимизации запросов;- Десктопная разработка на .NET — практический опыт создания desktop-приложений (Windows Forms, WPF или аналоги);- ASP.NET Core — опыт построения серверных приложений, middleware pipeline, Dependency Injection, фоновые сервисы;- REST API — опыт проектирования RESTful-сервисов, понимание принципов HTTP, версионирование API;- Работа с БД в .NET — практический опыт подключения и работы с СУБД из кода (ADO.NET, `DbConnection`, параметризованные запросы);- Архитектурные паттерны — понимание принципов ООП, знание паттернов GoF и принципов SOLID на практике;- TCP/IP — хорошее знание стека TCP/IP, практический опыт работы с сокетами, понимание протоколов прикладного уровня;- Общая техническая грамотность — понимание принципов работы сетей, операционных систем, систем контроля версий (Git);- Качество кода и командная работа — умение писать чистый, читаемый и поддерживаемый код; работа в команде через Pull Request, код-ревью, ведение задач;- Способность к обучению — готовность разбираться в новых технологиях, спецификациях промышленных протоколов и SDK оборудования;- Опыт работы с оборудованием — хотя бы базовый опыт взаимодействия с микроконтроллерами (Arduino, ESP32 и т.п.) или другим оборудованием на уровне протоколов обмена данными;- Английский язы* — уровень, достаточный для чтения технической документации и спецификаций. Будет плюсом - Windows Forms — опыт разработки на WinForms;- Entity Framework Core / микро-ORM — опыт работы с EF Core (Code First, миграции) или микро-ORM (Dapper, LinqToDB, SqlKata);- gRPC — опыт проектирования и реализации gRPC-сервисов, Protobuf;- Программирование контроллеров (SIEMENS) — опыт работы с ПЛК Siemens S7, знание промышленных языков программирования (ST, LAD, FBD), протокол Modbus TCP;- Основы электротехники — понимание принципов работы промышленных контроллеров, датчиков, реле, сигналов ввода-вывода;- Промышленное оборудование — опыт интеграции с промышленными принтерами (Zebra/ZPL, Domino, Markem-Imaje, Weber, Savema и т.п.), камерами машинного зрения (Hikrobot, Datalogic, Omron и т.п.), сканерами штрихкодов, весовыми терминалами по TCP или через SDK;- Интеграция с внешними API — практический опыт работы с чужими REST/SOAP-сервисами, разбор документации, обработка ошибок и ретраев;- Система маркировки «Честный знак» — понимание процессов маркировки, агрегации. Требования для для выпускников и студентов последних курсов: Рассмотрим кандидатов без коммерческого опыта. Главное — крепкая база и желание развиваться. Остальному научим. -- Обязательные: - C# — уверенные основы языка, понимание системы типов, коллекций, LINQ, обработки исключений;- ООП — понимание принципов (инкапсуляция, наследование, полиморфизм), знакомство с SOLID хотя бы на уровне теории;- SQL — умение написать запрос с JOIN, GROUP BY, подзапросами; понимание структуры реляционной БД;- Git — базовые операции (commit, push, pull, branch, merge), готовность освоить работу через Pull Request;- Сети — понимание основ TCP/IP, модели OSI, что такое сокет, порт, протокол;- Английский язык — чтение технической документации;- Способность и желание учиться — готовность осваивать промышленные протоколы, SDK оборудования и новые технологии в процессе работы. -- Будет плюсом: - Опыт работы с микроконтроллерами (Arduino, ESP32 и т.п.);- Знакомство с async/await и многопоточностью;- Любой опыт десктопной разработки (Windows Forms, WPF, Avalonia);- Курсовые или pet-проекты с использованием баз данных;- Знакомство с ASP.NET Core или любым веб-фреймворком. Условия: полный день (8:00-17:00); работа в офисе + командировки; командировки, в составе команды технических специалистов компании, периодичность 1-2 раза в месяц, или реже; продолжительность - от 1 до 5 раб дней, командировки премируются дополнительно; мотивационная политика —оклад + командировки + премии за запуск проекта; испытательный срок 1-3 месяца; офис c транспортной доступностью, стоянка ; кофебрейки за счёт компании (чай, кофе, печенье); горячее питание на счет компании;