- Company Name
- Raise
- Job Title
- Software Engineer
- Job Description
-
Job Title
Software Engineer – C++ POS Developer
Role Summary
Design, develop, and maintain high‑performance C++ components for retail point‑of‑sale (POS) systems. Lead integration of loyalty, payment, and peripheral devices within an OmniPOS environment while ensuring reliability, security, and compliance with PCI‑DSS.
Expectations (First 90 Days)
- Master OmniPOS configuration, loyalty, and promotion integration points.
- Deliver a feature or device integration that improves checkout latency or loyalty reliability.
- Increase unit/integration test coverage and add diagnostics for transaction and loyalty flows.
Key Responsibilities
- Build robust C++ modules (transaction engine, promotions, tenders, receipts, returns, store‑side services).
- Model end‑to‑end business flows: cart lifecycle, pricing, tax, tenders, reversals, auth, voids, EOD/batching, offline/online sync.
- Implement loyalty integrations (identification, accrual, redemption, offers, promotions) with deterministic outcomes.
- Customize and extend OmniPOS: UI, business rules, APIs, middleware, plug‑ins.
- Integrate peripherals (payment terminals, scanners, printers, scales, cash drawers, displays) via OPOS, JPOS, and SDKs.
- Profile, tune, and optimize performance and concurrency; handle errors, logging, telemetry.
- Ensure PCI‑DSS compliance and secure coding practices (secrets management, data minimization).
- Support CI/CD, packaging, deployments, hotfixes; produce documentation and runbooks.
- Collaborate with Product, QA, and Operations to plan rollouts and troubleshoot issues.
Required Skills
- 5+ years professional C++ (C++11/14/17) development; STL, RAII, templates, exception handling.
- POS domain expertise: OmniPOS/CMA integration, configuration, scripting/plug‑in development.
- Deep understanding of transaction lifecycle, promotions/discount engines, tax, returns, tender orchestration, reconciliation.
- Loyalty systems experience (membership lookup, accrual, redemption, earn/burn rules).
- Multithreading, async I/O, synchronization, and profiling tools (valgrind, perf).
- Windows/Linux OS, build systems (CMake/Make/MSBuild), Bitbucket, debuggers (Visual Studio, gdb/lldb).
- Device integration using OPOS/JPOS, serial/USB/network peripherals, SDKs.
- Unit/integration testing frameworks (GoogleTest, Catch2), mock/stub usage, automated builds.
Nice‑to‑Have
- EMV/contactless payments, PSP integrations, tokenization, settlement workflows.
- Retail back‑office integration (price updates, inventory, promotions).
- Edge/distributed store server patterns, conflict resolution.
- Python, C#, Java for tooling bridges.
- Observability (structured logging, metrics, tracing), security static analysis, Docker, CI/CD platforms.
Required Education & Certifications
- Bachelor’s degree in Computer Science, Engineering, or equivalent professional experience.
---