Описание вакансии
Компания "ГРИНТЕХ" занимается производством светотехнической продукции полного солнечного спектра излучения и современных тепличных комплексов. Осуществляет научное сопровождение агрономического сектора. Системы освещения предназначены для агропромышленой и строительной сферы, в частности для различных хозяйств, домов, школ, уличного освещения, торговых центров, промышленных комплексов.
Мы приглашаем на постоянную работу программисталя программирования систем управления тепличными комплексами.
Задачи, которые нужно будет решать:
- Анализ требований заказчика, экспертов в области агрономии и выработка технических решений для разработки ПО;
- Проектирование и разработка веб-сервиса для управления тепличным комплексом с использованием технологий и библиотек Python 3.11;
- Реализация алгоритмов управления и автоматизации выращивания сельскохозяйственных культур для оптимизации условий в тепличном комплексе;
- Разработка пользовательского интерфейса для веб-сервиса для мониторинга и управления тепличным комплексом, включая визуализацию данных датчиков и возможность установки параметров работы исполнительных устройств;
- Интеграция пользовательского интерфейса с библиотеками для работы с датчиками и исполнительными устройствами;
- Обеспечение безопасности данных веб-сервиса системы управления, включая шифрование, аутентификацию пользователя, проксирование траффика, поиск и устранение уязвимостей ПО;
- Настройка девелоперской и автоматизация исполнительной среды Linux (Arch, Alpine).
Должностные обязанности:
- Разрабатывает технологию решения задачи по всем этапам обработки информации;
- Осуществляет разработку и внедрение ПО для управления исполнительными устройствами, системами связи, мониторинга и контроля различных исполнительных устройств);
- Осуществляет выбор языка программирования для описания алгоритмов и структур данных;
- Определяет информацию, подлежащую обработке средствами вычислительной техники, ее объемы, структуру, макеты и схемы ввода, обработки, хранения и вывода, методы ее контроля;
- На основе анализа математических моделей и алгоритмов решения экономических и других задач разрабатывает программы, обеспечивающие возможность выполнения алгоритма и соответственно поставленной задачи средствами вычислительной техники, проводит их тестирование и отладку;
- Выполняет работу по подготовке программ к отладке и проводит отладку;
- Определяет объем и содержание данных контрольных примеров, обеспечивающих наиболее полную проверку соответствия программ их функциональному назначению;
- Осуществляет запуск отлаженных программ и ввод исходных данных, определяемых условиями поставленных задач;
- Проводит корректировку разработанной программы на основе анализа выходных данных. Разрабатывает инструкции по работе с программами, оформляет необходимую техническую документацию;
- Определяет возможность использования готовых программных продуктов;
- Осуществляет сопровождение внедренных программ и программных средств;
- Разрабатывает и внедряет системы автоматической проверки правильности программ, типовые и стандартные программные средства, составляет технологию обработки информации;
- Выполняет работу по унификации и типизации вычислительных процессов;
- Принимает участие в создании каталогов и картотек стандартных программ, в разработке форм документов, подлежащих машинной обработке, в проектировании программ, позволяющих расширить область применения вычислительной техники.
-
Требования:
-
Знание технологии автоматической обработки информации, методов классификации и кодирования информации, формализованные языки программирования, действующих стандартов, систем счислений, шифров и кодов;
- Знание порядка оформления технической документации;
- Опыт работы с серверными языками программирования, такими как Python, C или JavaScript;
- Опыт разработки на языке Python 3.11;
- Хорошее понимание принципов разработки серверных приложений, включая взаимодействие с базами данных и создание API;
- Опыт в Linux на уровне уверенного пользователя, как плюс уровень администратора;
- Не менее 5 лет работы на позиции разработчика веб-приложений или систем с похожей сложностью и масштабом;
- Знание и понимание принципов объектно-ориентированного программирования (ООП);
- Понимание протоколов обмена данными (например I2C/SPI, UART, Modbus, MQTT) для взаимодействия с датчиками;
- Знание принципов работы веб-серверов и опыт разработки API;
- Опыт разработки и интеграции с внешними API, умение работать с REST;
- Знание и опыт работы с реляционными базами данных (например, MySQL, PostgreSQL, TimeScaleDB) и/или NoSQL базами данных, например, MongoDB;
- Умение проектировать эффективные схемы баз данных и оптимизировать запросы;
- Знание протоколов и стандартов, таких как RESTful, SOAP, GraphQL;
- Желательно иметь опыт развертывания и управления веб-приложений на серверах:
— с использованием веб-сервера Tornado(в идеале), gunicorn, uvicorn
— с использованием контейнеризации (Docker) или оркестрации (например, Kubernetes); - Понимание принципов безопасности и защиты данных при разработке веб-сервиса;
- Опыт работы с системами контроля версий (например, Git);
- Умение работать в команде и хорошее понимание процессов разработки ПО;
- Умение документировать, писать чистый, эффективный и легко поддерживаемый код;
- Большим плюсом будет навык управления командой разработчиков, умение оценить объём поставленных задач и составить план работ.
Дополнительно:
- Навыки тестирования кода и оптимизации его производительности;
- Знание языка C, опыт работы с микроконтроллерами — будет плюсом;
- Опыт работы с Python-библиотеками для считывания данных с датчиков освещения, температуры, влажности, давления, IoT-устройствами — будет плюсом;
- Владение UML и навыки проектирования ПО и анализа требований;
- Предпочтительно иметь понимание основных принципов и технологий, используемых в тепличных комплексах, таких как автоматизация полива, контроль температуры, управление освещением и т.д.
- Предпочтительно знание или опыт с JavaScript или его подмножествами (TypeScript, Vue, Node).
Условия:
- Официальное оформление в полном соответствии с ТК РФ, полостью белая заработная плата;
- Испытательный срок 3 месяца, может быть сокращен при успешном выполнении задач;
- Место работы по адресу: СПб, Новочеркасский пр.,58;
- Оклад — 80 000 руб. + премии по итогам работы, совокупный доход 140 000 руб.на руки;
- Рабочий день с понедельника по пятницу 10-00 до 18-30, обеденный перерыв 50 минут, суббота-воскресенье — выходные дни;