1,960,524open jobs
115,641companies
244,248added this week
Browse all
Salary
≈ $44k – $113k per year (Estimated)
Location
Hybrid (Tres Cantos, Spain)

Confirmed on the employer's own hiring board on Oct 24, 2026. First seen by Alion on Oct 28, 2025. GMV Transit - Simplifying the world of transit. scores B on the Alion truth index.

Overview
Company
Impact
Profile match
GMV North America A track record you can ride with. GMV is an American company with a proven history of modernizing transit agencies, from Los Angeles to Houston to the greater New York area and beyond.

Employment Opportunities .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .wm-ab-launcher-spinner { height: 100%; left: 0; position: absolute; top: 0; width: 100%; } .wm-ab-launcher-spinner::before { animation: wm-ab-spin 1.5s linear infinite; border: 2px solid #f3f3f3; border-radius: 50%; border-top: 2px solid transparent; content: ''; height: 18px; left: calc(50% - 9px); position: absolute; top: calc(50% - 9px); width: 18px; } @keyframes wm-ab-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } If you like technology, innovative and different projects, your place is here! If you don't know us yet, we are an engineering company that works in different areas, such as space, robotics, cyber security, artificial intelligence or big data among many other international projects. Join our team full of talent and creativity where you will: ... ...

DO YOU WANT TO BE PART OF OUR TEAM? If you want this position to be yours, we would like you to have the following knowledge/experience: ... ... WHAT DO WE OFFER?

Join our team and culture GMV by entering into technological and innovative projects within multicultural and multidisciplinary teams. Professional career development and training plan. You will be able to acquire or perfect knowledge in the technologies we use as well as in skills.

We also offer a language learning program. We are flexible! We have flexible hours and intensive working hours during the summer months.

In addition, you can work from home to improve your work-life balance. We care about your well-being. You will have private health insurance with dental and accident insurance.

You will be able to make part of your salary more flexible through our flexible salary plan where you will have several options such as restaurant tickets, childcare tickets, medical insurance for a family member.… Join our team activities, events and sports competitions. In addition, we offer Gympass to keep you active. No dress code!

Be confortable at work Are you coming from another country? We offer you a relocation package. You will find fruit and coffee at your disposal in our dining rooms for those moments of relaxation.

WHAT ARE YOU WAITING FOR?

Free account
Stop reading job ads. Get the ones that fit.
One free account turns this page into a shortlist built around your stack, your level and your pay.
Match on every job. Stack, seniority, pay and location, scored against your profile.
1,960,524 open roles. Read straight off company career pages, refreshed every day.
Unlimited applications. Every one you send is tracked in one place, on-site or on a company board.
3 tailored CVs a month. Rewritten for the exact job you are applying to. Included free.
Create a free account Continue with Google
Free forever. No card. Under a minute.

Recommended for you based on this role

Backend
Similar stack
Same company
Tres Cantos
≈ $33k – $85k per year (Estimated) • Hybrid • Madrid
C#
C#
.NET
Apply
≈ $54k – $111k per year (Estimated) • Remote (Spain) • Full-Time • 5+ years exp • Madrid
JavaScript
Java
Java
Spring Boot
Spring MVC
Frontend
JQuery
DevOps
Rest API
OpenShift
Apply
≈ $36k – $89k per year (Estimated) • Remote (Spain) • Full-Time • 3+ years exp • Madrid
JavaScript
Java
TypeScript
Java
Spring Boot
Frontend
Angular
DevOps
OpenShift
Docker
Apply
≈ $42k – $108k per year (Estimated) • Remote (Spain) • Full-Time • Madrid
JavaScript
Java
Kotlin
Java
Spring Boot
Kotlin
Mockito
Mobile
JUnit
DevOps
Rest API
Apply
≈ $45k – $116k per year (Estimated) • Remote (Spain) • Full-Time • Madrid
Java
Databases
Apache Kafka
DevOps
Rest API
API Gateway
Apply
SW Technical Lead 1 day ago
≈ $60k – $140k per year (Estimated) • Hybrid • Tres Cantos
Python
Java
C++
Apply
≈ $53k – $114k per year (Estimated) • Hybrid • Tres Cantos
Apply
≈ $43k – $111k per year (Estimated) • Hybrid • Tres Cantos
Java
C#
C++
C#
.NET
Management
Agile
Apply
≈ $45k – $116k per year (Estimated) • Hybrid • Tres Cantos
Python
Java
C++
Apply
Hybrid • Tres Cantos
Java
C#
C++
C#
.NET
Management
Agile
Apply
See all jobs
This is one of many
1,960,524 more open roles from verified company boards, updated every day.