Laravel
Laravel
Embedded Software Engineer at AgriRobot Hybrid – AgriRobot ,
Bliv en del af AgriRobot som embedded software engineer at agrirobot. Bidrag med Hybrid, Full-time, Robotics og nyd anpartsselskab.
Jobinformation
Titel

Embedded Software Engineer at AgriRobot

Virksomhed
AgriRobot
Lokation

Kongens Lyngby, Capital Region of Denmark, Denmark

Opslået Dato

Sep 29, 2025

Påkrævede Færdigheder
Full Time
Programmeringssprog
C++
Bash
Python
C
4 sprog
Udviklingsværktøjer & Infrastruktur
Git
GitLab
CI/CD
3 værktøjer
Færdigheder & Teknologier
Robotics
Artificial intelligence (ai)
Embedded systems
Machine learning
Internet protocol (ip)
Operating systems
It integration
C (programming language)
Linux
Gdb
Jtag
Tcp/ip
Can
13 færdigheder
Total: 23 krav listet (4 sprog, 0 frameworks, 0 databaser, 3 værktøjer, 13 andre færdigheder)
Virksomhedsinformation
AgriRobot logo
AgriRobot

Computerkonsulentbistand og forvaltning af computerfaciliteter

CVR-nummer: 42412899
Medarbejdere: 14
Status:
Normal
Branche: Computerkonsulentbistand og forvaltning af computerfaciliteter
Type:
APS
Anpartsselskab
Grundlagt: May 25, 2021
Beskyttet:
Ja
Adresse:
Elektrovej 331
2800 Kongens Lyngby
Telefon: 21794314
Jobvurdering
Job Ikke Vurderet Endnu

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.

