Software Engineer, Go (Mid-Level) - Payments Platform
Valsoft Corporation
Prepare for this role
Job Type
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.
This job is found at InterviewStack.io