1,945,045open jobs
114,074companies
244,759added this week
Browse all
Salary
≈ $53k – $114k per year (Estimated)
Location
Hybrid (Tres Cantos, Spain)
Seniority
Senior

Confirmed on the employer's own hiring board on Oct 23, 2026. First seen by Alion on Mar 2, 2026. 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); } } .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); } } We lead missions to outer planets, observe the Earth from space, bring technology to Mars, integrate aerospace technology into people's daily lives... We dreamed about touching the stars, and we did it! If you don't know us yet, we are an engineering and technological innovation company working on several areas, including the space sector, where we lead missions and projects in flight segment activities, satellite navigation, ground segment, data processing or space robotics among many others.

You will be part of our team, full of talent and desire to innovate, 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: Software design and development Algorithm development Fluent in English (C1 or higher) ...

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 comfortable 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,945,045 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
≈ $41k – $107k per year (Estimated) • In office • Full-Time • Barcelona
Java
Kotlin
Java
Spring Boot
Kotlin
Mockito
Mobile
JUnit
DevOps
Jenkins
Git
AWS
Docker
Apply
≈ $43k – $111k per year (Estimated) • Hybrid • Full-Time • Madrid
SQL
C#
C#
ASP.NET Core
DevOps
GitHub
Windows
SOAP
MedTech
CAPA
Apply
≈ $156k – $290k per year (Estimated) • In office • 5+ years exp • Cary
AI/ML
Fine-tuning
Apply
≈ $20k – $50k per year (Estimated) • In office • Pune
Management
Agile
Apply
In office • 8+ years exp • Beijing
JavaScript
TypeScript
C#
C#
ASP.NET Core
Frontend
Angular
React.js
DevOps
Rest API
Azure
CI/CD
AWS
Management
Agile
Scrum
Apply
$12k per year • In office • Full-Time • Bachelor's Degree • Tres Cantos
DevOps
GCP
Life Sciences
PCR
Good Clinical Practice
Apply
≈ $34k – $65k per year (Estimated) • In office • 2+ years exp • Tres Cantos
Apply
Hybrid • 2+ years exp • Tres Cantos
Analytics
Microsoft Excel
Design
AutoCAD
Apply
≈ $45k – $109k per year (Estimated) • Remote (Spain) • Contractor • 4+ years exp • Bachelor's Degree • Madrid • Tres Cantos
Apply
$69k – $115k per year (gross) • In office • Full-Time • 6+ years exp • Bachelor's Degree • Tres Cantos
Life Sciences
GLP
Apply
See all jobs
This is one of many
1,945,045 more open roles from verified company boards, updated every day.