Senior Backend Engineer - Veo Play
Copenhagen, Capital Region of Denmark, Denmark
Oct 6, 2025
Computerprogrammering
Dette job er ikke blevet analyseret af vores AI-vurderingssystem. Klik på knappen nedenfor for at få en AI-drevet match score baseret på dine præferencer.
# Job Skill Enhancement System
## CORE INSTRUCTION:
You are an AI that extracts and identifies coding languages and frameworks from job descriptions. Your goal is to find ALL relevant technical skills mentioned in the job posting, even if they're mentioned in different ways or aliases.
## INPUT DATA:
{
"job": {"job_id":5098,"title":"Senior Backend Engineer - Veo Play","company_name":"Veo Technologies","description":"About the job\n\nVeo is a global leader in AI-based sports camera technology. Our innovative, fully automatic camera solution enables sports teams to record matches and training sessions without a camera operator. We’re democratizing the world of sports by granting video analysis for teams on all levels—a privilege that used to be only for the few. More than 40,000 clubs in 90+ countries record their games every week.\n\nBut what truly sets us apart? Our people. We’re a diverse group of innovative thinkers, creators, and problem-solvers who believe in delivering an incredible product—and having fun while doing it.\n\nThe Opportunity\n\nWe’re looking for a Senior Backend Engineer to join the Veo Play team - a product area dedicated to transforming how players and their families experience sports. From seamless video playback to memorable highlights and personalized content, we’re building the tools that connect athletes and parents in meaningful ways, both on and off the field.\n\nYou’ll help design and scale the systems that power these experiences, working at the intersection of performance, reliability, and emotional impact. Your work will help bring the joy of the game closer to home for families around the world.\n\nWhat You'll Do\n\n\nWork closely with product managers, designers, fellow engineers, and our world-class AI team to deliver innovative experiences that empower players, parents, and coaches alike\nTake ownership across the full product lifecycle - from idea to deployment to iteration - ensuring customer feedback meaningfully shapes the product at every stage\nContribute to architectural and technical decisions through design reviews, code reviews, and collaborative discussions that shape the future of Veo’s platform\nBuild and maintain robust, scalable, and secure backend systems that power seamless video playback, sharing, and engagement\nChampion engineering best practices in architecture, security, testing, and code quality to ensure long-term stability and maintainability\n\n\n\n\nWhat You Could Bring\n\n\n5+ years of experience building and maintaining production-grade backend systems\nExperience with Python or Node.js (Django experience is a plus)\nExperience designing scalable, cloud-based architectures and implementing automated infrastructure, deployment, and monitoring solutions\nDemonstrated ability to translate business needs into reliable, maintainable technical solutions\nDemonstrated ability to work collaboratively across diverse teams and communicate effectively with stakeholders of all backgrounds\nSkilled in testing methodologies (unit, integration) and implementing CI\/CD pipelines\nSolid understanding of API development, system integrations, and data workflows across distributed platforms, with a strong commitment to writing clean, maintainable code and adhering to engineering best practices\n\n\n\n\nOur Copenhagen office mirrors our innovative technology – with an indoor ball court, rooftop terrace, and well-equipped gym. We have created a facility that supports connecting disciplines across the business, facilitates creative thinking, and gives the space to engage with colleagues, our global partners, and the entire Veo community.\n\nValues we hold at Veo:\n\nDare - We take initiative, stay curious, and challenge the status quo in our work.\n\nOwn it - We drive impact by identifying opportunities, taking responsibility, and confidently executing.\n\nLevel up - We embrace growth, continuously learning and shaping our skills.\n\nPlay as a team - We collaborate across a diverse organization, leveraging shared insights for stronger outcomes.\n\nCustomer Centric - We deliver value by having close partnerships and a deep understanding of our customers (internally and externally)\n\nWe value diversity and inclusion and welcome applicants from all backgrounds, even if your experience doesn’t completely match every qualification listed. What matters most is your creativity, potential, and ability to contribute meaningfully.","brief_summary_of_job":null,"existing_skills_from_job":["On-site","Full-time","Back-End Web Development","Cameras","Business","Cloud Computing","HTML","JavaScript","Integrated Systems","Business Requirements","Writing","Python (Programming Language)","Python","Django","Node","CI\/CD"],"existing_skills_from_database":[]},
"coding_categories": {"languages":["Bash","C","C#","C++","CSS","Clojure","Dart","Elixir","Go","Groovy","Haskell","HTML","Java","JavaScript","Julia","Kotlin","Lua","MATLAB","Objective-C","Perl","PHP","PowerShell","Python","R","Ruby","Rust","Sass","Scala","Swift","TypeScript"],"frameworks":[".NET","Angular","Apache Spark","ASP.NET","Backbone.js","Bootstrap","CodeIgniter","Django","Ember.js","Express","FastAPI","Flask","Flutter","Hadoop","Ionic","jQuery","Laravel","Livewire","Meteor","NestJS","Next.js","Node.js","Nuxt.js","Phoenix","PHPUnit","PyTorch","React","React Native","Ruby on Rails","Spring Boot","Svelte","Symfony","Tailwind CSS","TensorFlow","Vue.js","Xamarin","Alpine.js","Filament","WordPress"],"databases":["MySQL","PostgreSQL","Redis","MongoDB","DynamoDB","MariaDB","NoSQL","Oracle","BigQuery","Elasticsearch","SQL","SQL Server","SQLite","Cassandra","CouchDB","Neo4j","InfluxDB","CockroachDB"],"tools":["Git","GitHub","GitLab","Bitbucket","Docker","Kubernetes","CI\/CD","Jenkins","Kafka","RabbitMQ","Amazon SQS","AMQP","PubSub","REST API","RESTful APIs","GraphQL","AWS","Azure","GCP","Terraform","Ansible","Puppet","Chef","Vagrant","Vault","Consul","Prometheus","Grafana","ELK Stack","Splunk"],"skills":["English","Danish","Communication","Full-stack development","Back-end development","Front-end development","Cloud computing","DevOps","Microsoft Excel","PowerBI","Power Platform","Agile","Scrum","Problem-solving","Team collaboration","Physical presence","Remote work","Hybrid work"],"colors":{"languages":"blue","frameworks":"purple","databases":"orange","tools":"indigo"}},
"skill_aliases": {"bash":"Bash","c":"C","c plus plus":"C++","C plus plus":"C++","c sharp":"C#","C sharp":"C#","c#":"C#","c++":"C++","clojure":"Clojure","cpp":"C++","dart":"Dart","elixir":"Elixir","go":"Go","golang":"Go","Golang":"Go","groovy":"Groovy","haskell":"Haskell","java":"Java","java script":"JavaScript","Java script":"JavaScript","javascript":"JavaScript","Javascript":"JavaScript","js":"JavaScript","JS":"JavaScript","es5":"JavaScript","ES5":"JavaScript","es6":"JavaScript","ES6":"JavaScript","julia":"Julia","kotlin":"Kotlin","lua":"Lua","matlab":"MATLAB","Matlab":"MATLAB","objective c":"Objective-C","Objective C":"Objective-C","objective-c":"Objective-C","objc":"Objective-C","ObjC":"Objective-C","obj-c":"Objective-C","Obj-C":"Objective-C","perl":"Perl","php":"PHP","Php":"PHP","powershell":"PowerShell","Power Shell":"PowerShell","python":"Python","py":"Python","Py":"Python","phyton":"Python","r":"R","ruby":"Ruby","rust":"Rust","scala":"Scala","swift":"Swift","typescript":"TypeScript","Typescript":"TypeScript","ts":"TypeScript","TS":"TypeScript","mysql":"MySQL","postgresql":"PostgreSQL","postgres":"PostgreSQL","mongodb":"MongoDB","mongo":"MongoDB","redis":"Redis","sqlite":"SQLite","oracle":"Oracle","mssql":"SQL Server","sql server":"SQL Server","dynamodb":"DynamoDB","dynamo db":"DynamoDB","mariadb":"MariaDB","maria db":"MariaDB","nosql":"NoSQL","no sql":"NoSQL","bigquery":"BigQuery","big query":"BigQuery","elasticsearch":"Elasticsearch","elastic search":"Elasticsearch","cassandra":"Cassandra","couchdb":"CouchDB","couch db":"CouchDB","neo4j":"Neo4j","neo 4j":"Neo4j","influxdb":"InfluxDB","influx db":"InfluxDB","cockroachdb":"CockroachDB","cockroach db":"CockroachDB","aws":"AWS","amazon web services":"AWS","azure":"Azure","microsoft azure":"Azure","gcp":"GCP","google cloud platform":"GCP","google cloud":"GCP",".Net":".NET","angular":"Angular","angular js":"Angular","Angular js":"Angular","angularjs":"Angular","AngularJS":"Angular","apache spark":"Apache Spark","asp net":".NET","ASP net":".NET","asp.net":"ASP.NET","ASP.NET":".NET","asp.net core":".NET","ASP.NET Core":".NET","backbone":"Backbone.js","BackboneJS":"Backbone.js","backbone js":"Backbone.js","backbonejs":"Backbone.js","bootstrap":"Bootstrap","Bootstrap framework":"Bootstrap","twitter bootstrap":"Bootstrap","Twitter Bootstrap":"Bootstrap","code igniter":"CodeIgniter","codeigniter":"CodeIgniter","django":"Django","ember":"Ember.js","ember js":"Ember.js","emberjs":"Ember.js","EmberJS":"Ember.js","express":"Express","express.js":"Express","Express.js":"Express","expressjs":"Express","ExpressJS":"Express","fast api":"FastAPI","Fast api":"FastAPI","fastapi":"FastAPI","flask":"Flask","flutter":"Flutter","hadoop":"Hadoop","Hadoop":"Hadoop","ionic":"Ionic","Ionic framework":"Ionic","ionic framework":"Ionic","jquery":"jQuery","JQuery":"jQuery","JQUERY":"jQuery","laravel":"Laravel","meteor":"Meteor","meteor js":"Meteor","meteorjs":"Meteor","MeteorJS":"Meteor","nestjs":"NestJS","nest js":"NestJS","Nest JS":"NestJS","Nestjs":"NestJS","next js":"Next.js","Next js":"Next.js","next.js":"Next.js","nextjs":"Next.js","NextJS":"Next.js","node":"Node.js","Node":"Node.js","node.js":"Node.js","nodejs":"Node.js","NodeJS":"Node.js","nuxt js":"Nuxt.js","Nuxt js":"Nuxt.js","nuxt.js":"Nuxt.js","nuxtjs":"Nuxt.js","NuxtJS":"Nuxt.js","phoenix":"Phoenix","Phoenix framework":"Phoenix","pytorch":"PyTorch","Pytorch":"PyTorch","torch":"PyTorch","Torch":"PyTorch","react":"React","react.js":"React","React.js":"React","reactjs":"React","ReactJS":"React","react native":"React Native","ReactNative":"React Native","reactnative":"React Native","rn":"React Native","RN":"React Native","rails":"Ruby on Rails","Rails":"Ruby on Rails","ror":"Ruby on Rails","ROR":"Ruby on Rails","ruby on rails":"Ruby on Rails","Ruby On Rails":"Ruby on Rails","spark":"Apache Spark","Spark":"Apache Spark","spring":"Spring Boot","Spring":"Spring Boot","spring boot":"Spring Boot","Spring Boot":"Spring Boot","spring framework":"Spring Boot","Spring Framework":"Spring Boot","SpringBoot":"Spring Boot","springboot":"Spring Boot","svelte":"Svelte","symfony":"Symfony","tailwind":"Tailwind CSS","Tailwind":"Tailwind CSS","tailwind css":"Tailwind CSS","Tailwind Css":"Tailwind CSS","tailwindcss":"Tailwind CSS","TailwindCSS":"Tailwind CSS","tensorflow":"TensorFlow","Tensorflow":"TensorFlow","tensor flow":"TensorFlow","Vue":"Vue.js","vue":"Vue.js","vue js":"Vue.js","vue.js":"Vue.js","vuejs":"Vue.js","VueJS":"Vue.js","xamarin":"Xamarin","Xamarin Forms":"Xamarin","Xamarin.forms":"Xamarin","livewire":"Livewire","phpunit":"PHPUnit","alpine":"Alpine.js","alpine js":"Alpine.js","alpinejs":"Alpine.js","filament":"Filament","docker":"Docker","kubernetes":"Kubernetes","k8s":"Kubernetes","github":"GitHub","gitlab":"GitLab","bitbucket":"Bitbucket","terraform":"Terraform","puppet":"Puppet","chef":"Chef","git":"Git","jenkins":"Jenkins","kafka":"Kafka","rabbitmq":"RabbitMQ","amazon sqs":"Amazon SQS","amqp":"AMQP","pubsub":"PubSub","rest api":"REST API","restful api":"RESTful APIs","restful apis":"RESTful APIs","graphql":"GraphQL","ansible":"Ansible","vagrant":"Vagrant","vault":"Vault","consul":"Consul","prometheus":"Prometheus","grafana":"Grafana","elk stack":"ELK Stack","splunk":"Splunk","scrum":"Scrum","agile":"Agile","kanban":"Kanban","devops":"DevOps","ci\/cd":"CI\/CD","tdd":"TDD","bdd":"BDD","linux":"Linux","windows":"Windows","macos":"macOS","ubuntu":"Ubuntu","centos":"CentOS","debian":"Debian","junit":"JUnit","pytest":"PyTest","jest":"Jest","mocha":"Mocha","cypress":"Cypress","selenium":"Selenium","html":"HTML","HTML":"HTML","html5":"HTML","HTML5":"HTML","css":"CSS","CSS":"CSS","css3":"CSS","CSS3":"CSS","sass":"Sass","scss":"Sass","SCSS":"Sass","less":"Less","LESS":"Less","webpack":"Webpack","gulp":"Gulp","npm":"npm","yarn":"Yarn","sql":"SQL","full time":"Fuldtid","full-time":"Fuldtid","fuldtid":"Fuldtid","part time":"Deltid","part-time":"Deltid","deltid":"Deltid","contract":"Kontrakt","kontrakt":"Kontrakt","remote":"Fjernarbejde","fjernarbejde":"Fjernarbejde","hybrid":"Hybridarbejde","hybridarbejde":"Hybridarbejde","on-site":"Fysisk tilstedeværelse","onsite":"Fysisk tilstedeværelse","fysisk tilstedeværelse":"Fysisk tilstedeværelse"}
}
## TASK:
1. **Extract ALL coding languages and frameworks** mentioned in the job description
2. **Use the skill_aliases mapping** to normalize skill names (e.g., "JS" → "JavaScript", "React.js" → "React")
3. **Only include skills from the coding_categories** (languages and frameworks)
4. **Avoid duplicates** - if "JavaScript" and "JS" are both mentioned, only include "JavaScript"
5. **Be thorough** - look for skills mentioned in:
- Job title
- Job description
- Brief summary
- Requirements sections
- Nice-to-have sections
## SKILL CATEGORIES TO EXTRACT:
- **Languages**: Programming languages (PHP, Python, JavaScript, Java, C#, Go, Rust, etc.)
- **Frameworks**: Web frameworks and libraries (Laravel, React, Vue.js, Angular, Django, Spring Boot, etc.)
- **Databases**: Database systems and data stores (MySQL, PostgreSQL, Redis, MongoDB, DynamoDB, etc.)
- **Tools**: Development tools and infrastructure (Git, Docker, AWS, CI/CD, Jenkins, Kafka, etc.)
## EXCLUSION RULES:
- Do NOT extract general skills (communication, languages like English, etc.)
- Do NOT extract business skills (Excel, PowerBI for non-technical roles)
- Do NOT extract work arrangements (remote, physical presence)
- Do NOT include methodologies (Agile, Scrum, etc.) unless specifically technical
- Do NOT include skills already in existing_skills_from_database
## OUTPUT FORMAT:
Return ONLY valid JSON in this exact structure:
{
"job_id": <integer>,
"extracted_skills": [
{
"skill_name": "<normalized_skill_name>",
"category": "<languages|frameworks|databases|tools>",
"confidence": <integer 0-100>,
"mentioned_as": ["<original_mention_1>", "<original_mention_2>"],
"context": "<brief_context_where_found>"
}
],
"reasoning": {
"total_skills_found": <integer>,
"skills_by_category": {
"languages": ["<skill1>", "<skill2>"],
"frameworks": ["<skill1>", "<skill2>"],
"databases": ["<skill1>", "<skill2>"],
"tools": ["<skill1>", "<skill2>"]
},
"duplicates_removed": ["<original_mention> → <normalized_name>"],
"excluded_skills": ["<skill>", "<reason>"]
},
"confidence": <integer 0-100>
}
Return nothing outside the JSON object.
{
"job_id": 5098,
"extracted_skills": [
{
"skill_name": "Python",
"category": "languages",
"confidence": 100,
"mentioned_as": ["Python", "python"],
"context": "Experience with Python or Node.js (Django experience is a plus)"
},
{
"skill_name": "Node.js",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Node", "Node.js", "node.js"],
"context": "Experience with Python or Node.js (Django experience is a plus)"
},
{
"skill_name": "Django",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Django"],
"context": "Experience with Python or Node.js (Django experience is a plus)"
},
{
"skill_name": "CI/CD",
"category": "tools",
"confidence": 100,
"mentioned_as": ["CI/CD", "ci/cd"],
"context": "Skilled in testing methodologies (unit, integration) and implementing CI/CD pipelines"
}
],
"reasoning": {
"total_skills_found": 4,
"skills_by_category": {
"languages": ["Python"],
"frameworks": ["Node.js", "Django"],
"databases": [],
"tools": ["CI/CD"]
},
"duplicates_removed": [],
"excluded_skills": []
},
"confidence": 100
}
Brug avanceret AI (GPT-4o) til at generere en personaliseret ansøgning på dansk til denne jobansøgning. Brevet vil være skræddersyet til din profil, de specifikke jobkrav og omfattende virksomhedsinformation for maksimal effekt.
About the job
Veo is a global leader in AI-based sports camera technology. Our innovative, fully automatic camera solution enables sports teams to record matches and training sessions without a camera operator. We’re democratizing the world of sports by granting video analysis for teams on all levels—a privilege that used to be only for the few. More than 40,000 clubs in 90+ countries record their games every week.
But what truly sets us apart? Our people. We’re a diverse group of innovative thinkers, creators, and problem-solvers who believe in delivering an incredible product—and having fun while doing it.
The Opportunity
We’re looking for a Senior Backend Engineer to join the Veo Play team - a product area dedicated to transforming how players and their families experience sports. From seamless video playback to memorable highlights and personalized content, we’re building the tools that connect athletes and parents in meaningful ways, both on and off the field.
You’ll help design and scale the systems that power these experiences, working at the intersection of performance, reliability, and emotional impact. Your work will help bring the joy of the game closer to home for families around the world.
What You'll Do
Work closely with product managers, designers, fellow engineers, and our world-class AI team to deliver innovative experiences that empower players, parents, and coaches alike
Take ownership across the full product lifecycle - from idea to deployment to iteration - ensuring customer feedback meaningfully shapes the product at every stage
Contribute to architectural and technical decisions through design reviews, code reviews, and collaborative discussions that shape the future of Veo’s platform
Build and maintain robust, scalable, and secure backend systems that power seamless video playback, sharing, and engagement
Champion engineering best practices in architecture, security, testing, and code quality to ensure long-term stability and maintainability
What You Could Bring
5+ years of experience building and maintaining production-grade backend systems
Experience with Python or Node.js (Django experience is a plus)
Experience designing scalable, cloud-based architectures and implementing automated infrastructure, deployment, and monitoring solutions
Demonstrated ability to translate business needs into reliable, maintainable technical solutions
Demonstrated ability to work collaboratively across diverse teams and communicate effectively with stakeholders of all backgrounds
Skilled in testing methodologies (unit, integration) and implementing CI/CD pipelines
Solid understanding of API development, system integrations, and data workflows across distributed platforms, with a strong commitment to writing clean, maintainable code and adhering to engineering best practices
Our Copenhagen office mirrors our innovative technology – with an indoor ball court, rooftop terrace, and well-equipped gym. We have created a facility that supports connecting disciplines across the business, facilitates creative thinking, and gives the space to engage with colleagues, our global partners, and the entire Veo community.
Values we hold at Veo:
Dare - We take initiative, stay curious, and challenge the status quo in our work.
Own it - We drive impact by identifying opportunities, taking responsibility, and confidently executing.
Level up - We embrace growth, continuously learning and shaping our skills.
Play as a team - We collaborate across a diverse organization, leveraging shared insights for stronger outcomes.
Customer Centric - We deliver value by having close partnerships and a deep understanding of our customers (internally and externally)
We value diversity and inclusion and welcome applicants from all backgrounds, even if your experience doesn’t completely match every qualification listed. What matters most is your creativity, potential, and ability to contribute meaningfully.