hirly

Advantech

資深軟體工程師/副理 Senior Software Engineer/Assist. Manager - WEDA (WISE/內湖瑞光)

Taipei_Neihu

See how you match this job — and similar ones. Free.

Upload your resume and hirly scores it against this role at Advantech first, then against similar open jobs, and shows where you fit and why.

PDF or DOCX, up to 12MB. No sign-up to see your matches.

Get past the screening software and onto a recruiter's desk

hirly rewrites your resume for this job — matching the keywords and skills in the posting, moving your most relevant experience to the top, and writing a cover letter to fit. About 30 seconds.

  • Keywords matched to this posting
  • Fit score before you apply
  • Cover letter included
Tailor my resume for this job →

Apply from your AI assistant

Connect hirly to Claude and ask it to apply to this job. hirly tailors your resume, fills the employer’s form and asks before sending. ChatGPT: manual setup today.

Some employer sites stop an application at a CAPTCHA or sign-in and hand it back with a link. Applying needs a paid plan. Works with any assistant that supports MCP.

hirly's read of this role

Role family
Engineering
Seniority
Lead / management
Country
TW
Work mode
On-site / unstated
First seen by hirly
21 Oct 2026

Derived automatically from the posting. Upload your resume above to see how the role scores against it.

the posting

Role Overview

We are seeking a senior software engineer to own three connected layers of WEDA, Advantech's edge-to-cloud platform for managing industrial devices at scale: the cloud microservices, the device library that talks to Advantech hardware, and the edge SDK that connects field devices to our edge gateways. You will design, build, test and release across all three and keep them consistent, from a GPIO pin on an industrial PC to a public REST API in the cloud. You will work with product managers, solution architects, QA and application engineers, plan in Azure DevOps, and ship a release about once a quarter.

Key Responsibilities

A. Cloud Microservices:

Service Development: Design, build and run C#/.NET microservices on the ABP Framework for device management, telemetry, digital twins, device messaging, container deployment and AI-model management.

Architecture: Apply DDD, CQRS and event-driven patterns; keep message handlers idempotent and safe under retry.

Messaging Framework: Extend our in-house messaging framework on NATS, including header-based metadata, a middleware pipeline and JWT claims-based authorization.

Data Paths: Own data flows across NATS JetStream, PostgreSQL (EF Core), Apache IoTDB time-series storage and object storage, including resumable HTTP uploads for large files.

Public APIs: Publish REST APIs with consistent OpenAPI/Swagger documentation.

B. Device Library (Hardware Abstraction):

Library Development: Develop the device library in C# and Python, shipped as NuGet and Python packages, exposing Advantech hardware to software: board info, onboard sensors (temperature, voltage, fan), GPIO/DIO, watchdog, thermal protection and DAQ modules.

Native Integration: Wrap native SDKs such as Advantech SUSI, EAPI and libgpiod through P/Invoke in C# and native bindings in Python, isolating native calls on a dedicated thread with timeouts so a driver fault cannot crash the host process.

Safe Degradation: Report hardware capabilities accurately and degrade safely on boards or VMs without a driver.

Release Management: Keep the C# and Python APIs consistent and own semantic versioning, migration guides and release notes, so a library upgrade never silently changes what a device reports to the cloud.

C. Edge SDK:

SDK & Reference Apps: Build the .NET SDK and reference apps that system integrators use to connect Modbus devices, I/O modules, DAQ modules and sensors to our edge gateway.

Digital Twin Schemas: Turn SDK-declared device, sensor, transform, filter and command types into DTDL v3 schemas, and validate configuration and commands before they reach a device.

Data Reliability: Keep data reliable through outages with local buffering, historical data resync and chunked retransmission over NATS.

Container Packaging: Package edge apps as containers (Docker Compose) for Ubuntu, NVIDIA Jetson (arm64) and Windows targets.

New Integrations: Extend the SDK into new integration areas, such as robotics (ROS 2).

D. Engineering Quality (Across All Three Areas):

Test-First Development: Write tests first and hold coverage at 90% for domain logic, 80% for services and 70% for infrastructure.

Hardware Regression: Run end-to-end regression on real hardware with QA before each release.

Functional Safety: Build safety in with fail-safe defaults, pre-condition checks and timeouts.

Code Review: Link every pull request to a work item, attach test results and get human review before merge.

Design Documentation: Write design documents and review product requirements with product managers and architects.

AI-Assisted Development: Use AI coding agents (such as Claude Code or Codex) within a reviewed team workflow.

Qualifications & Technical Requirements

Education: Bachelor's or Master's degree in Computer Science, Electrical Engineering or a related field, or equivalent experience.

C#/.NET: 5+ years of professional C#/.NET development on .NET 8 or later, including async/await with cancellation, dependency injection and disciplined resource cleanup.

Python: Production Python 3 experience: packaging and distribution, type hints, pytest, and calling native C libraries from Python.

Microservices: Built and operated microservices in production: message-driven design (NATS, Kafka or RabbitMQ), REST APIs, PostgreSQL with EF Core, and containers on Kubernetes.

Hardware Interop: Hands-on hardware-facing work: native interop (P/Invoke, Python ctypes or CFFI, C or C++), Linux device access or industrial I/O, with attention to crash safety and timeouts.

Industrial Protocols: Practical use of at least one of Modbus RTU/TCP, OPC UA or MQTT.

SDK Design: Designed a library or SDK that other teams consume: API design, semantic versioning, backward compatibility, docs and samples.

Linux: Comfortable with Docker, systemd and debugging on remote devices over SSH.

Engineering Practice: Working knowledge of DDD or clean architecture, and a habit of unit and integration testing.

Communication: Clear written English for specs, pull-request descriptions and design reviews.

Preferred Qualifications (Bonus)

Experience with the ABP Framework, NATS JetStream, or time-series databases such as Apache IoTDB or InfluxDB.

Hands-on experience with Advantech SUSI/EAPI or a similar board-support SDK, NVIDIA Jetson and arm64 cross-builds.

Digital-twin modelling with DTDL or Azure Digital Twins.

Go for edge tooling, or ROS 2 for robotics integration.

Familiarity with Helm, OpenTelemetry and Azure DevOps pipelines.

Experience shipping production code with AI coding agents inside a reviewed workflow.

What You Will Gain

End-to-end ownership of an industrial IoT platform, from board-level drivers to cloud APIs.

Hands-on work with Advantech industrial PCs, I/O and DAQ hardware.

A clear growth path: within six months, lead a major SDK or platform feature end to end and become the go-to engineer for device library and SDK issues.

A modern engineering practice: test-first development, reviewed pull requests and AI-assisted coding.

Original posting on Advantech's site ↗

Listed on hirly, a job board. hirly is not the employer: Advantech is hiring for this role.

Browse similar roles

Want this one?

Upload your resume and hirly rewrites it for this job and writes the cover letter — in about thirty seconds, before you sign up.

Tailor my resume for this job