Job Description:
A fintech SaaS company already offers country-specific e-invoicing for Spain, Romania, Hungary and Italy. We are now adding Polands KSeF.
You will join a compact senior team (Architect / PM, two back-end developers, QA and DevOps) to build a new Spring Boot microservice that:
- Converts outbound UBL 2.1 invoices to Polands FA(3) XML, digitally signs them and submits to KSeF.
- Polls KSeF for processing status and retrieves UPO receipts.
- Fetches inbound invoices from KSeF and publishes them on Kafka.
- Persists state in MongoDB, exposes health / metrics and ships logs to our central stack.
- Achieves 75 % unit + integration test coverage, with GitLab CI pipelines that build Docker images and deploy on Kubernetes in AWS.
CORE RESPONSIBILITIES
- Microservice development: design and code REST / Kafka handlers, domain models and service layer in Java 17 with Spring Boot 3.
- Invoice mapping: implement XML generation and validation (JAXB, XSD, XSLT) transforming UBL 2.1 to FA(3) KSeF schema; handle large and edge-case payloads.
- Security & signing: apply XAdES XML signatures with qualified certificates; enforce TLS and Vault secret storage.
- Integration with KSeF: call Send / Status / UPO endpoints; handle async polling, retries, error parsing and back-pressure.
- Database & caching: model invoice state in MongoDB; create efficient queries and indexes; design idempotent retry logic.
- Testing & quality: write JUnit and Testcontainers tests plus consumer-driven contract tests for Kafka topics; keep coverage 75 %; perform PR and pair reviews.
- DevOps collaboration: package deliverables as Docker images and troubleshoot deployments with the DevOps engineer.
- Ways of working: trunk-based development in two- to three-week Kanban-style cycles; estimate tasks, open atomic PRs, demo progress and document APIs / code.
ESSENTIAL SKILLS & EXPERIENCE
- 5 + years professional Java (11 +, ideally 17) and Spring Boot microservices.
- Solid MongoDB design (collections, indexes, aggregation) and Spring Data Mongo.
- Strong Kafka producer / consumer patterns; schema-first (Avro or JSON-Schema) a plus.
- Hands-on XML processing (JAXB/JAXP, XSD, XSLT, XPath); able to debug namespace issues.
- Familiar with digital signatures (XML DSig / XAdES) and secure key handling.
- Working knowledge of Docker, Kubernetes and GitLab CI.
- Unit and integration testing mindset; Testcontainers or WireMock.
- Comfortable with GitLab workflows and rigorous code review.
- Excellent spoken and written English; able to explain trade-offs and mentor peers.
NICE TO HAVES
- Prior e-invoicing or KSeF / Peppol / SDI experience.
- AWS (EKS, S3, Secrets Manager, CloudWatch) or Terraform.
- Kafka Streams or reactive programming.
- Experience delivering in lean, distributed teams.
WHAT SUCCESS LOOKS LIKE
- Mid-August 2025: Proof of concept an invoice enters via Kafka, is converted and accepted by KSeFs sandbox; UPO stored.
- Mid-September 2025: Correction and inbound-invoice flows pass integration tests; coverage 75 %, no critical QA issues.
- Go-live (610 October 2025): Production invoices flow without manual intervention; first-week defect rate < 4 %, no critical operational issues.
HOW TO APPLY
Send your CV, relevant GitHub links and a short note about your fintech or e-invoicing experience if any. You must be able to start 14 July 2025, invoice via your own company (B2B) and reside in a European time zone. Our process is quick: architect interview / discussion offer.
careers (at) xware-engineering.com or https://www.careers-page.com/xware/job/QYW9X7XV