Software Engineer
Role details
Job location
Tech stack
Job description
This role sits at the intersection of backend engineering and real-world hardware integration. We are seeking a highly skilled Software Developer with strong expertise in .NET development, multi-threaded systems, and socket programming, along with hands-on experience interfacing with hardware devices and industrial communication protocols.
This role involves developing real-time control and monitoring applications that interface with sensors, controllers, and industrial equipment using protocols such as SAE J1939, NMEA 2000, and Modbus.
The ideal candidate is comfortable working close to hardware, debugging low-level communication issues, and building robust, high-performance software for mission-critical systems.
This is not purely web development - it involves systems thinking, reliability, and performance in safety-critical environments.
Responsibilities
Key ResponsibilitiesBackend Development
- Design and develop high-performance applications using C# / .NET
- Implement multi-threaded, asynchronous, and event-driven architectures
- Develop and maintain TCP/IP and UDP socket communication modulesInterface with hardware devices including:
- Gamepad/Joystick controllers (HID)
- CANbus interfaces
- Sensor systems and embedded controllers
Implement and decode industrial communication protocols:
- SAE J1939
- NMEA 2000
- Modbus (RTU / TCP)
- Parse and interpret CAN frames, PGNs, and device-specific messages
- Develop real-time data processing and control logic
- Integrate with external hardware via serial ports, USB, CAN-FD, or Ethernet
- Perform debugging using CAN analyzers, protocol sniffers, and network tools
- Optimize performance, latency, and system stability
- Collaborate with hardware, controls, and systems engineering teams
API Development
- Design secure APIs for:
- Vessel telemetry
- Remote monitoring systems
- Command & control interfaces
- Simulator environments
- Implement authentication and authorization layers
- Optimize API performance for real-time applications
Data & Systems Architecture
- Work with time-series and relational databases
- Optimize data pipelines for sensor-heavy workloads
- Ensure system logging, monitoring, and diagnostics
Collaboration & Documentation
- Participate in system architecture reviews
- Document technical designs and integration approaches
- Support sea trials and testing when required
Requirements
- 3+ years of backend development experience
- Strong proficiency in:
- C#
- .NET / .NET Core
- REST API development
- Experience working with:
- TCP/IP networking
- Multithreading / asynchronous programming
- Real-time data streams
- Solid understanding of:
- Data serialization (JSON, Protobuf, etc.)
- API security best practices
- Strong debugging and systems-level troubleshooting skills, * Experience interfacing with hardware or sensors
- Familiarity with NMEA 0183 / NMEA 2000 protocols
- Knowledge of maritime systems or USV platforms
- Experience with Docker / containerized deployments
- Exposure to cloud platforms (Azure preferred)
- Understanding of safety-critical software environments
Technical Stack (Representative)
- C# / .NET Core
- REST APIs
- SQL / Time-Series Databases
- TCP/UDP Networking
- Docker
Git-based CI/CD
Benefits & conditions
- 401(k)
- Dental insurance
- Health insurance
- Vision insurance
Application Question(s):
- Will you now or in the future require sponsorship for employment authorization ?
Work Location: In person
Pay: $55,000.00 - $60,000.00 per year, * 401(k)
- 401(k) matching
- Dental insurance
- Health insurance
- Paid time off
- Vision insurance