Senior Software - R & D Instruments

  • Rochester, NY
  • Posted 2 days ago | Updated 9 hours ago

Overview

On Site
USD 120,000.00 - 150,000.00 per year
Full Time

Skills

Research and Development
IT Management
Software Development
Messaging
Scalability
Workflow
Systems Architecture
Quality Management
Computer Hardware
Systems Analysis
Requirements Elicitation
Unit Testing
Integration Testing
Computer Science
Computer Engineering
C++
FOCUS
SAFE
IPC
Sockets
Message Queues
XML
Agile
Git
Continuous Integration
Continuous Delivery
Issue Tracking
JIRA
GitHub
Microsoft Azure
DevOps
Testing
Analytical Skill
Debugging
Embedded Systems
RTOS
Real-time
Interfaces
JSON
XSD
UI
Middleware
ROS
Rust
Scripting
Python
Bash
Software Design
CMake
Test Cases
Automated Testing
Emulation
Embedded Linux
USB
Ethernet
Communication
Military
Privacy
Security Clearance
LOS
Law

Job Details

Akkodis currently has a Senior Software Engineer position with a client located in Rochester, NY. This is an onsite position, so the person needs to live within 40 miles of Rochester, NY. No C2C or agencies allowed with this position.

Pay/Salary Range: $00. This salary may be negotiable based on experience, education, geographic location or other factors.

Senior Software Engineer to provide technical leadership for the realization of a new / substantially evolved existing product / feature within the company's portfolio of products. This position is responsible for developing software and supporting software development processes
and tools. This includes, but is not limited to, requirements development, design, build, implementation, and testing.

This role focuses on designing and implementing robust inter-process and inter-node communication for distributed embedded Linux systems. Emphasis will be placed on real-time messaging, safety, and scalability to support time-sensitive workflows across multiple software components and hardware nodes.

Responsibilities:

Design and implement modular middleware components that enable real-time communication between distributed subsystems using DDS, ROS2, or other inter-process communication (IPC) mechanisms.

Act as Software SME in design discussions with Product Managers and Systems Engineers to define requirements.

Help define system architecture, configurations, and development processes to ensure long-term maintainability and traceability within a regulated quality management system.

Design and implement service abstraction layers to decouple application logic from hardware and OS dependencies.

Determines technical / operational feasibility by conducting system analysis, developing POCs, etc.

Contribute to system-wide synchronization, logging, and monitoring infrastructure to support observability of system performance, resource utilization, and health.

Enforce good software design practices throughout requirement gathering, architecture definition, unit testing, and code reviews.

Develop integration test frameworks to ensure robustness in multi-process embedded environments.

Required:

B.S. or M.S. Degree in Computer Science, Computer Engineering or a related discipline required.

Proficiency in Modern C++ (C++11 minimum, C++17 or newer preferred) with a strong focus on memory-safe design techniques.

Demonstrated experience designing and implementing IPC solutions using OS-level primitives (e.g., sockets, shared memory, message queues) and modern frameworks like DDS, with working knowledge of serialization strategies (Protobuf, JSON, XML).

Familiarity with Agile development practices and toolchains, including Git, CI/CD integration, and issue tracking platforms such as Jira, GitHub, or Azure DevOps.

Experience developing and testing embedded system software for real time applications/robotic systems.

Strong analytical and debugging skills with a systematic approach to solving complex technical issues.

Experience with xUnit-style automated testing frameworks, including test mocking, emulation, and simulation tools for embedded Linux systems.

Preferred Skills:

Embedded systems development, including RTOS and real-time applications.

Design and integration of modular, maintainable software interfaces using Interface Definition Languages (IDLs), versioned APIs (e.g., REST), event-driven or pub/sub architectures, and schema validation (e.g., JSON Schema, XSD) to support cross-language and backend-to-UI interoperability.

Robotic systems and middleware frameworks such as ROS2.

Experience or working knowledge of the Rust programming language.

Familiarity with scripting languages such as Python and Bash for automation and tooling.

Proficiency in modern cross-platform software design using contemporary build systems (e.g., CMake, etc.).

Designing testable architectures and developing deterministic test cases using automated testing frameworks, including mocking, emulation, and simulation tools for embedded Linux systems.

Familiarity with USB, Ethernet, and CAN communication protocols.

If you are interested in this Senior Software Engineer job, then please click APPLY NOW. For other opportunities available at Akkodis go to . If you have questions about the position, please contact Jim Tobin at

Equal Opportunity Employer/Veterans/Disabled

Pay Details: $120,000.00 to $150,000.00 per year

Equal Opportunity Employer/Veterans/Disabled

Military connected talent encouraged to apply

To read our Candidate Privacy Information Statement, which explains how we will use your information, please navigate to ;br>
The Company will consider qualified applicants with arrest and conviction records in accordance with federal, state, and local laws and/or security clearance requirements, including, as applicable:
  • The California Fair Chance Act
  • Los Angeles City Fair Chance Ordinance
  • Los Angeles County Fair Chance Ordinance for Employers
  • San Francisco Fair Chance Ordinance


Massachusetts Candidates Only: It is unlawful in Massachusetts to require or administer a lie detector test as a condition of employment or continued employment. An employer who violates this law shall be subject to criminal penalties and civil liability.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.

About Akkodis