Senior Software Engineer – IoT Platform, Load and Energy Management

Flexecharge GmbH

København

On-site

DKK 700,000 - 900,000

Full time

19 hours ago
Be an early applicant

Get a reply from this employer

Your resume and cover letter, tailored to exactly what they’re hiring for.

Get past ATS filters

Benefits offered by this job

Pension contributions
Lunch on-site
Friday bars / team events

Job summary

FLEXECHARGE is seeking a senior software engineer to write robust code that controls real hardware in edge environments. The role focuses on TypeScript microservices at the edge, talking to devices like chargers, batteries and inverters, and turning data into actionable decisions.

The position sits at the intersection of web/cloud toolchains and industrial OT, requiring comfort with on-site hardware and a willingness to learn compiled languages for performance-critical paths.

Qualifications

  • 3–5+ years of professional software development with strong fundamentals.
  • Professional experience in a compiled language (Go, C, C++, Rust, C# or Java).
  • Proficiency in a scripting language, ideally TypeScript, or willingness to learn quickly.
  • Experience writing business logic with stateful calculations that can self-heal.
  • Comfort with asynchronous and event-driven systems that talk to unreliable external components.

Responsibilities

  • Write and maintain a combination of TypeScript microservices and the business logic behind them: control algorithms, scheduling and decision-making.
  • Build and extend device drivers for chargers, batteries and inverters over Modbus TCP, using our existing driver services as a starting point.
  • Work with OCPP, which our platform already supports, as you ramp up.
  • Run services in containers at the edge and connect them through MQTT and pub/sub messaging to our cloud backend.
  • Profile and optimise software on edge hardware, where hardware resources are constrained.
  • Help shape the long-term move of performance-critical services to compiled languages.
  • Mentor and pair with colleagues on integrations and software craft.

Skills

TypeScript
Go/C/C++/Rust/Java
5+ years software development
Asynchronous/event-driven systems

Tools

Docker
MQTT
Azure
Kubernetes
Modbus
OCPP

Job description

We're looking for a senior software engineer who writes solid, reliable code and wants that code to control real hardware. At FLEXECHARGE, our HARMON-E platform manages load and energy for EV charging operators across Europe. Part of it runs at the edge, on an industrial PC next to chargers, batteries and solar inverters, and connected to the interfaces DSOs use to curtail load.

You'll build and maintain the TypeScript microservices that talk to those devices and turn their data into decisions. This is not a web-app role. It's software engineering for systems where the other side is physical, stateful and often unreliable.

About the role

We're looking for a senior software engineer who writes solid, reliable code and wants that code to control real hardware. At FLEXECHARGE, our HARMON-E platform manages load and energy for EV charging operators across Europe. Part of it runs at the edge, on an industrial PC next to chargers, batteries and solar inverters, and connected to the interfaces DSOs use to curtail load.

You'll build and maintain the TypeScript microservices that talk to those devices and turn their data into decisions. This is not a web-app role. It's software engineering for systems where the other side is physical, stateful and often unreliable.

What is special about this role

It sits where two worlds meet:

  • Web and cloud toolchain: TypeScript, Docker, MQTT, Azure, Kubernetes.
  • Operational technology and system integration: talking to real chargers, batteries and inverters over Modbus and OCPP, running at the edge on an industrial PC.

Your code won't only talk to clean APIs in a data centre. It runs on site, next to real peripheral devices, and has to keep doing its job when those devices and the networks between them don't behave as expected.

We recognize that TypeScript is not typically used for edge computing or hardware interfacing. This is why we're looking for a strong software engineer who is interested in learning new techniques and applications, as well as applying their technical skills in novel ways.

What you'll do
  • Write and maintain a combination of TypeScript microservices and the business logic behind them: control algorithms, scheduling and decision-making, not just plumbing.
  • Build and extend device drivers for chargers, batteries and inverters over Modbus TCP, using our existing driver services as a starting point.
  • Work with OCPP, which our platform already supports, as you ramp up.
  • Run services in containers at the edge and connect them through MQTT and pub/sub messaging to our cloud backend.
  • Profile and optimise software on edge hardware, where hardware resources are constrained.
  • Help shape the long-term move of performance-critical services to compiled languages.
  • Mentor and pair with colleagues on integrations and software craft.
Why compiled languages, if we write TypeScript?

It may sound odd, so here's the reasoning. Today the majority of our edge stack is TypeScript, and you'll develop in it from day one. Over time we want to move selected services, such as device interfaces and performance-critical paths, to a compiled language while keeping them part of the same stack.

To do that well, you need to understand both sides: the TypeScript services as they are now, and the concepts of memory, types and performance that compiled languages force you to think about. In our experience, it's much easier to go from a compiled language to a scripting environment than the other way around. So if you're a Go, C, C++, Rust or similar developer who is happy to work in TypeScript (or happy to learn), you're exactly who we're looking for.

Must-have
  • 3–5+ years of professional software development, with strong software and engineering fundamentals.
  • Professional experience in a compiled language (for example Go, C, C++, Rust, C# or Java).
  • Proficiency in a scripting language, ideally TypeScript, otherwise JavaScript or Python, or a clear willingness to become productive in TypeScript quickly.
  • Experience writing business logic with stateful calculations and operations, which can self-heal and recover gracefully.
  • Comfort with asynchronous and event-driven systems that talk to unreliable external components or peripheral devices.
Strongly preferred (but we'll teach it)
  • Hands-on device or protocol integration: Modbus, serial interfaces, Ethernet/TCP-IP or comparable.
  • Containerised applications. Docker, Docker Compose or Kubernetes are ideal, but any container technology counts.
  • Pub/sub and distributed systems, ideally MQTT or another IoT messaging protocol, and an understanding of their reliability concerns.
  • Working within constrained systems, including profiling software to find where CPU or memory limits bite.
Bonus, not a requirement
  • OCPP experience.
  • Energy, EV charging or power-systems domain knowledge.
  • Edge deployment experience.
This role is probably not for you if
  • Your experience is mainly frontend or request/response web apps, with no compiled-language background.
  • You prefer to stay in one language and aren't interested in working in TypeScript.
  • You want a pure firmware or PLC role without writing higher-level services.
  • You don't enjoy debugging the messy cases where hardware doesn't behave as documented.
What is it like to work at FLEXECHARGE?
  • Our office is in Frederiksberg: bright, comfortable, and a genuinely nice place to spend your workday.
  • You're covered with pension contributions.
  • Lunch is served on-site, and it's delicious, healthy and nutritious.
  • We enjoy each other's company outside work too, with Friday bars, company events and team-building activities within each team.
  • You'll have opportunities for individual development.
Our interview process

Here's roughly what happens once we've had a look at your application:

  • A first conversation (about 30 minutes) with our recruiter. You'll get a feel for the role, ask whatever's on your mind, and we'll both get a sense of whether this is worth pursuing further.
  • Time with the team: a conversation with Kasper, our Head of Architecture & Systems, and Robert, our CTO.
  • A technical stage: one or more interviews with the team, which may include a case exercise and follow-up discussions. These can take place remotely or at our office.
  • A conversation with Max, our CEO, alongside someone else from the team.

Hiring carefully matters to us. We want to get to know you properly, and we want you to get a real feel for us too. If there's anything we can do to make the process work better for you, tell us.

We'd love to hear from you.

Location & practical details

This is an on-site role based in Copenhagen. Only candidates currently located in Copenhagen, or those who clearly state in your application that they plan to relocate, will be considered.

Please note:

  • We do not offer visa sponsorship for this role.
  • We do not offer relocation services.
Data privacy (GDPR)

Applications for this role are processed exclusively through The Hub (thehub.io), our recruitment platform, in accordance with their privacy policy and applicable GDPR requirements. As part of our interview process, conversations may be recorded and transcribed via Microsoft Teams, and AI tools may be used to summarise interview notes to support our hiring team's evaluation. Your data will be handled confidentially, retained only during the interview process, and used only for this recruitment process.

  • For more information or questions please contact us at iva@flexecharge.com
Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

Senior Software Engineer – IoT Platform, Load and Energy Management
Senior Software Engineer – IoT Platform, Load and Energy Management

Hub • København

On-site
DKK 800,000 - 1,200,000
On-site lunch
Pension contributions
Professional development opportunities
Senior Backend Developer
Senior Backend Developer

Flexecharge GmbH • København

On-site
DKK 700,000 - 1,100,000
Pension contributions
On-site lunch
Team events
+1
Senior Backend Developer
Senior Backend Developer

Hub • København

On-site
DKK 900,000 - 1,250,000
Pension contributions
Lunch on-site
Team events
+1
Innovative Electronics Engineer with Responsibility and Influence
Innovative Electronics Engineer with Responsibility and Influence

LS Control A/S • Denmark

Remote
DKK 600,000 - 900,000
Pension
Health insurance
Flexible hours
Senior IoT Software Engineer - Edge & Energy Platform
Senior IoT Software Engineer - Edge & Energy Platform

Hub • København

On-site
DKK 800,000 - 1,200,000
On-site lunch
Pension contributions
Professional development opportunities
Backend Engineer
Backend Engineer

Hub • København

On-site
DKK 700,000 - 900,000
Senior Expansion Manager - Denmark
Senior Expansion Manager - Denmark

Fastned • København

On-site
DKK 650,000 - 900,000
Stock options
Training allowance
Lunch provided
+7
Senior Expansion Manager - Denmark
Senior Expansion Manager - Denmark

Fastned UK Limited • København

Hybrid
DKK 900,000 - 1,200,000
Stock options
Annual training allowance 22,400 DKK
Lunch provided
+6
Full Stack Product Engineer – Fintech (AI-first, high ownership)
Full Stack Product Engineer – Fintech (AI-first, high ownership)

Hub • København

On-site
DKK 700,000 - 1,100,000
Junior Embedded Operations Engineer
Junior Embedded Operations Engineer

Oktogrid • København

On-site
DKK 420,000 - 540,000
Office near transit