What are the responsibilities and job description for the Software Engineer position at Connery Consulting?
Overview
We are seeking a detail-oriented Software Engineer with experience in Sensor Interfaces & Data Acquisition to develop software and firmware that interfaces directly with hardware systems. This role focuses on building reliable data acquisition pipelines and ensuring precise communication between physical sensors and downstream systems.
Key Responsibilities
- Design, develop, and maintain software and firmware that interfaces with sensor hardware
- Manage concurrency, threading, and strict timing requirements for real-time data capture
- Write fault-tolerant, defensive code to handle edge cases and hardware inconsistencies
- Develop and execute testing protocols including unit, integration, and hardware-in-the-loop testing
- Collaborate with hardware and backend teams to ensure clean and reliable data flow into storage systems
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, or related field with at least 1 year of experience
- Proficiency in C, C , Python, or similar languages used in hardware interfacing
- Strong understanding of operating systems, including threading, multiprocessing, and memory management
- Experience with version control, code reviews, and documentation best practices
- Solid understanding of testing methodologies and building maintainable, high-quality code
Preferred Qualifications
- Experience building lightweight user interfaces or internal tools (React, Node, FastAPI, etc.)
- Familiarity with embedded systems, microcontrollers, or RTOS environments
- Experience debugging hardware using tools such as oscilloscopes or logic analyzers
- Knowledge of communication protocols such as SPI, I2C, UART, USB, or BLE