Software Developer
Automation Solutions, LP (AUTOSOL)
Houston, TX0–3 yrs18h agovia LinkedIn
This job at a glance
- Who can apply
- New grads and up to 3 years · Bachelor's degree
- Must know
- REST APIsC++StatisticsAgileAzureCI/CD
- Nice to have
- LinuxWindowsDockerOperations
- Work
- On-site in Houston
- Pay
- Not stated by the employer.
- Listed
- Nov 10, 2026 · still open
Sign in free to see which of these skills your resume already shows.
Key Responsibilities
- Port the polling engine and existing protocol drivers from Windows to Linux.
- Resolve platform differences, including serial and socket APIs, threading, timers, data type sizes, struct packing, and byte order.
- Implement and maintain protocol drivers in C++, including request scheduling, framing, parsing, and error recovery.
- Handle field communication conditions, including serial and TCP transports, slow and lossy links, device quirks, and vendor-specific protocol variants.
- Verify ported drivers against the Windows originals by polling the same devices and comparing real-time data, history, events, and alarms.
- Test against physical RTUs, flow computers, and PLCs on a test bench, and against device simulators.
- Build automated regression tests that compare Linux and Windows driver output.
- Build diagnostics for communication health, including link status, retry behavior, throughput, and per-device statistics.
- Diagnose communication failures using serial and network captures and protocol analyzers.
- Document protocol behavior, device-specific quirks, and test coverage for each driver.
- Work with other product teams on shared components and cross-product integration.
- Participate in team sprint ceremonies and own drivers from refinement through production.
Requirements & Tech Stack
- Languages: C++ (Windows and Linux)
- Delivery: Docker containers, traditional Windows and Linux installers
- Tooling: Azure Pipelines (CI/CD), JFrog Artifactory, Atlassian suite (Bitbucket, Jira, Confluence)
Qualifications
- Bachelor’s degree in Computer Science, Engineering or a related field, or equivalent practical experience.
- Experience developing in C++.
- Experience configuring, polling or troubleshooting RTUs, flow computers or PLCs.
- Experience implementing or integrating industrial protocols such as Modbus, ROC, DNP3, OPC UA or vendor-specific protocols.
- Understanding of binary data handling, including framing, byte order, checksums/CRCs and timing-sensitive request/response cycles.
- Experience with serial (RS-232/485) and TCP/IP device communication.
- Comfortable developing and debugging on Linux.
- Strong attention to detail and clear written communication of test results.
Experience porting code between Windows and Linux is a plus.
Experience with containerized deployment (Docker) is a plus.
Understanding of electronic flow measurement (EFM) data is a plus.
Background in oil and gas field operations, or as a measurement technician, automation technician or SCADA engineer, is a plus.