الوصف
تبحث Aspire Software عن مهندس برمجيات لينضم إلى فريقنا في لبنان.
إليك نافذة صغيرة عن شركتنا: تدير Aspire Software شركات برمجيات مملوكة بالكامل، وتقدم حلولاً حاسمة عبر عدة قطاعات. من خلال تطبيق أفضل ممارسات الصناعة، تقدم Aspire عملية تكامل سريعة الوقت، وتتيح لها بيئة نموذج مركزي أن تصبح محوراً لخلق نمو سريع من خلال إعادة الاستثمار في محفظتها.
حول الدور
نحن نعيّن مهندس Go متوسط المستوى لبناء وتشغيل الخدمات الدقيقة في منصة المدفوعات لدينا. ستملك الخدمات من النهائي إلى النهائي — من تصميم API ومخطط قاعدة البيانات إلى الاختبار والتعبئة بالحاويات ونشر الإنتاج — في مجال تكون الدقة والأمان والموثوقية غير قابلة للتفاوض. هذا دور بناء عملي مع ملكية واضحة وفرصة للنمو في أعمال منصة وهندسة معمقة.
خدماتنا هي REST/JSON APIs (Gin) منشورة على AWS ECS، وتُدار الرؤية من خلال خدمات داخلية اليوم. مع توسع المنصة، هناك مجال حقيقي للمساعدة في رفع معايير الهندسة — إدخال مقاييس وتتبع موزع، رصد مُنظم، ومعايير CI/التحليل الثابت أقوى. إذا كنت تحب امتلاك الأنظمة وتشكيل كيفية بنائها، فستجد ذلك في هذا المسار.
ستنضم إلى فريق هندسة يستخدم أدوات التطوير بمساعدة الذكاء الاصطناعي كجزء قياسي من سير العمل. نتوقع من المهندسين استخدام هذه الأدوات بشكل جيد — للتحرك بشكل أسرع دون التضحية بالصرامة التي تتطلبها المدفوعات.
ما ستفعله
- تصميم وبناء وصيانة خدمات Go المصغّرة (واجهات HTTP، حاويات جانبية، ومعالجات خلفية) التي تتعامل مع تفويض المدفوعات، والتوكن، والتسوية، والتقارير.
- كتابة Go نظيفة ومختبرة جيداً: اختبارات وحدوية قائمة على الجداول، تبعيات محاكاة، وتغطية ذات معنى على المسارات التي تتحرك الأموال.
- تقييم وضبط الخدمات لتحقيق عائد عالي من خلال المعاملات وخفض الكمون (pprof، الاختبار المقارن) — مسارات المعاملات حساسة للكمون.
- التكامل مع مخازن البيانات العلائقية وNoSQL (MySQL، DynamoDB، PostgreSQL)؛ تصميم المخططات، أنماط الوصول، والترحيلات التي تصمد تحت الحمل وتتطور بأمان.
- بناء واستهلاك واجهات خدمة داخلية، بما في ذلك مصادقة الخدمة-ل-الخدمة ومكتبات المنصة المشتركة.
- تعبئة الخدمات مع بناء Docker متعدد المراحل وشحنها من خلال خطوط CI/CD إلى بنية سحابية.
- التكامل مع معالجات الدفع من طرف ثالث وخدمات AWS، مع التعامل مع البيانات الحساسة وفق PCI DSS ومعاييرنا الأمنية (الترميز الآمن، إخفاء البيانات، TLS، إدارة الأسرار).
- بناء موثوقية في تدفقات حركة الأموال: الاستاتيكية/التكرار، وإعادة المحاولة، والتسوية والتسوية الصحيحة.
- المشاركة في مراجعة الشفرات، مناقشات التصميم، تبديل الاستعداد على الخدمة، واستجابة الحوادث للخدمات التي تمتلكها.
- استخدام أدوات التطوير المعتمدة على الذكاء الاصطناعي (مثل GitHub Copilot، Claude Code، Cursor) بشكل فعال ومسؤول كجزء من العمل اليومي.
المتطلبات
- 3+ سنوات خبرة في هندسة البرمجيات المهنية، مع خبرة إنتاج Go من بينها (مستوى متوسط).
- درجة البكالوريوس في علوم الكمبيوتر أو مجال ذي صلة، أو خبرة عملية مكافئة.
- إتقان قوي لأساسيات Go: التزامن بشكل صحيح (دورة حياة goroutine، انضباط القنوات، الإلغاء من خلال السياق)، واجهات، معالجة الأخطاء، الوحدات، ومكتبة القياسية.
- خبرة في بناء واستهلاك RESTful HTTP APIs، ويفضل إطار ويب Go (نستخدم Gin).
- إجادة العمل مع قواعد بيانات SQL (تصميم المخطط، الاستفسارات، المعاملات) — نستخدم MySQL مع sqlx.
- الراحة مع Docker وخطوط CI/CD كجزء من سير التطوير العادي.
- خبرة مثبتة في استخدام أدوات التطوير المدعومة بالذكاء الاصطناعي (Copilot، Claude Code، Cursor، أو ما يشابهها) في أعمال مشروع حقيقية — وحكم جيد بشأن متى تثق وتتحقق وتتجاوز الخرج.
- انضباط اختباري قوي وعادة كتابة شفرة قابلة للصيانة والتدقيق.
- اتصالات كتابية وشفوية واضحة، عقلية تعاونيه ومبنية على الملكية، وراحة العمل ضمن فريق أجايل/تكراري في الموقع.
المؤهلات المفضلة
- خلفية في المدفوعات / التكنولوجيا المالية — بوابات الدفع، معالجة البطاقات، التوكن، PCI DSS، الاحتيال، أو أنظمة المعاملات المالية (مفضل بشدة).
- خبرة عملية مع AWS، خاصة DynamoDB، S3، Secrets Manager، KMS، SSM Parameter Store، ECS، وECR.
- خبرة مع الخدمات المصغّرة وأنماط الأنظمة الموزعة (مصادقة الخدمة-إلى-الخدمة، الحاويات الجانبية، الاستاتيبات، إعادة المحاولة، الرصد).
- الإلمام بـ NoSQL (DynamoDB) و/أو PostgreSQL بالإضافة إلى MySQL.
- خبرة في التعامل الآمن مع البيانات الحساسة: التشفير (AES، KMS)، JWT، إدارة الأسرار، وممارسات الترميز الآمنة (OWASP، إخفاء البيانات، TLS).
- عمق في مجالات المدفوعات: التسوية/المصالحة، التكرار، الإلمام بشبكة البطاقات/المخطط، الاحتيال، أو أنظمة المعاملات المالية.
- خبرة في إدخال الرصد (المقاييس، التتبّع الموزع، التسجيل المنظم) و/أو أدوات جودة CI (التحليل الثابت، اللينتينج) إلى منصة في طور النمو.
- خبرة هجرة مخطط قاعدة البيانات وتخطيط واجهات API.
- JavaScript / TypeScript / React — ميزة إضافية. لوحات الإدارة والتاجر لدينا هي React 19 + TypeScript + Vite؛ يمكن المشاركة في التطوير الشامل لكن ليست مطلوبة.
- خبرة في العمل في نظام أحادي/قديم أو الانتقال من نظام أحادي إلى بنية خدمة حديثة.
تقنية فريقنا
ما ستعمل عليه فعلياً، اعتماداً على قاعدتنا الحالية للكود.
- اللغة: Go.
- إطار الويب: Gin (gin-gonic/gin); بعض الخدمات القديمة على net/http خام. REST/JSON (ليس gRPC).
- البيانات: MySQL (go-sql-driver/mysql, jmoiron/sqlx)، DynamoDB (AWS SDK v2)، PostgreSQL (lib/pq); Redis وMemcached للتخزين المؤقت.
- السحابة والنشر: AWS — ECS، ECR، DynamoDB، S3، Secrets Manager، KMS، ACM، SSM، SES، Cognito (AWS SDK for Go v2).
- المصادقة والتشفير: خدمة SvcAuth الداخلية للمصادقة بين الخدمات، JWT (golang-jwt/jwt)، golang.org/x/crypto، تشفير AES.
- الاختبار: اختبارات Go، stretchr/testify، DATA-DOG/go-sqlmock.
- البناء والنشر: Docker متعدد المراحل (golang ? scratch)، Makefiles، GitLab CI (Docker-in-Docker)، صور إلى ECR الخاص.
- الواجهة الأمامية (ميزة إضافية): React 19، TypeScript 5.6، Vite، MUI، Redux Toolkit، Formik، Jest + React Testing Library.
Description
Aspire Software is looking for a software engineer to join our team in Lebanon.
Here is a little window into our company: Aspire Software operates and manages wholly owned software companies, providing mission-critical solutions across multiple verticals. By implementing industry best practices, Aspire delivers a time sensitive integration process, and the operation of a decentralized model has allowed it to become a hub for creating rapid growth by reinvesting in its portfolio.
About the role
We are hiring a mid-level Go engineer to build and operate the microservices at the core of our payments platform. You will own services end to end — from API design and database schema through testing, containerization, and production deployment — in a domain where correctness, security, and reliability are non-negotiable. This is a hands-on building role with clear ownership and room to grow into deeper platform and architecture work.
Our services are REST/JSON APIs (Gin) deployed on AWS ECS, with observability handled through internal services today. As we scale the platform, there is real room to help raise the engineering bar — introducing metrics and distributed tracing, structured observability, and stronger CI/static-analysis standards. If you like owning systems and shaping how they are built, you will have that runway here.
You will join an engineering team that uses AI-assisted development tools as a standard part of its workflow. We expect engineers to use these tools well — to move faster without sacrificing the rigor that payments demand.
What you'll do
- Design, build, and maintain Go microservices (HTTP APIs, sidecars, and background processors) that handle payment authorization, tokenization, settlement, and reporting.
- Write clean, well-tested Go: table-driven unit tests, mocked dependencies, and meaningful coverage on the paths that move money.
- Profile and tune services for high throughput and low latency (pprof, benchmarking) — transaction paths are latency-sensitive.
- Integrate with relational and NoSQL data stores (MySQL, DynamoDB, PostgreSQL); design schemas, access patterns, and migrations that hold up under load and evolve safely.
- Build and consume internal service APIs, including service-to-service authentication and shared platform libraries.
- Containerize services with multi-stage Docker builds and ship them through CI/CD pipelines to cloud infrastructure.
- Integrate with third-party payment processors and AWS services, handling sensitive data in line with PCI DSS and our security standards (secure coding, data masking, TLS, secrets management).
- Build reliability into money-movement flows: idempotency, retries, and reconciliation/settlement correctness.
- Participate in code review, design discussions, on-call rotation, and incident response for the services you own.
- Use AI-assisted development tools (e.g., GitHub Copilot, Claude Code, Cursor) effectively and responsibly as part of day-to-day work.
Requirements
- 3+ years of professional software engineering experience, with production Go experience among them (mid-level seniority).
- Bachelor's degree in computer science or a related field, or equivalent practical experience.
- Solid command of Go fundamentals: concurrency done right (goroutine lifecycle, channel discipline, context-driven cancellation), interfaces, error handling, modules, and the standard library.
- Experience building and consuming RESTful HTTP APIs, ideally with a Go web framework (we use Gin).
- Working proficiency with SQL databases (schema design, queries, transactions) — we use MySQL with sqlx.
- Comfort with Docker and CI/CD pipelines as part of a normal development workflow.
- Demonstrated experience using AI-assisted development tools (Copilot, Claude Code, Cursor, or similar) in real project work — and good judgment about when to trust, verify, and override their output.
- Strong testing discipline and the habit of writing maintainable, reviewable code.
- Clear written and verbal communication, a collaborative and ownership-driven mindset, and comfort working in an agile/iterative team onsite.
Preferred qualifications
- Payments / fintech background — payment gateways, card processing, tokenization, PCI DSS, fraud, or financial transaction systems (strongly preferred).
- Hands-on AWS experience, especially DynamoDB, S3, Secrets Manager, KMS, SSM Parameter Store, ECS, and ECR.
- Experience with microservices and distributed-systems patterns (service-to-service auth, sidecars, idempotency, retries, observability).
- Familiarity with NoSQL (DynamoDB) and/or PostgreSQL in addition to MySQL.
- Experience with secure handling of sensitive data: encryption (AES, KMS), JWT, secrets management, and secure-coding practices (OWASP, data masking, TLS).
- Payments-domain depth: settlement/reconciliation, idempotency, card-network/scheme familiarity, fraud, or financial transaction systems.
- Experience introducing observability (metrics, distributed tracing, structured logging) and/or CI quality tooling (static analysis, linting) to a growing platform.
- Database schema migration and API versioning experience.
- JavaScript / TypeScript / React — a plus. Our admin and merchant UIs are React 19 + TypeScript + Vite; full-stack contribution is welcome but not required.
- Experience working in or migrating from a legacy/monolith system toward a modern service architecture.
Our tech stack
What you’ll actually work with, based on our current codebase.
- Language: Go.
- Web framework: Gin (gin-gonic/gin); some legacy services on raw net/http. REST/JSON (not gRPC).
- Data: MySQL (go-sql-driver/mysql, jmoiron/sqlx), DynamoDB (AWS SDK v2), PostgreSQL (lib/pq); Redis and Memcached for caching.
- Cloud & deploy: AWS — ECS, ECR, DynamoDB, S3, Secrets Manager, KMS, ACM, SSM, SES, Cognito (AWS SDK for Go v2).
- Auth & crypto: internal SvcAuth service-to-service auth, JWT (golang-jwt/jwt), golang.org/x/crypto, AES encryption.
- Testing: Go's testing, stretchr/testify, DATA-DOG/go-sqlmock.
- Build & deploy: Multi-stage Docker (golang ? scratch), Makefiles, GitLab CI (Docker-in-Docker), images to private ECR.
- Frontend (a plus): React 19, TypeScript 5.6, Vite, MUI, Redux Toolkit, Formik, Jest + React Testing Library.