Kompetenceudvikling
Kompetenceudvikling
Completed
100% Confidence
Uddragne Færdigheder (11)
C
Nævnt som: C
Develop high-performance, safety-critical C and C++ code for...
languages
100%
C++
Nævnt som: C++, C plus plus, c plus plus
Develop high-performance, safety-critical C and C++ code for...
languages
100%
Python
Nævnt som: Python
Experience with CI/CD workflows (e.g., GitLab CI) and script...
languages
100%
Bash
Nævnt som: Bash
Experience with CI/CD workflows (e.g., GitLab CI) and script...
languages
100%
Linux
Nævnt som: Linux
Strong background in Linux development for embedded systems,...
frameworks
100%
CI/CD
Nævnt som: CI/CD, CI/CD
Design and implement CI/CD pipelines for our robotics platfo...
tools
100%
GitLab
Nævnt som: GitLab CI
Experience with CI/CD workflows (e.g., GitLab CI) and script...
tools
100%
GDB
Nævnt som: GDB
Diagnose and resolve complex, low-level hardware-software is...
tools
100%
JTAG
Nævnt som: JTAG, JTAG/SWD
Diagnose and resolve complex, low-level hardware-software is...
tools
100%
TCP/IP
Nævnt som: TCP/IP
Implement and debug communication protocols between embedded...
tools
100%
CAN
Nævnt som: CAN
Implement and debug communication protocols between embedded...
tools
100%
Analyse Detaljer
Totale Færdigheder Fundet: 10
Færdigheder efter Kategori:
languages: 4 færdigheder
frameworks: 1 færdigheder
databases: 0 færdigheder
tools: 6 færdigheder
Forbedret den: October 6, 2025 at 11:23 AM Omkostning: $0.0076
🔍 Debug Information (Klik for at udvide)
Fuld AI Prompt:
# 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":5068,"title":"Embedded Software Engineer at AgriRobot","company_name":"AgriRobot","description":"About the job\n\nDo you want to join a fast-moving startup enabling safe autonomy for the robot revolution in agriculture? \n\n\n\n\nOur mission is to deliver state-of-the-art perception and AI solutions to ensure the safe operation of agricultural robots. The emphasis on renewable energy, reduced chemical usage, and ongoing labor shortages are collectively propelling this transformation. \n\n\n\n\nAs an Embedded Software Engineer at AgriRobot, you will be responsible for integrating our advanced safety perception robotics stack onto high-performance embedded computing hardware, ensuring the reliability, safety, and performance of our autonomous systems. \n\n\n\n\nYour Responsibilities \n\n\n\n\nIn this role, you will: \n\n\n\n\nIntegrate our robotics software stack onto high-performance embedded controllers running real-time operating systems (RTOS). \nOptimize communication middleware (e.g., DDS, IPC, shared memory) to ensure real-time, high-throughput data flow for our robotics microservices. \nDesign and implement virtualized, mixed-criticality software partitions to deploy our safety software, combining Linux and RTOS. \nDevelop high-performance, safety-critical C and C++ code for resource-constrained, multi-threaded environments. \nIntegrate and maintain build systems and cross-compilation toolchains for our C\/C++ codebase. \nIntegrate device drivers and Board Support Packages (BSPs) to enable new hardware capabilities. \nImplement and debug communication protocols between embedded controllers, utilizing CAN, Ethernet (TCP\/IP), and other networking standards. \nCollaborate closely with our robotics and machine learning teams to define software requirements and ensure seamless system integration. \nDiagnose and resolve complex, low-level hardware-software issues using various debugging tools (GDB, JTAG\/SWD). \nDesign and implement CI\/CD pipelines for our robotics platforms. \n\n \n\nYour Qualifications \n\nYou likely have a B.Sc. or M.Sc. in Computer Engineering, Electrical Engineering, or a related field, with significant experience in embedded software development. \n\n\n\n\nEssential qualifications include: \n\n\n\n\nProven experience with POSIX real-time operating systems (RTOS) like QNX, NuttX, or Zephyr, including deep knowledge of multithreading and scheduling. \nProficiency in modern C and C++, and applying software architecture and design patterns to complex embedded systems. \nStrong experience with build systems such as CMake, Make, or Bazel. \nStrong understanding of inter-process communication (IPC) and communication middleware concepts for distributed systems. \nStrong background in Linux development for embedded systems, including system configuration and user-space application development. \nHands-on experience with low-level debugging using tools like GDB and hardware probes (JTAG\/SWD). \nProficiency with communication protocols such as Ethernet (TCP\/IP, UDP) and CAN bus. \nExperience with CI\/CD workflows (e.g., GitLab CI) and scripting (Python, Bash) for automating embedded software builds and testing. \nExcellent problem-solving skills and the ability to work independently in a fast-paced environment. \n\n \n\nIt is an advantage to have: \n\nDirect experience with robotics applications and the Robot Operating System (ROS\/ROS 2). \nFamiliarity with virtualization technologies and hypervisors for deploying mixed-criticality safety systems. \nKnowledge of functional safety standards (e.g., ISO 25119, ISO 26262, IEC 61508). \nExperience with the deployment and optimization of machine learning (ML) models on AI inference accelerators. \n\n \n\n\n\n\nIf you are excited about contributing to the future of agricultural robotics by building robust and efficient infrastructure, we'd love to hear from you. \n\n\n\n\nWhat we offer  \n\n\n\n\nAn exciting opportunity to join a robotics startup with high ambitions and strong traction \nYou will be close to the product and have considerable influence on your own tasks and the whole project \nYou will be a part of the vibrant and innovative environment at DTU Sciencepark, Kgs. Lyngby, where our office is located. We are also open to remote work from Costa Rica.\n\nFor further info please contact us via the LinkedIn job post or directly to CEO Tommy Ertbølle Madsen via LinkedIn. You can find more info about us here on https:\/\/www.linkedin.com\/company\/agrirobot\/ and our website https:\/\/agrirobot.ai\/ \n\nWe are continuously evaluating applications. \n\n\n\n\nPlease apply via the LinkedIn system and attach your CV and a cover letter.","brief_summary_of_job":null,"existing_skills_from_job":["Hybrid","Full-time","Robotics","Artificial Intelligence (AI)","Embedded Systems","Machine Learning","Internet Protocol (IP)","Problem Solving","Operating Systems","C++","IT Integration","C (Programming Language)","Bash","Python","Git","GitLab","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.
Fuld AI Svar:
{
  "job_id": 5068,
  "extracted_skills": [
    {
      "skill_name": "C",
      "category": "languages",
      "confidence": 100,
      "mentioned_as": ["C"],
      "context": "Develop high-performance, safety-critical C and C++ code for resource-constrained, multi-threaded environments."
    },
    {
      "skill_name": "C++",
      "category": "languages",
      "confidence": 100,
      "mentioned_as": ["C++", "C plus plus", "c plus plus"],
      "context": "Develop high-performance, safety-critical C and C++ code for resource-constrained, multi-threaded environments."
    },
    {
      "skill_name": "Python",
      "category": "languages",
      "confidence": 100,
      "mentioned_as": ["Python"],
      "context": "Experience with CI/CD workflows (e.g., GitLab CI) and scripting (Python, Bash) for automating embedded software builds and testing."
    },
    {
      "skill_name": "Bash",
      "category": "languages",
      "confidence": 100,
      "mentioned_as": ["Bash"],
      "context": "Experience with CI/CD workflows (e.g., GitLab CI) and scripting (Python, Bash) for automating embedded software builds and testing."
    },
    {
      "skill_name": "Linux",
      "category": "frameworks",
      "confidence": 100,
      "mentioned_as": ["Linux"],
      "context": "Strong background in Linux development for embedded systems, including system configuration and user-space application development."
    },
    {
      "skill_name": "CI/CD",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["CI/CD", "CI\/CD"],
      "context": "Design and implement CI/CD pipelines for our robotics platforms."
    },
    {
      "skill_name": "GitLab",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["GitLab CI"],
      "context": "Experience with CI/CD workflows (e.g., GitLab CI) and scripting (Python, Bash) for automating embedded software builds and testing."
    },
    {
      "skill_name": "GDB",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["GDB"],
      "context": "Diagnose and resolve complex, low-level hardware-software issues using various debugging tools (GDB, JTAG/SWD)."
    },
    {
      "skill_name": "JTAG",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["JTAG", "JTAG\/SWD"],
      "context": "Diagnose and resolve complex, low-level hardware-software issues using various debugging tools (GDB, JTAG/SWD)."
    },
    {
      "skill_name": "TCP/IP",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["TCP\/IP"],
      "context": "Implement and debug communication protocols between embedded controllers, utilizing CAN, Ethernet (TCP/IP), and other networking standards."
    },
    {
      "skill_name": "CAN",
      "category": "tools",
      "confidence": 100,
      "mentioned_as": ["CAN"],
      "context": "Implement and debug communication protocols between embedded controllers, utilizing CAN, Ethernet (TCP/IP), and other networking standards."
    }
  ],
  "reasoning": {
    "total_skills_found": 10,
    "skills_by_category": {
      "languages": ["C", "C++", "Python", "Bash"],
      "frameworks": ["Linux"],
      "databases": [],
      "tools": ["CI/CD", "GitLab", "GDB", "JTAG", "TCP/IP", "CAN"]
    },
    "duplicates_removed": [],
    "excluded_skills": []
  },
  "confidence": 100
}
Ansøgning
Ansøgning (Dansk)
Generer Ansøgning

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.

