Software Engineer
Role details
Job location
Tech stack
Job description
We are looking for a talented Software Engineer to join our Product, Design, and Engineering organization and help shape the future of spend management.
You'll be part of the Travel & Expenses squad, a ~12-person team building two complementary product lines: Spendesk Travel (our corporate travel booking platform, currently scaling from Beta to GA) and our Expense management product (mileage, per diem, expense claims). Travel is a strategic company bet - you'd be joining at a pivotal moment, with real greenfield architecture decisions ahead alongside pragmatic feature delivery on a mature platform.
As a Software Engineer, you will take ownership of both functional and technical topics. You will have the opportunity to work across the entire feature lifecycle, including specification, technical design, development, testing, documentation, and maintenance.
Our stack
- TypeScript / Node.js for backend services and banking applications
- Fastify and Prisma on our backend microservice
- PostgreSQL for data storage; Kafka, Redis, and SQS for event-driven patterns and queues
- React on the frontend; Swift (iOS) and Kotlin (Android) on mobile
- Terraform, Kubernetes, Lambdas, and Step Functions to run our infrastructure
- AWS as our cloud provider; Datadog, Sentry, and Prometheus for observability
- GitHub Actions for CI, * Build and own backend features across a modern TypeScript microservice (hexagonal architecture, event-driven patterns) and our core expense platform
- Design and implement reliable, observable systems with a production-first mindset (testing, monitoring, incident response)
- Collaborate with PM, EM, Tech Lead, and mobile/frontend engineers to ship features across Web, iOS, and Android
- Contribute to greenfield architecture decisions on the Travel platform (event sourcing, async patterns, third-party integrations)
- Navigate and incrementally improve a legacy monolith on the Expenses side with pragmatism
- Participate in the team's on-call rotation and contribute to operational excellence
- Mentor fellow engineers and contribute to the team's technical culture
Requirements
- Fluency in written and spoken English (our business language)
- 5+ years of experience in software development (+2 years for Senior Engineer positions)
- Strong backend generalist, comfortable with TypeScript / Node.js (or equivalent, with willingness to ramp up)
- Experience or solid interest in event-driven architecture (Kafka, async patterns, message queues)
- Ability to pragmatically navigate both microservices and monoliths
- Production-minded: you care about testing, observability, and reliability
- Ability to translate business and product concepts into technical solutions
- Enthusiasm for working in a fast-paced environment, with a focus on continuous growth and craft mastery
- Strong customer-centric mindset and alignment with Spendesk's core values
- Bonus: experience with payment systems, booking APIs, or travel tech As we are an international team, please submit your application and CV in English.