Full Time

Senior Software Engineer (Embedded)

Accord Technologies Inc
Full-time
Information Technology & Services
Rochester, NY
???* / year

Job Description

Job Title: Senior Software Engineer (Embedded)

Location: Rochester, New York (Onsite)

Position type: contract

Duration: 12 months

Responsibilities

Job Description

Execute application porting from 32-bit to 64-bit architectures.

Design, develop, and maintain high-performance software in C and C++ on Linux and Windows platforms.

Utilize STL, Boost, and Qt libraries to build scalable and maintainable applications.

Consume requirements and architecture documents as input to design and develop software components.

Support technical deployment while coordinating between engineering disciplines (including externals) to ensure customer acceptance of the project solution.

Define, produce, and validate all Control Center System application data and parameters to customize a System / Sub-system for a given project/product.

Ensure that all the technical requirements, from analysis to demonstration, are managed throughout the project lifecycle.

Implement and optimize inter-process communication (IPC) mechanisms across platforms.

Apply Object-Oriented Programming (OOP) principles to contribute to robust software design.

Troubleshoot and resolve complex system-level issues related to memory, performance, and compatibility.

Stay current with emerging technologies, especially in AI and machine learning, and explore opportunities for integration.

Develop and maintain communication of SCADA systems and industry standard protocols such as Modbus, TCP/IP, and Serial Communication.

Optimize and maintain legacy codebases written in C, C++.

Conduct code reviews, testing, and debugging to ensure high-quality deliverables.

Document software architecture, design decisions, and integration workflows.

Develop and optimize SQL queries, stored procedures, and triggers.

Develop and maintain scripts (shell, python etc).

Qualifications

Preferred:

Bachelor s Degree of Science in Computer Science, Engineering or related field.

3-5 years in Information Systems, Computer programing or Engineering disciplines.

5+ years of professional experience in C/C++ development primarily on Linux platforms.

Proven experience in 32-bit to 64-bit application conversion and porting.

Knowledge of System Engineering and interface control documents.

Strong knowledge of C++ libraries including STL, Boost, and Qt.

In-depth understanding of inter-process communication (IPC) on both Linux and Windows.

Experience with cross-platform development.

Familiarity with both Linux and Windows operating systems, including systems administration, installation, configuration, and server management.

Understanding of SCADA systems and industry standard protocols such as Modbus, TCP/IP, and Serial Communication.

A certification or demonstrated skill in technical assessment and troubleshooting, with knowledge of tools like GDB, Wireshark, etc.

Experience or understanding of control and/or communication systems design, operation, and evaluation.

Solid grasp of software design patterns and object-oriented principles.

Exposure to AI frameworks or machine learning libraries.

Knowledge of build systems (e.g., CMake, Make) and version control (e.g., Git).

Excellent problem-solving and debugging skills.

Proficiency in C, C++.

Proficiency in using Visual Studio Code (VS Code) for code authoring, debugging and workplace management.

Hands-on experience in designing and integrating Object-Relational Mappers (ORMs) to create data layers in C++ that integrate with relational databases, preferably Oracle.

Experience with reporting software to create and maintain reports of data from a Relational Database Management System (RDMBS).

Unemployment fell most in Greece: from 10% in 2024 to 8.5% in 2025, by the International Labour Organization’s estimates. Every country, ranked →

View Similar Jobs

Matches Jobs

Similar jobs which you may be interested in. Typically using your existing skillset.