Senior Java Developer in Payment Execution Team
Copenhagen, Capital Region of Denmark, Denmark
Sep 23, 2025
Andre pengeinstitutters aktiviteter
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":4053,"title":"Senior Java Developer in Payment Execution Team","company_name":"Danske Bank","description":"About the job\n\nJob Description\n\nThe Core Payments Platform manages the accurate and prompt processing of payments. It also communicates with clearing and settlement mechanisms within our core markets. We are currently in the active development phase of our next-generation payment systems and are seeking new team members for the Payment Execution Squad.\n\nWe play an essential role in building new payment solutions for Danske Bank because we are responsible for the flow of payment processing. As a team we are very collaborative, and we’re always looking to improve our ways of working. We try to provide each other with constructive feedback and try our best to help our colleagues grow.\n\n\nWork with an interesting and modern tech stack\nLeverage your expertise to gain performance\nPut your work into action quickly and iterate\n\n\nDanske Bank supports a high degree of workplace flexibility (our team is currently using a hybrid working model, where we work at least 3 days a week in the office).\n\nPlease apply as soon as possible, as we conduct interviews on an ongoing basis.\n\nThis role does not include a relocation allowance.\n\n“We believe that the most valuable asset is human potential.”\n\nYou will:\n\n\nImplement, evolve, and maintain applications that communicate and process clearing and settlement mechanism messages\nParticipate in the entire cycle of software engineering, be heard in architecture, take ownership of simple to medium complexity solution designs, write code, review, and have your code reviewed, perform maintenance\nCollaborate closely with teammates of all levels of seniority and a large group of Java software engineers\nWork on critical financial systems, ensuring robustness and ease of maintenance\nTake ownership of the service and be responsible for part of a system when things don’t go right\nWork with different tools and technologies: Microservice architecture, Java 21, Maven, Spring Boot 3, JUnit 5, Mockito, AssertJ, Apache Kafka (Kafka, Kafka Streams, Kafka Connect), Protocol Buffers, Elasticsearch, Github Actions, Argo CD, Docker, Kubernetes, Helm, Kibana, Grafana, Prometheus, Git (Github)\n\n\nAbout you:\n\n\nPrevious experience in a similar position\nStrong foundation in Java (Core) and libraries\/frameworks in the Java ecosystem\nHave previous experience with messaging-based applications (e.g. Apache Kafka, RabbitMQ etc.) and NoSQL databases (Elastic Search, MongoDB or similar)\nCollaborative and team-oriented personality\nWillingness to learn about complex systems related to payment processing at scale\nAdvanced English language skills\n\n\nWe offer:\n\nThis position can be located both in Lithuania and Denmark.\n\nIf you are hired in Lithuania, the applicable salary range will be from 4560 EUR to 6840 EUR gross (based on your skills relevant for the job).\n\nAdditionally, each Danske Bank employee receives employee benefits package which includes:\n\n\nGrowth opportunities: professional & supportive team, e-learnings, numerous development programs; (incl. professional certificates); 100+ professions for internal mobility opportunities.\nHealth & Well-being: a diverse, inclusive, work & life balance work environment; additional health insurance; mental well-being practices; partial psychologist counselling compensation; silence and sleep zones at the office; game rooms.\nHybrid working conditions: Work from home up to two days a week; home office budget (after the probation period); modern Danske Campus workplace developed with anthropologist for the best employee experience.\nAdditional days of leave: for rest, health, volunteering, exams in higher education institutions, and other important activities. Moreover, for seniority with Danske Bank.\nMonetary compensation package: accidents & critical diseases insurance; financial support in case of unfortunate events, travel insurance; IIIrd Pillar Pension Fund contribution.\n\n\nSee all the benefits HERE .\n\nYour title in job contract will be IT Software Engineer (Cloud Specialist), Senior.\n\nIf you're interested in this role and joining my team, feel free to contact me via LinkedIn , and I will answer your questions! -Juan Hernandez, Engineering Manager | Technical owner | AWS Enthusiast.\n\nAbout Us\n\nDanske Bank is a Nordic bank with bridges to the world around us. For 150 years, we have supported people and businesses in releasing their potential. A career with us is an opportunity to join a community of 22,000 colleagues in a culture where we are committed to Teaming Up, Owning It and Being Open. Together, we are on a journey to transform Danske Bank into a better bank. For our customers, our employees and the societies around us.","brief_summary_of_job":null,"existing_skills_from_job":["SQL","Spring Boot","MongoDB","NoSQL","Elasticsearch","Git","GitHub","Kubernetes","Kafka","RabbitMQ","AWS","Prometheus","Grafana"],"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": 4053,
"extracted_skills": [
{
"skill_name": "Java",
"category": "languages",
"confidence": 100,
"mentioned_as": ["Java"],
"context": "Job title and description"
},
{
"skill_name": "Spring Boot",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Spring Boot 3", "Spring Boot"],
"context": "Job description"
},
{
"skill_name": "Maven",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Maven"],
"context": "Job description"
},
{
"skill_name": "JUnit",
"category": "tools",
"confidence": 100,
"mentioned_as": ["JUnit 5"],
"context": "Job description"
},
{
"skill_name": "Mockito",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Mockito"],
"context": "Job description"
},
{
"skill_name": "Apache Kafka",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Apache Kafka", "Kafka", "Kafka Streams", "Kafka Connect"],
"context": "Job description"
},
{
"skill_name": "Elasticsearch",
"category": "databases",
"confidence": 100,
"mentioned_as": ["Elasticsearch"],
"context": "Job description"
},
{
"skill_name": "Git",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Git"],
"context": "Job description"
},
{
"skill_name": "GitHub",
"category": "tools",
"confidence": 100,
"mentioned_as": ["GitHub"],
"context": "Job description"
},
{
"skill_name": "Docker",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Docker"],
"context": "Job description"
},
{
"skill_name": "Kubernetes",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Kubernetes"],
"context": "Job description"
},
{
"skill_name": "Helm",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Helm"],
"context": "Job description"
},
{
"skill_name": "Grafana",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Grafana"],
"context": "Job description"
},
{
"skill_name": "Prometheus",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Prometheus"],
"context": "Job description"
}
],
"reasoning": {
"total_skills_found": 13,
"skills_by_category": {
"languages": ["Java"],
"frameworks": ["Spring Boot"],
"databases": ["Elasticsearch"],
"tools": ["Maven", "JUnit", "Mockito", "Apache Kafka", "Git", "GitHub", "Docker", "Kubernetes", "Helm", "Grafana", "Prometheus"]
},
"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
Job Description
The Core Payments Platform manages the accurate and prompt processing of payments. It also communicates with clearing and settlement mechanisms within our core markets. We are currently in the active development phase of our next-generation payment systems and are seeking new team members for the Payment Execution Squad.
We play an essential role in building new payment solutions for Danske Bank because we are responsible for the flow of payment processing. As a team we are very collaborative, and we’re always looking to improve our ways of working. We try to provide each other with constructive feedback and try our best to help our colleagues grow.
Work with an interesting and modern tech stack
Leverage your expertise to gain performance
Put your work into action quickly and iterate
Danske Bank supports a high degree of workplace flexibility (our team is currently using a hybrid working model, where we work at least 3 days a week in the office).
Please apply as soon as possible, as we conduct interviews on an ongoing basis.
This role does not include a relocation allowance.
“We believe that the most valuable asset is human potential.”
You will:
Implement, evolve, and maintain applications that communicate and process clearing and settlement mechanism messages
Participate in the entire cycle of software engineering, be heard in architecture, take ownership of simple to medium complexity solution designs, write code, review, and have your code reviewed, perform maintenance
Collaborate closely with teammates of all levels of seniority and a large group of Java software engineers
Work on critical financial systems, ensuring robustness and ease of maintenance
Take ownership of the service and be responsible for part of a system when things don’t go right
Work with different tools and technologies: Microservice architecture, Java 21, Maven, Spring Boot 3, JUnit 5, Mockito, AssertJ, Apache Kafka (Kafka, Kafka Streams, Kafka Connect), Protocol Buffers, Elasticsearch, Github Actions, Argo CD, Docker, Kubernetes, Helm, Kibana, Grafana, Prometheus, Git (Github)
About you:
Previous experience in a similar position
Strong foundation in Java (Core) and libraries/frameworks in the Java ecosystem
Have previous experience with messaging-based applications (e.g. Apache Kafka, RabbitMQ etc.) and NoSQL databases (Elastic Search, MongoDB or similar)
Collaborative and team-oriented personality
Willingness to learn about complex systems related to payment processing at scale
Advanced English language skills
We offer:
This position can be located both in Lithuania and Denmark.
If you are hired in Lithuania, the applicable salary range will be from 4560 EUR to 6840 EUR gross (based on your skills relevant for the job).
Additionally, each Danske Bank employee receives employee benefits package which includes:
Growth opportunities: professional & supportive team, e-learnings, numerous development programs; (incl. professional certificates); 100+ professions for internal mobility opportunities.
Health & Well-being: a diverse, inclusive, work & life balance work environment; additional health insurance; mental well-being practices; partial psychologist counselling compensation; silence and sleep zones at the office; game rooms.
Hybrid working conditions: Work from home up to two days a week; home office budget (after the probation period); modern Danske Campus workplace developed with anthropologist for the best employee experience.
Additional days of leave: for rest, health, volunteering, exams in higher education institutions, and other important activities. Moreover, for seniority with Danske Bank.
Monetary compensation package: accidents & critical diseases insurance; financial support in case of unfortunate events, travel insurance; IIIrd Pillar Pension Fund contribution.
See all the benefits HERE .
Your title in job contract will be IT Software Engineer (Cloud Specialist), Senior.
If you're interested in this role and joining my team, feel free to contact me via LinkedIn , and I will answer your questions! -Juan Hernandez, Engineering Manager | Technical owner | AWS Enthusiast.
About Us
Danske Bank is a Nordic bank with bridges to the world around us. For 150 years, we have supported people and businesses in releasing their potential. A career with us is an opportunity to join a community of 22,000 colleagues in a culture where we are committed to Teaming Up, Owning It and Being Open. Together, we are on a journey to transform Danske Bank into a better bank. For our customers, our employees and the societies around us.