About this role
Full Stack Developer — Warsaw
Location: Warsaw (on-site) · Team: Product Engineering · Reports to: Head of Technology · Contract: permanent employment contract, full-time
About EC Markets and the role
EC Markets is an FCA-regulated FX and CFD brokerage. Our engineering team builds and runs our investing and trading app: a React Native / Expo app on iOS, Android and web, backed by a Java Spring Boot API on AWS that connects trading, custody, identity verification, payments and market-data platforms.
We are looking for a Full Stack Developer to build features end to end across our mobile app and core API. You will take work from refinement to production in short sprints, integrate with the trading, custody and payments platforms our clients rely on, and help keep a fast-moving, regulated product reliable on every device our clients use.
What you will be doing
Product delivery
- Build features end to end: React Native / Expo screens on iOS, Android and web, the Spring Boot API endpoints behind them, and the integrations they depend on.
- Take work from refinement through code review and testing to production release.
- Take part in Scrum ceremonies: refinement, estimation, planning, review and retrospective.
Integrations
- Integrate with third-party platforms for trading, custody, identity verification, payments, notifications and market data.
- Handle failure properly: retries, idempotency, webhook verification and clear error states in the app.
Quality, performance & operations
- Write unit and integration tests, and support QA with mobile UI and API automation.
- Keep the app fast on older and lower-end devices and correct on every screen size.
- Investigate and fix production issues using our monitoring and error-tracking tools, and take part in the engineering support rota.
- Build securely: authentication, secrets handling and data privacy aligned with FCA and GDPR requirements.
Ways of working
- Use AI coding tools to move faster, and own every AI-assisted change: review it, test it and be able to explain it in your pull request.
What you will bring (non-negotiable)
- At least 4 years of professional software engineering experience, working across front end and back end.
- Production experience with React Native and TypeScript; Expo is a plus.
- Production back-end experience in Java with Spring Boot (REST APIs, Maven).
- Solid SQL and relational database experience (PostgreSQL preferred).
- Experience integrating third-party REST APIs and webhooks in production.
- Git-based workflow with pull-request reviews and CI/CD.
- Experience releasing mobile apps through the App Store and Google Play.
- Confident, practical use of AI-assisted development tools, with sound judgement over their output.
- Professional English for daily work with colleagues across the Group.
Nice to have
- Financial services, trading, brokerage or fintech experience, ideally in a regulated environment.
- AWS (containers, managed databases, serverless, infrastructure as code).
- Real-time data (WebSockets), charting and caching.
- js.
- Test automation tools such as Maestro, Detox or REST Assured.
Qualifications
- Degree in Computer Science, Software Engineering or a related field, or equivalent professional experience.
- 4–7 years of hands-on software engineering experience.
Compensation & benefits
- Base salary: 168,600 PLN – 252,600 PLN gross per year (14,050 PLN – 21,050 PLN gross per month), before employee tax and social-security contributions.
- Annual bonus: eligible for the Group bonus scheme
- Pension & social security: employer contributions in line with statutory requirements.
- Health: supplementary health insurance.
- Annual leave: 20 or 26 working days depending on length of service, plus public holidays.
- Equipment & learning: company-provided hardware; annual learning and certification budget (incl. cloud and mobile development).
- Travel: occasional travel to other Group offices, paid for by the company.
Where a candidate sits within the band is determined by assessed experience against the role criteria, depth in the required stack (React Native, TypeScript, Java / Spring Boot) and relevant financial-services exposure. The same criteria apply to any later pay progression.
How we hire
Our recruitment process is aligned with Directive (EU) 2023/970 on pay transparency and equal pay:
- Transparent pay from the start. The salary band, bonus and benefits above apply from the first conversation. We will not offer below the published band on the basis of a candidate’s current or previous pay.
- No salary-history questions. We will not ask about your current or previous salary at any stage, and our application form does not collect it.
- Gender-neutral process. The job title and this description are gender-neutral, and we welcome applications from candidates of all genders and backgrounds. Interview panels are balanced wherever practicable.
- Objective, written criteria. Shortlisting, interview scoring and the final offer within the band are made against pre-defined, written criteria, scored independently by each interviewer. The same criteria apply to later pay progression and are available on request.
- Your rights once hired. You may discuss your own pay to exercise your right to equal pay, and you may request, in writing, information on your individual pay level and on average pay levels by sex for workers doing the same work or work of equal value, in line with applicable law.
Process at a glance: CV screen → Talent Acquisition conversation (30 min, incl. salary band) → first technical interview with two engineers (60 min) → second round: a practical exercise on a realistic task, including AI-assisted coding (2 hours) → offer. Typical end-to-end timeline: 3–4 weeks. Reasonable adjustments are available at any stage; just let us know.
Equal opportunities and how to apply
EC Markets is an equal-opportunities employer. We make hiring decisions on the basis of skills, experience and demonstrated potential, and do not discriminate on the grounds of sex, gender identity, age, ethnicity, nationality, religion or belief, sexual orientation, disability, marital or civil-partnership status, pregnancy or parental status, or trade-union membership.
Please do not include your current or previous salary: we will not use it in our decision and are not permitted to ask for it. Any personal data you share will be processed in accordance with our Candidate Privacy Notice and the GDPR.
Questions about the role, the salary band or reasonable adjustments are welcome at any stage; just ask the Talent Acquisition team.