
Job Summary:
We are looking for a highly skilled and experienced C++ Developer with a strong background in embedded systems to join our dynamic product engineering team. The ideal candidate will have at least 5 years of recent hands-on experience in designing, developing, and optimizing high-performance embedded software applications using modern C++ standards (preferably C++11 or later). This is an exciting opportunity to work on cutting-edge technologies in a collaborative and innovative environment.
Key Responsibilities:
- Design, develop, and maintain robust and scalable software solutions using C++11 or above
- Work closely with hardware and embedded teams to implement and integrate real-time systems
- Develop software for embedded platforms and optimize performance for various target environments
- Implement and maintain multithreaded applications and handle concurrency issues efficiently
- Conduct unit and integration testing to ensure high-quality deliverables
- Collaborate with cross-functional teams including Product, QA, Hardware, and Design
- Troubleshoot, debug, and resolve complex technical issues in embedded environments
- Participate in code reviews and adhere to best practices in coding and documentation
- Stay updated on the latest advancements in C++ and embedded systems development
Required Skills & Qualifications:
- Bachelor's or Master’s degree in Computer Science, Electronics, or related field
- 5+ years of professional software development experience with strong recent exposure to C++
- Hands-on experience with C++11 or newer versions (C++14/17 preferred)
- Strong understanding of object-oriented programming (OOP) and software design patterns
- Proficient in embedded system programming and real-time operating systems (RTOS)
- Experience in multithreaded programming and inter-process communication
- Proficient in debugging tools, performance analysis, and memory management
- Familiarity with version control systems like Git
Preferred Skills:
- Experience working on low-level drivers, hardware integration, and peripherals
- Familiarity with scripting languages (Python, Bash) for automation
- Exposure to CI/CD pipelines and Agile/Scrum development methodologies
- Knowledge of tools such as GDB, Valgrind, JTAG debuggers, etc.
- AWS or cloud-based experience is a plus (for remote monitoring/logging or OTA updates)

