Embedded Linux Software Engineer (C/C++)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+28 more
Job description
OMNTEC is seeking a mid-to-senior-level software engineer to join our team that develops our Proteus automatic tank gauge (ATG) products and the systems that integrate these products with our TankActive cloud platform. This role focuses on embedded Linux applications, ATG and field-device connectivity, data acquisition and transformation, and the database layer that houses/organizes field data.
You will own the architecture and hands-on implementation of the controller-to-database data path, balancing reliability, performance, maintainability, and backward compatibility. This includes designing high-performance Linux services, implementing reliable communications, parsing and validating device data, and ensuring that inventory, alarm, sensor, and diagnostic information reach TankActive accurately.
What You Will Do
- Design, develop, and maintain C/C++ applications and services on OMNTEC’s Linux-based PROTEUS controller.
- Build and support connectivity and data acquisition between PROTEUS, third-party ATGs, gateways, polling systems, and TankActive.
- Implement and troubleshoot TCP/IP, UDP/IP, and serial communications, including message framing, parsing, timeouts, retries, and recovery.
- Design and maintain PostgreSQL database schemas, queries, stored functions, and access code for reliable operational-data ingestion and retrieval, protecting data quality through validation, deduplication, timestamp handling, and replay/backfill.
- Collaborate with TankActive application engineers on data contracts and service boundaries (the web application itself is owned by another team).
- Diagnose issues in deployed field systems across hardware, OS, network, protocol, and database boundaries; create tests, diagnostic tools, documentation, and operational scripts; participate in code review and release validation., * Briefly describe a production software system you personally owned or maintained. What did it do, and what were your responsibilities?
Please answer in 2-4 sentences.
- Which of the following have you used professionally: TCP/IP or UDP, serial communications, PostgreSQL, multithreading or Linux IPC, and embedded or industrial devices? Briefly identify where you used them.
- Describe one real engineering task where you used an AI coding agent or AI-assisted development tool effectively. Name the tool, explain how you provided context and constraints, how you verified its work, and what you did when its output was incomplete or incorrect. Please answer in 3-5 sentences without sharing proprietary information.
Requirements
- Strong C/C++ development experience on Linux, including debugging, performance analysis, and resource management.
- At least three years of professional software engineering experience, with demonstrated ownership of production systems.
- Solid relational database experience (PostgreSQL or comparable): schema design, complex SQL, and application access patterns.
- Able to work on-site in Ronkonkoma, NY., * Bachelor’s degree in computer science, engineering, or a related field, or equivalent practical experience.
- Thorough knowledge of Linux IPC (shared memory, message queues, semaphores, etc.), multithreading, synchronization, and data-concurrency management.
- Hands-on experience developing socket-based client and server applications and troubleshooting real-world network behavior.
- Advanced database skills: Complex query tuning, schema optimization, stored functions (PL/PGSQL or similar).
- Ability to work confidently at the Linux shell level and with Bash or similar operational and diagnostic scripting.
- Strong problem-solving, communication, time-management, and technical documentation skills, with the ability to plan and prioritize across concurrent product-development and field-support needs.
Nice to Have
- Industrial or embedded communications experience: RS-232/RS-485, Modbus, CAN bus, etc.
- Experience building custom embedded Linux systems with Buildroot, Yocto, or similar tools.
- Working knowledge of secure remote connectivity: VPNs, TLS, certificate handling, authentication, and network-security fundamentals.
- Debugging hardware/software interactions, serial buses, field devices, or resource-constrained systems.
- Familiarity with Python, Rust, or another language useful for tooling, automation, testing, or systems development.
- Responsible use of AI-assisted development tools to improve engineering productivity and code quality., * relevant professional software engineering: 3 years (Required)
Benefits & conditions
Pulled from the full job description
- 401(k)
- Health insurance
- Paid time off
- Dental insurance, * 401(k)
- Dental insurance
- Health insurance
- Paid time off
About the company
For more than 40 years, OMNTEC has developed environmental compliance, leak-detection, and tank-monitoring solutions. Our hardware and software are developed in-house, giving engineers the opportunity to solve meaningful problems across embedded systems, communications, databases, and cloud-connected products - and to see their work running on real devices in the field. We continue to grow through new technologies and strategic product integration, with a strong pipeline of practical engineering challenges.
Pay: $100,000.00 - $140,000.00 per year
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Over-Saturated?
Fully Remote Software Engineer Jobs
Where to Find Entry-Level Software Engineering Jobs
Where To Find Software Engineering Jobs