🚀 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.
🚀 We're looking for an ambitious, self-driven Senior Backend Developer to join our engineering team. You'll work primarily with TypeScript and AWS serverless technologies, with occasional work in our React/Next.js frontend. A growing part of our platform is integrating with enterprise customers and external systems, so you'll design and own APIs and integrations that need to hold up under real-world use. This is a high-impact role with end-to-end ownership, from requirements to a production-ready solution, and a chance to contribute meaningfully to the green transition. 🛠️ What You'll Be Doing Taking features from design through implementation and into production Building and operating event-driven, distributed systems - async processing, retries, failure handling, idempotency Designing APIs and integrations for enterprise and external systems - stable contracts, versioning, auth, error handling, backwards compatibility Working in and improving our existing codebase - refactoring, automated testing, managing technical debt Occasional frontend work in React/TypeScript 🧠 Your Experience 3 to 5+ years of professional software development, with substantial recent experience in TypeScript/Node.js and AWS serverless or event-driven architectures Strong hands-on experience with AWS services - Lambda, DynamoDB, queues, event buses, API services, infrastructure as code Experience with NoSQL data modelling and production data systems Good understanding of authentication, authorization and application security Experience operating production systems - debugging, monitoring, safely deploying changes Comfortable with Git-based workflows and CI/CD Some React/TypeScript experience, and willingness to make occasional frontend changes ✅ What We Expect at Senior Level You can independently take a feature or technical problem from requirements to a production-ready solution. You're comfortable navigating unfamiliar code, understanding the blast radius of a change, and making pragmatic calls between delivery speed, reliability and maintainability. You think carefully about system boundaries and integration contracts, understanding that APIs used by customers and external systems need to evolve safely and behave predictably when either side fails. You understand rollback, backwards compatibility, failure modes and safe deployment for systems handling production data. You communicate trade-offs clearly and take responsibility for the quality of what you ship. You're comfortable using AI-assisted development tools as part of your day-to-day work, and curious about how they can improve how software is designed, built, tested and maintained - not just for code generation, but for understanding unfamiliar code, planning changes, testing, reviewing, debugging and documentation. At the same time, you apply strong engineering judgement: you treat AI-generated output as a draft to review and validate, and you remain responsible for the correctness and security of what you ship. 🌟 Nice to Have Enterprise integrations - SSO/federated identity, webhooks, customer-facing APIs AWS CDK or similar IaC tooling DynamoDB single-table or composite-key modelling IoT, connected devices, telemetry or high-volume event processing Multi-tenant SaaS platforms Energy tech, EV charging, batteries, solar or energy management Data platforms, analytics or data lakes ISO 27001 or NIS2 experience Next.js You don't need experience with every technology in our stack. We value strong fundamentals and the ability to learn unfamiliar domains fast. 🌆 What Is It Like to Work at FLEXECHARGE? Our office sits in Frederiksberg - bright, comfortable, and a genuinely nice place to spend your workday You're covered with pension contributions Lunch is on-site, delicious, and genuinely healthy and nutritious We like each other's company outside of work too, so think Friday bars, plus company team events and team buildings on a team level 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, you'll talk with our recruiter, 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 Artur, our Head of Engineering, 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 summarize 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.
Jämför rekryteringshistorik, bolagsfakta och aktiva jobb.