Jobbeskrivelse

About the job

Do you want to join a fast-moving startup enabling safe autonomy for the robot revolution in agriculture?

Our mission is to deliver state-of-the-art perception and AI solutions to ensure the safe operation of agricultural robots. The emphasis on renewable energy, reduced chemical usage, and ongoing labor shortages are collectively propelling this transformation.

As an Embedded Software Engineer at AgriRobot, you will be responsible for integrating our advanced safety perception robotics stack onto high-performance embedded computing hardware, ensuring the reliability, safety, and performance of our autonomous systems.

Your Responsibilities

In this role, you will:

Integrate our robotics software stack onto high-performance embedded controllers running real-time operating systems (RTOS).

Optimize communication middleware (e.g., DDS, IPC, shared memory) to ensure real-time, high-throughput data flow for our robotics microservices.

Design and implement virtualized, mixed-criticality software partitions to deploy our safety software, combining Linux and RTOS.

Develop high-performance, safety-critical C and C++ code for resource-constrained, multi-threaded environments.

Integrate and maintain build systems and cross-compilation toolchains for our C/C++ codebase.

Integrate device drivers and Board Support Packages (BSPs) to enable new hardware capabilities.

Implement and debug communication protocols between embedded controllers, utilizing CAN, Ethernet (TCP/IP), and other networking standards.

Collaborate closely with our robotics and machine learning teams to define software requirements and ensure seamless system integration.

Diagnose and resolve complex, low-level hardware-software issues using various debugging tools (GDB, JTAG/SWD).

Design and implement CI/CD pipelines for our robotics platforms.

Your Qualifications

You likely have a B.Sc. or M.Sc. in Computer Engineering, Electrical Engineering, or a related field, with significant experience in embedded software development.

Essential qualifications include:

Proven experience with POSIX real-time operating systems (RTOS) like QNX, NuttX, or Zephyr, including deep knowledge of multithreading and scheduling.

Proficiency in modern C and C++, and applying software architecture and design patterns to complex embedded systems.

Strong experience with build systems such as CMake, Make, or Bazel.

Strong understanding of inter-process communication (IPC) and communication middleware concepts for distributed systems.

Strong background in Linux development for embedded systems, including system configuration and user-space application development.

Hands-on experience with low-level debugging using tools like GDB and hardware probes (JTAG/SWD).

Proficiency with communication protocols such as Ethernet (TCP/IP, UDP) and CAN bus.

Experience with CI/CD workflows (e.g., GitLab CI) and scripting (Python, Bash) for automating embedded software builds and testing.

Excellent problem-solving skills and the ability to work independently in a fast-paced environment.

It is an advantage to have:

Direct experience with robotics applications and the Robot Operating System (ROS/ROS 2).

Familiarity with virtualization technologies and hypervisors for deploying mixed-criticality safety systems.

Knowledge of functional safety standards (e.g., ISO 25119, ISO 26262, IEC 61508).

Experience with the deployment and optimization of machine learning (ML) models on AI inference accelerators.

If you are excited about contributing to the future of agricultural robotics by building robust and efficient infrastructure, we'd love to hear from you.

What we offer

An exciting opportunity to join a robotics startup with high ambitions and strong traction

You will be close to the product and have considerable influence on your own tasks and the whole project

You will be a part of the vibrant and innovative environment at DTU Sciencepark, Kgs. Lyngby, where our office is located. We are also open to remote work from Costa Rica.

For further info please contact us via the LinkedIn job post or directly to CEO Tommy Ertbølle Madsen via LinkedIn. You can find more info about us here on https://www.linkedin.com/company/agrirobot/ and our website https://agrirobot.ai/

We are continuously evaluating applications.

Please apply via the LinkedIn system and attach your CV and a cover letter.

Kildehistorik
Vurderet den: N/A
Rapporter Fejl
Hvad er problemet?
Yderligere Detaljer (Valgfrit) Maksimalt 1000 tegn