Skip to content

Open nowPosted 17 days ago

Senior Software Engineer – IoT Platform, Load and Energy Management

FLEXECHARGE

Where
Denmark
Get the CV for this job

From $25 per CV, paid once. No subscription.

Your applicationOpen nowSenior Software Engineer – IoT Platform, Load and Energy ManagementFLEXECHARGE · Denmark
  1. YouYes, apply to this one.

  2. CV RocketCV written for this posting.

  3. 25 readersRecruiter, hiring manager, skeptic. Round after round.

  4. CV RocketApplied on FLEXECHARGE's own form.

The reply lands in your private mailbox

3×more interviews than doing it yourself with ChatGPT.

The clock on this job

Early applications get read.

11.8% of postings close within 7 days. Measured by our own scanner across the market.

Share of postings closed within
  1. 2.1%1 day
  2. 4.4%3 days
  3. 11.8%7 days
  4. 18.6%14 days
  5. 35.6%30 days
  6. 45.1%60 days
This job: posted 17 days ago

The posting

🚀 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.

If you don't have these, apply anyway. Strong fundamentals and the right mindset matter more. 💪

🚫 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 their 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 [email protected]

Working at

FLEXECHARGE

FLEXECHARGE is a cleantech scale-up which offers a powerful load & energy management platform, as a SaaS, to help Charge Point Operators (ex: Clever, eOn, etc.) to optimise their charging operations & business. Our mission is accelerate green mobility through our Smart Charging solutions that make charging faster, greener and cheaper. Our vision is to integrate charging infrastructures better with the grid supply and the ever more volatile & growing production of renewable energy. We want to connect electric vehicles with the grid in a whole new way. By seeing electric vehicles not as a risk for our supply grid, but as a crucial asset for the transition towards 100% renewable energy. We do this through constant innovation of new smart charging features which will make us the preferred partner for EV infrastructure owners, developers, and operators.

Posting text belongs to the employer. Removal requests: contact us.

From $25, paid onceGet the CV for this job

What happens when you press

One press. We do the rest.

  1. A CV for this posting

    Written against FLEXECHARGE's own wording, from every piece of relevant proof in your profile.

  2. 25 readers review it

    Recruiter, hiring manager, skeptic and more read every draft, round after round. You get the best round.

    The review screen in CV Rocket: how each CV was read, round by round.
  3. We apply on FLEXECHARGE's form

    Our application engine gets through the hardest forms there are. Where a question needs you, AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

    An application in CV Rocket: every answer filled in on the employer's form.
  4. Every reply, sorted

    FLEXECHARGE's answer lands in your private mailbox, and we classify it on arrival: interview, question, rejection.

    The CV Rocket inbox: each employer reply classified as an interview, an action or a rejection.
  5. Reply with AI

    AI helps you write the email, checks it and sends it. We show you whether the recruiter read it.

  6. The interview in your calendar

    Full integration with your calendar. The invitation goes straight in.

    An interview invitation in the CV Rocket inbox, added to the candidate's calendar.
Get the CV for this job

From $25 per CV, paid once. No subscription.

Why it works

3×

more interviews than doing it yourself with ChatGPT.

ChatGPT writes a CV and never learns what happened to it. We see every reply. For each CV we know:

  • How it was written, and how the review scored it
  • When we applied, and how long after the posting went up
  • Which posting, which company, which city
  • Who got the interview, and who heard nothing

That is how we know which CVs get called.

Get the CV for this job

From $25 per CV, paid once. No subscription.

The numbers game

More applications. More interviews.

Every application goes out with its own CV, written for that posting and paid once. Send enough of them and the law of large numbers finds you the job.

By hand5–10
With CV Rocket100
applications a day

Before you press

Straight answers

Get the CV for this job

From $25 per CV, paid once. No subscription.

What if my background isn't good enough?

We make the most of the background you have. The CV uses every piece of relevant proof your profile holds, and one of the 25 readers reads your whole profile and flags what the CV left out.

Do you really apply for me?

Yes, on the employer's own form, the hardest ones included. Where a question needs you, you answer it right there and AI suggests the best answer. Don't want us applying from our IP addresses? Use our Chrome extension: we apply straight from your own browser.

Is it a subscription?

No. You pay once per CV, from $25. Every application goes out with its own CV, written for that posting.

One job. One CV.
Paid once.

Pick the posting you want. We write for it, apply for you and catch the reply.

Get the CV for this job

From $25 per CV, paid once. No subscription.