💼 Hiring Quest – Kotlin Multiplatform Engineer (POS Systems) @ Sahm Food
Challenge-based hiring quest with structured evaluation and real project outcomes.
Top performers get hired with a paid contract and the opportunity to work on real-world projects.
👋 We are Sahm Food, a fast-growing FoodTech company building technology that powers restaurants, delivery operations, and customer experiences across Egypt.
Our ecosystem includes mobile apps (iOS & Android), admin dashboards, and a full suite of POS & CRM systems used by restaurants to manage orders, payments, and operations in real time.
We’re now building the next generation of our POS system using Kotlin Multiplatform — and we’re looking for a Kotlin Multiplatform Engineer (3-5 YOE) to help us scale it across devices and platforms.
🕓 Start Date: Immediate
📍 Location: On-site – Makram Ebeid, Nasr City
💰 Salary: 60,000 – 80,000 EGP
📌 Type: Full-time
🛠️ How the Hiring Quest Works
1️⃣ Register for the quest
2️⃣ Receive the full challenge instructions
3️⃣ Submit your solution before the deadline
4️⃣ Top candidates are invited to a technical review session
5️⃣ One candidate will be hired
🔍 Who We’re Looking For
✔️ 3-5 years experience in mobile development (Android / iOS)
✔️ Strong experience with Kotlin Multiplatform (KMM)
✔️ Deep knowledge of Kotlin (Coroutines, Flows, clean architecture)
✔️ Experience with Compose Multiplatform / Jetpack Compose
✔️ Strong understanding of offline-first architecture & local databases
✔️ Experience integrating with POS hardware (printers, scanners, payment terminals) is a plus
🎯 Your Mission: Build a Real POS Module
You’ll simulate working on a real Sahm Food system by designing and implementing part of a cross-platform POS system using Kotlin Multiplatform.
🧪 The Challenge
🧩 Build a Mini POS System
Design and implement a simplified POS module that includes:
Core Features:
Create and manage orders
Add/remove items from cart
Calculate totals (tax, discount optional)
Save transactions locally
⚙️ Technical Requirements
✅ Kotlin Multiplatform (Core)
Shared business logic across platforms
Clean architecture (separation of concerns)
Use Coroutines / Flows for async & state
✅ UI Layer
Build UI using:
Compose Multiplatform OR
Android (Jetpack Compose) + simple iOS UI
✅ Offline-First Architecture
Store orders locally (SQLite / local DB)
System must work without internet
Design a sync strategy (queue, retry, conflict handling)
✅ Hardware Simulation
Simulate at least ONE:
🖨️ Receipt printing
📦 Barcode scanning
💳 Payment flow
(Mock implementations are acceptable)
🧪 What You Should Submit
✅ Codebase
Clean, well-structured KMP project
Clear separation between shared & platform code
Readable, maintainable code
✅ Architecture Overview
Explain:
Project structure
Why you chose your architecture
State management approach
Offline-first strategy
Sync design (even if not fully implemented)
✅ Feature Demonstration
Show:
Order creation flow
Cart updates
Data persistence
Hardware simulation
✅ (Bonus)
💡 Implement a basic sync mechanism
💡 Add logging or analytics
💡 Suggest how this system scales for multi-branch restaurants
📹 Video Walkthrough (5–8 min) – Advanced
This is a key evaluation component.
Your video must include:
1️⃣ Product Thinking
What problem your POS solves
Who the user is (cashier, restaurant owner…)
Key workflows
2️⃣ Architecture Deep Dive
Explain your KMP structure
Shared vs platform-specific code
Why you chose this design
3️⃣ Offline-First Strategy
How data is stored locally
How sync works (or would work)
How you handle failures / retries
4️⃣ Code Walkthrough
Key modules
State management
Business logic
5️⃣ Trade-offs & Decisions
What you simplified
What you’d improve with more time
Performance or scaling considerations
📝 Submission Requirements
⚠️ We evaluate real engineering thinking — not just polished output
Over-engineered or copied solutions without understanding will be rejected
Clear thinking > complex implementation
📦 Deliverables
💻 GitHub Repository
📄 Architecture Notes
📹 Video Walkthrough (5–8 min)
🤖 AI Usage Transparency
If you used AI tools, please share your prompts and relevant conversation excerpts; submissions will be evaluated based on your understanding, not just the final output.
📊 Evaluation Criteria
Architecture & KMP usage – 30%
Code quality & structure – 25%
Offline-first thinking – 20%
Product thinking (POS workflow) – 15%
Bonus (scalability & ideas) – 10%
📩 What Happens After Submission
Shortlisted candidates will be invited to a live technical session, where we will:
Deep dive into your architecture decisions
Discuss offline-first challenges and sync strategies
Evaluate your ability to build real-world POS systems
👉 Final decisions will be made within 5-10 business days after the interview