Embedded Software Engineer
Lokeren, Vlaamse regio, België (on-site)
Jouw rol
Als Embedded Software Engineer werk je in ons cross-functionele scrum-team mee aan de volledige embedded software stack van onze laadpalen. Je denkt in features en producten, niet in programmeertalen: afhankelijk van de feature schrijf je code in C++ (op embedded Linux én op bare-metal targets) of in Java (op embedded Linux), en lever je de bijhorende geautomatiseerde tests mee op. Architectuurdenken zit in je DNA: je kijkt verder dan je eigen module, ziet de raakvlakken met andere componenten en bewaakt mee de coherentie van de bredere software-architectuur. Je zet AI-tools gericht in bij ontwerpen, coderen, reviewen en debuggen — jij maakt de keuzes en bewaakt de kwaliteit — en je werkt nauw samen met collega’s van hardware, projectleiding en cloud om end-to-end oplossingen te leveren.
Reden van de vacature
Het aandeel van elektrische voertuigen stijgt sterk, en met die groei neemt ook de behoefte aan betrouwbare en innovatieve laadinfrastructuur toe. Bij Enovates hechten we groot belang aan kwaliteit — niet alleen in onze hardware, maar ook in onze softwareontwikkeling. Om aan die hoge standaarden te blijven voldoen en onze positie in de markt te versterken, reorganiseren we onze softwareorganisatie: waar we vroeger afzonderlijke C++-, Java- en test-teams hadden, brengen we die samen in één multidisciplinair scrum-team dat volledig rond product en feature georganiseerd is.
Daarnaast integreren we AI stap voor stap in ons ontwikkelproces. Moderne AI-tools (o.a. Claude) ondersteunen onze engineers bij het ontwerpen, schrijven, reviewen en testen van code, terwijl de engineer zelf de keuzes maakt en verantwoordelijk blijft voor het resultaat. Die manier van werken bouwen we de komende periode verder uit. In deze context zoeken we een extra embedded software engineer die niet in één taal denkt, maar mee de volledige feature helpt realiseren.
Verantwoordelijkheden
- Mee ontwerpen, ontwikkelen en opleveren van features voor onze embedded laadpaalsoftware (C++ op embedded Linux én bare-metal, Java op embedded Linux)
- Samenwerken binnen een cross-functioneel scrum-team met developers, testers, hardware-ingenieurs en de projectleider om features van idee tot productie te brengen
- Feature-specificaties vertalen naar efficiënte, herbruikbare en goed gedocumenteerde code, ongeacht de gekozen taal of module
- Zelf zorgen voor de unit- en integratietests van je code, en samen met de testautomatisatie-collega’s bijdragen aan de geautomatiseerde regressietesten in Python
- Onderhouden en verbeteren van bestaande embedded modules (o.a. evsemanager, metermanager, hlcmanager, plcmanager, tokenmanager en solarmanager)
- Actief meedenken over en mee vormgeven van de software-architectuur van nieuwe producten en features: hexagonaal design, SOLID, duidelijke module-grenzen en oog voor onderhoud en uitbreidbaarheid op langere termijn
- Actief deelnemen aan code reviews, pair programming en refinements, en constructieve feedback geven aan collega’s
- AI-tools (o.a. Claude en andere coding assistants) doordacht inzetten om productiever en consistenter te werken en om de kwaliteit van code, tests en documentatie te bewaken
Vereiste vaardigheden en ervaring
- Bachelor- of masterdiploma in informatica, elektronica-ICT, elektrotechniek of gelijkwaardig door ervaring
- Sterke embedded software-ervaring in C++ (op embedded Linux en/of bare-metal) of in Java (11/21), en de bereidheid om ook in de andere taal en in Python (voor tests) te werken. Wij denken in features, niet in talen — waar jij de expert bent, draag je die kennis door naar de rest van het team
- Brede ervaring met Linux als operating system in een embedded omgeving
- Ervaring met Git en met werken in een CI/CD-pipeline
- Sterk probleemoplossend en analytisch denkvermogen; je gaat systematisch te werk bij debugging op target
- Vlot in Nederlands en Engels, zowel geschreven als mondeling
- Teamspeler die zich thuis voelt in een multidisciplinair scrum-team en mee verantwoordelijkheid draagt voor het teamresultaat
- Je documenteert je werk zo dat collega’s erop verder kunnen bouwen: leesbare code, duidelijke commit messages en de nodige ontwerp- en interfacedocumentatie
Extra pluspunten
- Ervaring met Buildroot of Yocto
- Ervaring met AI-ondersteund ontwikkelen (Claude, GitHub Copilot, Cursor en gelijkaardige tools) en met het schrijven van goede prompts en context voor coding assistants
- Ervaring met Agile/Scrum: sprints, refinements, retro’s en werken vanuit een product- of feature-backlog
- Kennis van onze tooling: Bitbucket, Bitbucket Pipelines CI/CD, Maven, Jira en Confluence
- Ervaring met moderne IDE’s en build-toolchains
- Ervaring met communicatieprotocollen zoals DBUS, MQTT, Modbus of vergelijkbaar
- Kennis van OCPP 2.0.1, ISO 15118, PLC of aanverwante e-mobility-standaarden
- Ervaring met unit testing en met geautomatiseerde tests in Python
- Kennis van Java 9 JPMS, hexagonaal design, SOLID-principes, Vert.x, JavaFX, SQLite en Guice
- Interesse in elektrische mobiliteit en duurzame energie
Ons aanbod
- Een plek in een pas gevormd, multidisciplinair scrum-team dat rond product en feature georganiseerd is in plaats van rond programmeertalen
- De kans om met moderne AI-tooling te werken als vast onderdeel van het ontwikkelproces, waarbij de engineer zelf de keuzes maakt
- Een competitieve verloning
- Groeps- en hospitalisatieverzekering
- Flexibele werkuren
- Een boeiende en vernieuwende sector
- Doorgroeimogelijkheden
- Een goede teamsfeer
