PHP Backend Udvikler / Developer
Kongens Lyngby, Region Hovedstaden, Danmark
Sep 18, 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":3555,"title":"PHP Backend Udvikler \/ Developer","company_name":"SEO.AI","description":"Vi søger en backend udvikler med erfaring med PHP og Laravel. Du kommer til at arbejde med opbygning og skalering af vores API-drevne platform. Vi arbejder struktureret med code reviews, pull requests og løbende vidensdeling i teamet.\n\n\n\n\nSEO.AI er en dansk teknologi-startup der blev startet af erfarne iværksættere og SEO-nørder. I dag har vi kunder rundt i hele verden. \n\n\n\n\nVi kombinerer kunstig intelligens og indsigt i Googles algoritmer til at hjælpe virksomheder med at lave automatisk optimering og nyt indhold til deres hjemmesider. Vi gør det på en måde der kræver minimal teknisk indsigt for brugerne. \n\n\n\n\nVi forventer, at du:\n\nHar mindst 4 års erfaring med PHP og Laravel\nKan arbejde selvstændigt og godt i et team\nHar lyst til at bidrage til teamet med din passion for udvikling\nEr nysgerrig på nye teknologier og kan hurtigt sætte dig ind i nye værktøjer\n\n\n\n\nTeknologier vi bl.a. bruger:\n\nPHP \/ Laravel\nMariaDB\nAWS\nKubernetes\nReact\nTanstack Query\/Router\nEcho\/Pusher\n\n\n\n\nHvad vi tilbyder:\n\nEt arbejde hvor tech-produktet er i centrum for virksomheden\nEt spændende AI-produkt i rivende udvikling\nFrihed til at påvirke tech stack og beslutninger\nEt lille, passioneret team med base i Kongens Lyngby\nEn fremragende frokostordning :)","brief_summary_of_job":null,"existing_skills_from_job":["Fysisk tilstedeværelse","Fuldtid","MariaDB","React.js","PHP","Laravel","Backend-webudvikling","HTML","AJAX","Doctrine (PHP)","Kubernetes","XML"],"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","SQL","Swift","TypeScript"],"frameworks":[".NET","Angular","Apache Spark","ASP.NET","AWS","Azure","Backbone.js","Bootstrap","CodeIgniter","Django","Docker","Ember.js","Express","FastAPI","Flask","Flutter","GCP","Hadoop","Ionic","jQuery","Kubernetes","Laravel","Meteor","NestJS","Next.js","Node.js","Nuxt.js","Phoenix","PyTorch","React","React Native","Ruby on Rails","Spring Boot","Svelte","Symfony","Tailwind CSS","TensorFlow","Vue.js","Xamarin"]},
"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","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 js":"Vue.js","vue.js":"Vue.js","vuejs":"Vue.js","VueJS":"Vue.js","xamarin":"Xamarin","Xamarin Forms":"Xamarin","Xamarin.forms":"Xamarin","docker":"Docker","kubernetes":"Kubernetes","k8s":"Kubernetes","github":"GitHub","gitlab":"GitLab","bitbucket":"Bitbucket","terraform":"Terraform","puppet":"Puppet","chef":"Chef","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","vue":"Vue.js","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**: JavaScript, Python, Java, C#, PHP, Go, Rust, etc.
- **Frameworks**: React, Angular, Vue.js, Laravel, Django, Spring Boot, etc.
## EXCLUSION RULES:
- Do NOT include soft skills (communication, teamwork, etc.)
- Do NOT include methodologies (Agile, Scrum, etc.)
- Do NOT include general tools (Git, VS Code, etc.) unless they're specifically coding-related
- 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>",
"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>"]
},
"duplicates_removed": ["<original_mention> → <normalized_name>"],
"excluded_skills": ["<skill>", "<reason>"]
},
"confidence": <integer 0-100>
}
Return nothing outside the JSON object.
{
"job_id": 3555,
"extracted_skills": [
{
"skill_name": "PHP",
"category": "languages",
"confidence": 100,
"mentioned_as": ["PHP"],
"context": "mentioned in the job title and description"
},
{
"skill_name": "Laravel",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Laravel"],
"context": "mentioned in the job title and description"
},
{
"skill_name": "MariaDB",
"category": "languages",
"confidence": 100,
"mentioned_as": ["MariaDB"],
"context": "mentioned in the technologies section"
},
{
"skill_name": "AWS",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["AWS"],
"context": "mentioned in the technologies section"
},
{
"skill_name": "Kubernetes",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["Kubernetes"],
"context": "mentioned in the technologies section"
},
{
"skill_name": "React",
"category": "frameworks",
"confidence": 100,
"mentioned_as": ["React"],
"context": "mentioned in the technologies section"
}
],
"reasoning": {
"total_skills_found": 5,
"skills_by_category": {
"languages": ["PHP", "MariaDB"],
"frameworks": ["Laravel", "AWS", "Kubernetes", "React"]
},
"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.
Vi søger en backend udvikler med erfaring med PHP og Laravel. Du kommer til at arbejde med opbygning og skalering af vores API-drevne platform. Vi arbejder struktureret med code reviews, pull requests og løbende vidensdeling i teamet.
SEO.AI er en dansk teknologi-startup der blev startet af erfarne iværksættere og SEO-nørder. I dag har vi kunder rundt i hele verden.
Vi kombinerer kunstig intelligens og indsigt i Googles algoritmer til at hjælpe virksomheder med at lave automatisk optimering og nyt indhold til deres hjemmesider. Vi gør det på en måde der kræver minimal teknisk indsigt for brugerne.
Vi forventer, at du:
Har mindst 4 års erfaring med PHP og Laravel
Kan arbejde selvstændigt og godt i et team
Har lyst til at bidrage til teamet med din passion for udvikling
Er nysgerrig på nye teknologier og kan hurtigt sætte dig ind i nye værktøjer
Teknologier vi bl.a. bruger:
PHP / Laravel
MariaDB
AWS
Kubernetes
React
Tanstack Query/Router
Echo/Pusher
Hvad vi tilbyder:
Et arbejde hvor tech-produktet er i centrum for virksomheden
Et spændende AI-produkt i rivende udvikling
Frihed til at påvirke tech stack og beslutninger
Et lille, passioneret team med base i Kongens Lyngby
En fremragende frokostordning :)