Contractor - Test Automation (3-6 months)
Copenhagen, Capital Region of Denmark, Denmark
Oct 3, 2025
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":5063,"title":"Contractor - Test Automation (3-6 months)","company_name":"Shure Nordic","description":"About the job\n\nShure is driven by the goal of providing our customers with innovative ecosystems of world-class software to support our networked devices. We design and develop high-quality conferencing products and software solutions that empower seamless collaboration. As a company of passionate and dedicated professionals, we are expanding our product portfolio and seeking a multifaceted Software Engineer to enhance our development experience and build the next generation of test automation solutions.\n\nThis is a great opportunity to for you as a Contractor to be part of a dynamic team and to help our System Verification team shape the tools and infrastructure that empower Shure to deliver exceptional products.\n\nResponsibilities\n\nYour New Role\n\nAs a Software Development Contractor in Test Automation, you will take part in our product development process and work with a competent and collaborative team responsible for creating the tools and frameworks that enable robust and efficient system-level testing. This Contractor role moves beyond traditional testing, focusing on improving our Shure product delivery speed and product quality through automation. Your work will directly contribute to building more reliable and scalable solutions for our Shure customers.\n\nA Day as a Contractor\n\nYour Primary Focus Will Be On Software Development To Create Sophisticated Test Automation Solutions And Productivity Tools. Your Workday Will Be Dynamic And May Include\n\n\n Designing and developing scalable and maintainable test automation frameworks and tests using TypeScript, Python, and Playwright. \n Building and maintaining CI\/CD pipelines to ensure seamless and efficient integration and deployment. \n Integrating the latest AI tools into our testing processes. \n Developing application modeling software and other innovative solutions to enhance our testing capabilities. \n Writing clean, high-quality code to create automated tests that provide insightful feedback into our embedded and application software systems. \n Collaborating with cross-functional teams to analyze system requirements, solve complex problems, and clearly communicate your findings. \n Championing the continuous improvement of our development and testing processes, with a keen eye on increasing quality and efficiency. \n Engaging in a cross-border and cross-disciplinary work environment to drive our projects forward. \n\n\nQualifications\n\n Who You Are \n\nWe are looking for a highly driven, open, and collaborative individual with a software engineering background and a passion for building scalable and user-friendly software solutions.\n\n\n You are either registered as a Contractor with your own CVR number or employed through an agency. \n You possess a B.Sc. in Engineering, Computer Science, or a similar relevant field. \n You have strong programming skills in TypeScript; knowledge of Python is a plus. \n You have a talent for identifying areas for improvement and a desire to design and implement solutions. \n You are experienced with version control systems, particularly Git, and are comfortable with the Atlassian suite (JIRA, Confluence, Bitbucket). \n You demonstrate excellent judgment in selecting methods and techniques to solve complex problems. \n You are excited about adopting the latest AI technologies. \n Experience with testing frameworks and tools such as Playwright, PyTest, or Selenium is a significant advantage. \n You have some familiarity with web technologies (HTML, CSS) and web development frameworks. \n You are a proactive and dedicated team player who values agility and is committed to achieving outstanding results. \n You possess excellent communication skills in English (written and spoken). \n\n\n Our Value Proposition to You \n\nAt Shure, we value collaboration, commitment, and innovation, as well as a natural interest in solving complex issues. We strive to achieve extraordinary results and are not afraid of taking on challenging tasks. Our founder, Mr. Shure, famously said: “We know very well that absolute perfection cannot be attained, but we will never stop striving for it.” This statement continues to guide us in our everyday work.\n\nWe offer you an exciting and challenging work opportunity with ample room for learning and growth.\n\nYou will be part of an inspiring and flexible workplace with a dynamic work environment and great colleagues who appreciate, support, and respect one another. We believe in the value of a good work-life balance and consideration for the individual. Our technological innovations are the result of the creativity and dedication of our employees. In short, it is our employees who define our culture and make Shure a great place to work!\n\n Applying for the Job \n\nThe mix matters: If you are excited about this role, believe you have the skills to be successful, and share our passion for creating an inclusive, diverse, equitable, and accessible work environment, then we encourage you to apply!\n\nTo find out more about this job, please contact Mark Heidarjan at: +45 3248 2300.","brief_summary_of_job":null,"existing_skills_from_job":["On-site","Contract","English","Test Automation","HTML","Python (Programming Language)","Software Development","Git","Jira","Programming","Computer Science","Product Development","CSS","Python","TypeScript","Next","Bitbucket","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": 5063,
"extracted_skills": [
{
"skill_name": "TypeScript",
"category": "languages",
"confidence": 100,
"mentioned_as": ["TypeScript"],
"context": "Designing and developing scalable and maintainable test automation frameworks and tests using TypeScript."
},
{
"skill_name": "Python",
"category": "languages",
"confidence": 100,
"mentioned_as": ["Python", "python"],
"context": "Knowledge of Python is a plus."
},
{
"skill_name": "Playwright",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Playwright"],
"context": "Creating the tools and frameworks that enable robust and efficient system-level testing."
},
{
"skill_name": "CI/CD",
"category": "tools",
"confidence": 100,
"mentioned_as": ["CI/CD", "CI\/CD"],
"context": "Building and maintaining CI/CD pipelines to ensure seamless and efficient integration and deployment."
},
{
"skill_name": "Git",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Git"],
"context": "Experienced with version control systems, particularly Git."
},
{
"skill_name": "Bitbucket",
"category": "tools",
"confidence": 100,
"mentioned_as": ["Bitbucket"],
"context": "Comfortable with the Atlassian suite (JIRA, Confluence, Bitbucket)."
},
{
"skill_name": "JIRA",
"category": "tools",
"confidence": 100,
"mentioned_as": ["JIRA"],
"context": "Comfortable with the Atlassian suite (JIRA, Confluence, Bitbucket)."
},
{
"skill_name": "Selenium",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Selenium"],
"context": "Experience with testing frameworks and tools such as Playwright, PyTest, or Selenium."
},
{
"skill_name": "PyTest",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["PyTest"],
"context": "Experience with testing frameworks and tools such as Playwright, PyTest, or Selenium."
},
{
"skill_name": "HTML",
"category": "languages",
"confidence": 100,
"mentioned_as": ["HTML"],
"context": "Some familiarity with web technologies (HTML, CSS) and web development frameworks."
},
{
"skill_name": "CSS",
"category": "languages",
"confidence": 100,
"mentioned_as": ["CSS"],
"context": "Some familiarity with web technologies (HTML, CSS) and web development frameworks."
}
],
"reasoning": {
"total_skills_found": 10,
"skills_by_category": {
"languages": ["TypeScript", "Python", "HTML", "CSS"],
"frameworks": ["Playwright", "Selenium", "PyTest"],
"databases": [],
"tools": ["CI/CD", "Git", "Bitbucket", "JIRA"]
},
"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
Shure is driven by the goal of providing our customers with innovative ecosystems of world-class software to support our networked devices. We design and develop high-quality conferencing products and software solutions that empower seamless collaboration. As a company of passionate and dedicated professionals, we are expanding our product portfolio and seeking a multifaceted Software Engineer to enhance our development experience and build the next generation of test automation solutions.
This is a great opportunity to for you as a Contractor to be part of a dynamic team and to help our System Verification team shape the tools and infrastructure that empower Shure to deliver exceptional products.
Responsibilities
Your New Role
As a Software Development Contractor in Test Automation, you will take part in our product development process and work with a competent and collaborative team responsible for creating the tools and frameworks that enable robust and efficient system-level testing. This Contractor role moves beyond traditional testing, focusing on improving our Shure product delivery speed and product quality through automation. Your work will directly contribute to building more reliable and scalable solutions for our Shure customers.
A Day as a Contractor
Your Primary Focus Will Be On Software Development To Create Sophisticated Test Automation Solutions And Productivity Tools. Your Workday Will Be Dynamic And May Include
Designing and developing scalable and maintainable test automation frameworks and tests using TypeScript, Python, and Playwright.
Building and maintaining CI/CD pipelines to ensure seamless and efficient integration and deployment.
Integrating the latest AI tools into our testing processes.
Developing application modeling software and other innovative solutions to enhance our testing capabilities.
Writing clean, high-quality code to create automated tests that provide insightful feedback into our embedded and application software systems.
Collaborating with cross-functional teams to analyze system requirements, solve complex problems, and clearly communicate your findings.
Championing the continuous improvement of our development and testing processes, with a keen eye on increasing quality and efficiency.
Engaging in a cross-border and cross-disciplinary work environment to drive our projects forward.
Qualifications
Who You Are
We are looking for a highly driven, open, and collaborative individual with a software engineering background and a passion for building scalable and user-friendly software solutions.
You are either registered as a Contractor with your own CVR number or employed through an agency.
You possess a B.Sc. in Engineering, Computer Science, or a similar relevant field.
You have strong programming skills in TypeScript; knowledge of Python is a plus.
You have a talent for identifying areas for improvement and a desire to design and implement solutions.
You are experienced with version control systems, particularly Git, and are comfortable with the Atlassian suite (JIRA, Confluence, Bitbucket).
You demonstrate excellent judgment in selecting methods and techniques to solve complex problems.
You are excited about adopting the latest AI technologies.
Experience with testing frameworks and tools such as Playwright, PyTest, or Selenium is a significant advantage.
You have some familiarity with web technologies (HTML, CSS) and web development frameworks.
You are a proactive and dedicated team player who values agility and is committed to achieving outstanding results.
You possess excellent communication skills in English (written and spoken).
Our Value Proposition to You
At Shure, we value collaboration, commitment, and innovation, as well as a natural interest in solving complex issues. We strive to achieve extraordinary results and are not afraid of taking on challenging tasks. Our founder, Mr. Shure, famously said: “We know very well that absolute perfection cannot be attained, but we will never stop striving for it.” This statement continues to guide us in our everyday work.
We offer you an exciting and challenging work opportunity with ample room for learning and growth.
You will be part of an inspiring and flexible workplace with a dynamic work environment and great colleagues who appreciate, support, and respect one another. We believe in the value of a good work-life balance and consideration for the individual. Our technological innovations are the result of the creativity and dedication of our employees. In short, it is our employees who define our culture and make Shure a great place to work!
Applying for the Job
The mix matters: If you are excited about this role, believe you have the skills to be successful, and share our passion for creating an inclusive, diverse, equitable, and accessible work environment, then we encourage you to apply!
To find out more about this job, please contact Mark Heidarjan at: +45 3248 2300.