Senior/Chief Software Engineer - Credit Journey OCB AI Acceleration
Copenhagen, Capital Region of Denmark, Denmark
Sep 29, 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":5032,"title":"Senior\/Chief Software Engineer - Credit Journey OCB AI Acceleration","company_name":"Danske Bank","description":"About the job\n\nJob Description\n\nDanske Bank is embarking on a brand-new exciting journey to transform credit processing through agentic Generative AI solutions. We, in Credit Journey tribe, are looking for a GenAI Specialist to spearhead this effort.\n\nWelcome to our Tribe!\n\nYou will become part of our Tribe, where your role will be to utilise the game changing GenAI tech for next generation credit solution development, bridge strategy and hands-on practice while ensuring compliance within the highly regulated banking sector, while having close collaboration with the 25 squads in our tribe.\n\nWe are on a journey to create a unified, plug-and-play credit process that can hook into all our channels. We have a data-driven approach for creating near-instant, automated credit decisions, that work seamlessly with our advisory solutions. Leveraging the power of the data and GenAI, our mission is to enable customers to realise their dreams and ambitions with trusted and frictionless credit decisions in any channel and journey.\n\nYour Responsibilities\n\n\n Collaborate with other developers in development of agentic GenAI solutions \n Implement and operationalize MCPs (Model Context Protocols) for scalable AI. \n Build containerized AI solutions (Docker, Kubernetes\/EKS). \n Collaborate with compliance and business teams to align innovation with regulation. \n Mentor colleagues and establish best practices in GenAI engineering. \n\n\nWhat We Are Looking For\n\n\n Proven expertise in cloud engineering. \n Hands-on experience in Generative AI and agentic AI architectures. \n Familiarity with containerized solutions and orchestration (Docker, Kubernetes\/EKS). \n Proficiency in Java (backend), React (frontend). \n Business process \/ workflow understanding, and experience in working with BPMN and workflow tools like Camunda and etc. \n Understanding of compliance, ethics, and risk management in regulated industries. \n Banking experience or knowledge related to financial sector is a plus. \n\n\nWhat We Offer\n\n\n A pioneering role in defining AI adoption at Danske Bank. \n The opportunity to build solutions from scratch in a critical business area. \n Collaboration across engineering, compliance, and business units. \n A modern workplace in Copenhagen, Denmark with opportunities for continuous learning. \n\n\nAs a colleague at Danske Bank you will experience very committed in a collaborative work environment that values innovation and career development. We offer you an attractive salary package and highly attractive benefits including pension and health care insurance. We are located in our newly built domicile on Postgrunden next to Copenhagen Central Station.\n\nInterested?\n\nInterviews will be conducted ongoing, so send your application and CV sooner rather than later. Should you need more information about the position, please reach out to Weiwei Jiang, at wj@danskebank.dk or +45 24 49 80 56.\n\n📍 Apply now and help accelerate Danske Bank’s AI journey in credit processing.","brief_summary_of_job":null,"existing_skills_from_job":["Hybrid","Full-time","Java","Artificial Intelligence (AI)","React.js","Cloud Computing","Back-End Web Development","HTML","XML","Kubernetes","Engineering","Financial Services","React"],"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": 5032,
"extracted_skills": [
{
"skill_name": "Java",
"category": "languages",
"confidence": 100,
"mentioned_as": ["Java"],
"context": "Proficiency in Java (backend)"
},
{
"skill_name": "React",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["React", "React.js"],
"context": "Proficiency in React (frontend)"
},
{
"skill_name": "Docker",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Docker"],
"context": "Build containerized AI solutions (Docker, Kubernetes/EKS)"
},
{
"skill_name": "Kubernetes",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Kubernetes", "Kubernetes/EKS"],
"context": "Build containerized AI solutions (Docker, Kubernetes/EKS)"
}
],
"reasoning": {
"total_skills_found": 4,
"skills_by_category": {
"languages": ["Java"],
"frameworks": ["React"],
"databases": [],
"tools": ["Docker", "Kubernetes"]
},
"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
Danske Bank is embarking on a brand-new exciting journey to transform credit processing through agentic Generative AI solutions. We, in Credit Journey tribe, are looking for a GenAI Specialist to spearhead this effort.
Welcome to our Tribe!
You will become part of our Tribe, where your role will be to utilise the game changing GenAI tech for next generation credit solution development, bridge strategy and hands-on practice while ensuring compliance within the highly regulated banking sector, while having close collaboration with the 25 squads in our tribe.
We are on a journey to create a unified, plug-and-play credit process that can hook into all our channels. We have a data-driven approach for creating near-instant, automated credit decisions, that work seamlessly with our advisory solutions. Leveraging the power of the data and GenAI, our mission is to enable customers to realise their dreams and ambitions with trusted and frictionless credit decisions in any channel and journey.
Your Responsibilities
Collaborate with other developers in development of agentic GenAI solutions
Implement and operationalize MCPs (Model Context Protocols) for scalable AI.
Build containerized AI solutions (Docker, Kubernetes/EKS).
Collaborate with compliance and business teams to align innovation with regulation.
Mentor colleagues and establish best practices in GenAI engineering.
What We Are Looking For
Proven expertise in cloud engineering.
Hands-on experience in Generative AI and agentic AI architectures.
Familiarity with containerized solutions and orchestration (Docker, Kubernetes/EKS).
Proficiency in Java (backend), React (frontend).
Business process / workflow understanding, and experience in working with BPMN and workflow tools like Camunda and etc.
Understanding of compliance, ethics, and risk management in regulated industries.
Banking experience or knowledge related to financial sector is a plus.
What We Offer
A pioneering role in defining AI adoption at Danske Bank.
The opportunity to build solutions from scratch in a critical business area.
Collaboration across engineering, compliance, and business units.
A modern workplace in Copenhagen, Denmark with opportunities for continuous learning.
As a colleague at Danske Bank you will experience very committed in a collaborative work environment that values innovation and career development. We offer you an attractive salary package and highly attractive benefits including pension and health care insurance. We are located in our newly built domicile on Postgrunden next to Copenhagen Central Station.
Interested?
Interviews will be conducted ongoing, so send your application and CV sooner rather than later. Should you need more information about the position, please reach out to Weiwei Jiang, at wj@danskebank.dk or +45 24 49 80 56.
📍 Apply now and help accelerate Danske Bank’s AI journey in credit processing.