cover image
Raise

Software Engineer

On site

Toronto, Canada

Freelance

07-01-2026

Share this job:

Skills

Communication Problem Solving Conflict Resolution Python Java Visual Studio Risk Management Splunk GitHub CI/CD DevOps Docker Azure DevOps Test Customer empathy Linux Windows Azure C++ CMake GitHub Actions

Job Specifications

Software Programmer/Developer

Pay Rate: (flexible)

Location: Toronto, Ontario

Contract Length: 12 Months, Office

We at Raise are hiring right now for one of our Clients. If you’re interested, apply below for your chance to join a great place to work.

About the Role:

We’re seeking a seasoned C++ Developer with hands-on retail Point of Sale (POS) experience—ideally with CMA (Cornell-Mayo & Associates) solutions, now NCR OmniPOS. You’ll build and optimize high-performance transaction flows, device integrations, and store-side services.
A strong grasp of end-to-end business flows (from item scan to settlement) and proven experience with loyalty integrations(enrollment, identification, accrual, redemption, and promotions) are critical to success.

What You’ll Do:

Design & develop robust, maintainable C++ components (transaction engine, promotions, tenders, receipts, returns, store ops).
Model end-to-end business flows: cart lifecycle, price/discount calculation, tax, tenders, reversals, partial auths, voids, EOD/batching, and offline/online sync.
Implement loyalty integrations: membership lookup, accrual & redemption, points balances, personalized offers, targeted promotions; ensure deterministic application and auditable outcomes.
Extend CMA/NCR OmniPOS: customize workflows, UI, and business rules; build integrations via APIs/middleware/plugins.
Integrate peripherals: payment terminals, scanners, printers, scales, cash drawers, customer displays; OLE for Retail POS (OPOS) / Java for Retail POS (JPOS) and device SDKs.
Optimize performance & reliability: profiling, memory management, concurrency; robust error handling, recovery, logging, telemetry.
Ensure compliance & security: partner with Payments for PCI-DSS considerations; secure coding, secrets handling, and data minimization.
Support delivery: CI/CD, packaging, deployments, rollout planning, hotfixes; documentation and runbooks; collaborate with Product, QA, Ops.

Must-Have Qualifications:

5+ years professional C++ (C++11/14/17), Standard Template Library (STL), Resource Acquisition Is Initialization (RAII), templates, exceptions; strong debugging and performance tuning.
POS domain expertise with CMA/NCR OmniPOS (or similar): configuration, extension, APIs, scripting/plug-ins, troubleshooting.
Business flow understanding: transaction lifecycle, promotions/discount engines, tax, returns/exchanges, tender orchestration, reconciliation.
Loyalty experience: identification (barcode, phone, card, token), points accrual/redemption, earn/burn rules, stackability with offers, breakage handling, edge cases (split tenders, offline accrual).
Concurrency & performance: threads, async I/O, synchronization primitives; profiling tools (e.g., valgrind, perf).
OS & tooling: Windows and/or Linux, build systems (CMake/Make/MSBuild), Bitbucket; debuggers (Visual Studio, gdb/lldb).
Device integration: OPOS/JPOS, serial/USB/network peripherals; driver SDKs and state recovery strategies.
Testing: unit/integration tests (GoogleTest/Catch2), mocks/stubs, automated builds.

Nice-to-Have Skills:

Payments: EMV/contactless, PSP integrations, tokenization, partial auth and fallback logic, settlement/reconciliation workflows.
Retail back office: price/PLU updates, item master sync, promotions distribution, store-to-HQ messaging, inventory adjustments.
Distributed/edge systems: store servers, offline-first patterns, eventual consistency, conflict resolution.
Adjacent languages: Python, C#/.NET, Java for tooling/bridges.
Observability: structured logging, metrics, tracing (OpenTelemetry), log aggregation (Splunk/ELK).
Security: static analysis (clang-tidy/sonar), supply chain hygiene, secrets management.
DevOps: Docker, CI/CD (Azure DevOps/GitHub Actions), artifact management.
UI experience: Win32/MFC/Qt or web-based POS front ends integrated with C++ services.
Core Competencies
Systems thinking & problem solving: trace complex flows across services/devices; root-cause tricky edge cases (e.g., loyalty redemption interacting with returns).
Quality-first delivery: clean code, reviews, documentation, tests; measurable reliability improvements.
Ownership & collaboration: clear communication, proactive risk management (peak seasons, blackout periods), effective partnering with QA/Product/Support.
Customer empathy: design for cashier speed, low-friction loyalty capture, predictable promotions, and resilient store operations.

Education:

Bachelor’s degree in Computer Science, Engineering, or equivalent experience.
What Success Looks Like (First 90 Days)
Master our CMA/NCR OmniPOS configuration and integration points, especially loyalty and promotions paths.
Ship one feature or device integration improving checkout latency and/or loyalty redemption reliability.
Increase test coverage and add diagnostics for promotions + loyalty decisioning and tender orchestration.

Must Haves:

Niche Role - a Supplier Spotlight call will be held once release
5+ years professional C++ (C++11/14/17), Stand

About the Company

Raise is the newest iteration of the Ian Martin Group--a leading staffing firm that's been connecting people in meaningful work for 65 years. Today, Raise is branching out to engage even more exceptional candidates and provide them with diverse and meaningful job opportunities across North America--in addition to our traditional business in technical fields such as engineering and IT, we're expanding our openings to include jobs in customer service, manufacturing and light industrial, to name some. As we continue to gr... Know more