About the role
Hyderabad
6+ years
Job Title
Middleware Developer C++/Qt/Database
Job Description
• Role Description:
We are seeking a highly skilled Middleware Developer with deep experience in modern C++ (C++11/14), Qt Core/Network/SQL, and multithreaded application design. The ideal candidate will be responsible for architecting and implementing the middleware layer that bridges scientific computation engines, data management modules, and high-performance UI systems. This role is core to the product’s performance, reliability, and scalability.
You’ll work closely with algorithm developers, HMI teams, and system architects to build efficient data flows, ensure persistence, and design resilient integration between computational logic and visualization layers.
Responsibilities :
1. Middleware Architecture & Integration
• Design and implement middleware modules that interface with the SOLO math-engine and related computational libraries.
• Develop and maintain logic for selectivity, auto-exposure, and data acquisition (ACQ) processing.
• Ensure robust API contract definitions and consistent data flow between UI, middleware, and backend engines.
• Manage thread-safe data exchange, synchronization, and event handling using Qt Core/Network/Threading components.
• 2. Data Persistence & Performance
• Architect and implement data persistence layers for acquired data, model metadata, and computed results.
• Optimize database performance for query speed, concurrency, and memory efficiency.
• Implement audit logging mechanisms to ensure traceability and system integrity.
• Work with SQLite or other embedded databases for lightweight yet reliable data storage.
• 3. Quality, Testing & Reliability
• Develop middleware test harnesses and tools to validate data integrity and system responsiveness.
• Collaborate with QA and simulation teams to create automated regression and performance tests.
• Drive improvements in error handling, fault tolerance, and system recoverability.
• 4. Collaboration & Documentation
• Work closely with math-engine, HMI, and firmware teams to define clear data and control interfaces.
• Produce detailed design and API documentation to support cross-team collaboration.
• Participate in design reviews, code reviews, and sprint retrospectives.
• 7–10 years of hands-on experience in C++11/14, with strong command of object-oriented design, design patterns and STL.
• Deep expertise with Qt Core, Qt Network, Qt SQL, and multithreaded programming.
• Proven experience in database integration and performance optimization.
• Strong understanding of data modeling, schema design, and query optimization.
• Solid experience with REST-based or internal API contract design and versioning.
• Demonstrated ability to profile and optimize CPU, memory, and I/O usage.
• Experience with Git and modern CI/CD workflows.
• Nice-to-Have Skills:
• Hands-on exposure to HDF5 or SQLite for scientific or analytical data storage.
• Familiarity with signal processing, spectroscopy, or analytical instrumentation domains.
• Experience integrating with computational or scientific math engines (e.g., SOLO, MATLAB, NumPy equivalents).
• Knowledge of TeamCity or similar CI/CD automation tools.
• Understanding of inter-process communication (IPC) and modular system architecture.
• Education:
Preferred education level: Engineering degree in Computer Science, Computer Engineering or related fields. Masters degree is desirable.
Soft skills:
• Strong analytical and problem-solving skills.
• Detail-oriented with a passion for delivering stable, high-quality UI experiences.
• Effective communication and cross-functional collaboration skills.
• Self-driven, with a focus on continuous improvement and learning.