Similar jobs
About the Role
At Ceryneian, we’re building a next-generation, research-driven algorithmic trading platform aimed at democratizing access to hedge fund-grade financial analytics. Headquartered in California, Ceryneian is a fintech innovation company dedicated to empowering traders with sophisticated yet accessible tools for quantitative research, strategy development, and execution.
Our flagship platform is currently under development. As a Backend Engineer, you will play a foundational role in designing and building the core trading engine and research infrastructure from the ground up. Your work will focus on developing performance-critical components that power backtesting, real-time strategy execution, and seamless integration with brokers and data providers. You’ll be responsible for bridging core engine logic with Python-based strategy interfaces, supporting a modular system architecture for isolated and scalable strategy execution, and building robust abstractions for data handling and API interactions. This role is central to delivering the reliability, flexibility, and performance that our users will rely on in fast-moving financial markets.
We are a remote-first team and are open to hiring exceptional candidates globally.
Core Tasks
· Build and maintain the trading engine core for execution, backtesting, and event logging.
· Develop isolated strategy execution runners to support multi-user, multi-strategy environments.
· Implement abstraction layers for brokers and market data feeds to offer a unified API experience.
· Bridge the core engine language with Python strategies using gRPC, ZeroMQ, or similar interop technologies.
· Implement logic to parse and execute JSON-based strategy DSL from the strategy builder.
· Design compute-optimized components for multi-asset workflows and scalable backtesting.
· Capture real-time state, performance metrics, and slippage for both live and simulated runs.
· Collaborate with infrastructure engineers to support high-availability deployments.
Top Technical Competencies
· Proficiency in distributed systems, concurrency, and system design.
· Strong backend/server-side development skills using C++, Rust, C#, Erlang, or Python.
· Deep understanding of data structures and algorithms with a focus on low-latency performance.
· Experience with event-driven and messaging-based architectures (e.g., ZeroMQ, Redis Streams).
· Familiarity with Linux-based environments and system-level performance tuning.
Bonus Competencies
· Understanding of financial markets, asset classes, and algorithmic trading strategies.
· 3–5 years of prior Backend experience.
· Hands-on experience with backtesting frameworks or financial market simulators.
· Experience with sandboxed execution environments or paper trading platforms.
· Advanced knowledge of multithreading, memory optimization, or compiler construction.
· Educational background from Tier-I or Tier-II institutions with strong computer science fundamentals, a passion for scalable system design, and a drive to build cutting-edge fintech infrastructure.
What We Offer
· Opportunity to shape the backend architecture of a next-gen fintech startup.
· A collaborative, technically driven culture.
· Competitive compensation with performance-based bonuses.
· Flexible working hours and a remote-friendly environment for candidates across the globe.
· Exposure to financial modeling, trading infrastructure, and real-time applications.
· Collaboration with a world-class team from Pomona, UCLA, Harvey Mudd, and Claremont McKenna.
Ideal Candidate
You’re a backend-first thinker who’s obsessed with reliability, latency, and architectural flexibility. You enjoy building scalable systems that transform complex strategy logic into high-performance, real-time trading actions. You think in microseconds, architect for fault tolerance, and build APIs designed for developer extensibility.
Software Engineer - C++ Developer.
Experience: 1-3 years
Requirements:-
|
- A minimum of 2 years' experience as a C++ software developer. • Linux Operating Systems(Basic idea about structure, file types and memory) • Socket Programming • Version control tools like GIT, SVN(basic operations) • Current knowledge of C++ standards and specifications. • Proficiency in C++ compliant languages such as C, Java, and Python. • Good Understanding for backend concepts like OOPS, Algorithm, Data structure, Design patterns |
Do you have what it takes?
· Proficient in C, C++ development, OS concepts, Data Structures, Distributed computing, and Algorithms.
· Actively engaged in projects related to architecture and design (architecture, design patterns, reliability, and scaling).
· Excellent problem-solving capability with strong fundamentals in Computer Science.
· Highly proficient in data structures and algorithms.
· Ability to pick up new technologies rapidly to convert specifications to low level design.
· Ability to clearly communicate the intent and approach when producing a code design document.
How can you contribute to our success?
· Develop frontend as well as backend components for delivering product on cloud platforms.
· Participate in activities that lead up to the code design. This may include activities such as developing prototypes, proof of concept, compare pros and cons of various implementation choices being considered and recommending the most appropriate one.
· Mentor and influence junior developers to adhere to good coding standards and become quality conscious.
· Review critical pieces of code that are developed as per this code design.
· Ensure that the code being delivered is of the highest quality.
· Ensure appropriate unit tests and functional as well as non-functional tests are considered.
· Conceptualize and work towards building processes, methodology, and tools to improve team’s ability to deliver high quality software.
- Augmenting, improving, redesigning, and/or re-implementing Dolat's low-latency/high-throughput production trading environment, which collects data from and disseminates orders to exchanges around the world
- Optimizing this platform by using network and systems programming, as well as other advanced techniques
- Developing systems that provide easy access to historical market data and trading simulations
- Building risk-management and performance-tracking tools
- Shaping the future of Dolat through regular interviewing and infrequent campus recruiting trips
- Implementing domain-optimized data structures
- Learn and internalize the theories behind current trading system
- Participate in the design, architecture and implementation of automated trading systems
- Take ownership of system from design through implementation
Exp ; 1 to 2 yrs
skills : C++
Location : Bangalore
BE / BTECH -2019 / 2020
sarinatbeiingdotin
Bachelor Degree required, preferably in Computer Science or related field
* 1+ years of software development experience using C++ programming language
* Experience working on JavaScript would be an added advantage
* Experience using Linear Algebra, 3D Scene model, Cairo - 2D Drawing Framework
* Working experience using any of these: POV-RAY, GeoTiff, WGS 84 and Web Mercator
projection
* Experience with cloud technologies AWS SDK and containerization
* Experience with PostgreSQL or other Relational Databases
* Test-driven development mindset and a focus on quality, scalability and performance
* Strong programming fundamentals and ability to produce high quality code
* Excellent communication, collaboration, reporting, analytical and problem-solving skills
* Solid understanding of Agile (SCRUM) Development Process required
- Write a significant amount of code for new and existing databases and related systems
- Scale and own these backend systems and databases
- Ship high-quality code and architecture
- Mentor engineers on the team, developing their skills and helping advance their careers
- Work with the founders to flesh out the future of the product
- Help shape the future of our engineering organization
Requirements
- A passion for working on deeply technical projects and wanting to work on distributed systems, concurrency & parallelism, replication protocols, file systems & correctness
- You have been building applications for 5+ years with C/C++ or Rust and have significant backend, database, or systems-level programming experience
- You have a BS/MS/Ph.D. in a scientific field or equivalent experience
- You want to work in a fast-paced, high-growth startup environment that respects its engineers and customers
- You are comfortable working with a 100% distributed engineering team, collaborating on GitHub, Slack, Zoom, etc. in the open and as a self-starter
Bonus points:
- Experience working on databases or other storage systems internals
- Experience with Apache Arrow, Apache Parquet
- Know how columnar databases work
- Know how to convert an algorithm to use SIMD instructions
- Good knowledge of Linux internals
- You’ve contributed to open-source libraries and actively participate in the development community (blogging, giving talks, meetups, tweeting, etc.)
Job description
We are looking for a passionate Software Development Engineer to develop, test, maintain and document program code in accordance with user requirements and system technical specifications. As a Software Development Engineer, you will work with other Developers and Product Managers throughout the software development life cycle.
Software Development Engineer responsibilities include analysing requirements, define system functionality and writing code in the companys current technology stack. The candidate is expected to be familiar with the software development life cycle (SDLC) process from preliminary system analysis to tests and deployment. Ultimately, the role of the Software Engineer is to build high-quality, innovative and fully performing software that complies with coding standards and technical design. Your goal will be to build efficient programs and systems that serve user needs.
To be qualified for this role, you should hold a minimum of Bachelor’s degree in a relevant field, like Computer Science, IT or Software Engineering. You should be a team player with a keen eye for detailed and problem-solving skills. If you also have experience in SDLC, Agile frameworks and popular coding languages (e.g., Java), strong computer science fundamentals we’d like to meet you.
Years of experience : 2 to 10 years.
Roles & Responsibilities
The overview of this position (based in Chennai, India) includes:
- Develops, enhances, debugs, supports, maintains and tests software applications that support business units or supporting functions. These application program solutions may involve diverse development platforms, software, hardware, technologies and tools.
- Participates in the design, development and implementation of complex applications, often using new technologies.
- Technology professional with experience in designing and managing the implementation of future looking, flexible and reusable, enterprise applications and components.
- Expert in translating business requirements into an application design that includes Data Model, Web Screens, Web Services, and batch processing.
- May provide technical direction and system architecture for individual initiatives.
- Serves as a fully seasoned/proficient technical resource.
- Deploy programs, gather and evaluate user feedback
- Recommend and execute improvements
- Create technical documentation for reference and reporting
- Develop software verification plans and quality assurance procedures
- Document and maintain software functionality
- Ensure software is updated with latest features
- Good interpersonal and technology understanding skills
- Evaluate open-source components and integrate into product pipeline
Skills and Qualifications
- Hands-on experience in analysis, design, coding, and implementation of complex, custom-built applications.
- Strong Java, development skills (JAVA, J2EE, STRUTS, SPRING, Web Services, Eclipse, UI screens, AngularJS, React.JS)
- Excellent debugging skills
- Strong knowledge on databases (MySQL, MSSQL Server and NoSQL databases)
- Understanding of various deployment servers (Apache Tomcat is a must)
- Understanding of OO skills, including strong design patterns knowledge is a must.
- Strong understanding in creating and maintaining web services.
- Understanding of the software development life cycle
- Experience with Implementation and release management activities
- Good understanding of unit/system and functional testing methodology
- Experience working in large transaction-based systems
- Knowledge of software best practices, like Test-Driven Development (TDD) and Continuous Integration (CI)
- Experience documenting technical functions
- Desire to contribute to the wider technical community through collaboration, coaching, and mentoring of other technologists.
- Experience in Linux based systems, development of shell-based scripts.
Job Training
- Training on the coding paradigms, guidelines, frameworks, usage of the applications would be provided by the engineers
- Periodic training sessions would be conducted by the technical architects in terms of technology and skills to be learnt
- Periodic, structured training would be provided on the applications Hours & Environment
- Typical 40 hours of work a week
- Depending on the requirements, work hours may have to be extended during the day, weekend
-
5+yrs with WINDOWS DRIVER DEVELOPMENT in is MUST
-
Hands on EXP in C++ Programming is MUST
-
Understanding of FIRMWARE and HARDWARE DESIGN principles.
-
EXP in LAPTOP and DESKTOP domain
-
Hands on EXP in JENKIN and GITHUB
-
EXP or understanding of FIRMWARE DESIGN TOOLS and LANGUAGES.








