Application Engineer – Vehicle Data Processing

IVEX • Heverlee, Vlaams Brabant • Software Development • 1mo ago

Save this role or tell us whether you want more jobs like it.

:root body { background: var(--token-08b7a3eb-f427-41df-8882-4b5c2edb5013, rgb(255, 255, 255)); }html body { background: rgb(255, 255, 255); }IVEX Raises Series A funding: read moreSolutionsCasesAboutNewsCareersContact usIVEX Raises Series A funding: read moreSolutionsCasesAboutNewsCareersContact usOperationsApplication Engineer – Vehicle Data ProcessingLocation: Leuven, BelgiumIVEX is looking for a skilled and driven Application Engineer – Vehicle Data Processing to join our team shaping the future of Automated Driving and Advanced Driver-Assistance Systems. In this role, you will process customer data and execute hands-on data analysis using IVEX’s data tool chain, pipelines, and workflows. You’ll work directly with real-world vehicle datasets—such as camera images, LiDAR point clouds, GNSS, vehicle state, object lists, and lane lines—to produce reliable insights and customer-ready outputs.In this role you willExecute customer-facing data analyses using IVEX tools and pipelines, turning raw vehicle data into structured results and actionable insights.Process and validate multi-sensor vehicle datasets including LiDAR point clouds, vehicle camera images, GNSS, and related signals.Work with common vehicle data types such as vehicle state, object lists, lane line detections, and derived KPIs.Debug, adapt, and run analysis workflows in Linux environments, often via SSH and containerized setups.Collaborate with customers and internal engineering teams to clarify requirements, troubleshoot issues, and deliver results efficiently.What we are looking forMaster’s degree or higher in Computer Science, Engineering, or a related technical field (or equivalent practical experience).Strong Python proficiency, with hands-on experience using Pandas and NumPy for data processing and analysis.Experience working with vehicle sensor data, including LiDAR point clouds and vehicle camera images.Familiarity with vehicle data structures such as vehicle state, object lists, and lane lines (or closely related representations).Solid working knowledge of Linux, SSH, Git, and Docker for running and troubleshooting analysis environments.Excellent communication skills in English (written and verbal), with the ability to explain technical results clearly.Nice to haveExperience with cloud environments, especially AWS (a strong plus).Practical experience in Machine Learning for data-driven analysis tasks.Experience with embedded platforms like NVIDIA Jetson or similar.Experience with sensor drivers and data acquisition (including images, point clouds, and GNSS data).We offerA competitive salary, benefits package, and opportunities for professional growth at a dynamic startup. If you’re motivated by real-world vehicle data and enjoy working close to customers and product teams, we’d love to hear from you.Send us your CV and surprise us with your motivation.By sending your CV, you agree to our GDPR.ApplySolutionsNCAP evaluatorOn-road SLIF evaluationData analytics platformReference sensor kitCompanyAbout usCareersMediaCasesNewsEventsAddressKapeldreef, 603001 - HeverleeBelgiumMissionWe founded IVEX to provide the best testing and validation tools for ADAS/AD engineers.IVEX Data Privacy Notice | IVEX Data Privacy Policy | IVEX Information Security Policy | IVEX ISO 27001 Certificate | 2026 IVEX NV. © All rights reservedSolutionsNCAP evaluatorOn-road SLIF evaluationData analytics platformReference sensor kitCompanyAbout usCareersMediaCasesNewsEventsAddressKapeldreef, 603001 - HeverleeBelgiumMissionWe founded IVEX to provide the best testing and validation tools for ADAS/AD engineers.IVEX Data Privacy Notice | IVEX Data Privacy Policy | IVEX Information Security Policy | IVEX ISO 27001 Certificate | 2026 IVEX NV. © All rights reservedSolutionsNCAP evaluatorOn-road SLIF evaluationData analytics platformReference sensor kitCompanyAbout usCareersMediaCasesNewsEventsAddressKapeldreef, 603001 - HeverleeBelgiumMissionWe founded IVEX to provide the best testing and validation tools for ADAS/AD engineers.IVEX Data Privacy Notice | IVEX Data Privacy Policy | IVEX Information Security Policy | IVEX ISO 27001 Certificate | 2026 IVEX NV. © All rights reserved(()=>{function u(){function n(t,e,i){let r=document.createElement("a");r.href=t,r.target=i,r.rel=e,document.body.appendChild(r),r.click(),r.remove()}function o(t){if(this.dataset.hydrated){this.removeEventListener("click",o);return}t.preventDefault(),t.stopPropagation();let e=this.getAttribute("href");if(!e)return;if(/Mac|iPod|iPhone|iPad/u.test(navigator.userAgent)?t.metaKey:t.ctrlKey)return n(e,"","_blank");let r=this.getAttribute("rel")??"",c=this.getAttribute("target")??"";n(e,r,c)}function a(t){if(this.dataset.hydrated){this.removeEventListener("auxclick",o);return}t.preventDefault(),t.stopPropagation();let e=this.getAttribute("href");e&&n(e,"","_blank")}function s(t){if(this.dataset.hydrated){this.removeEventListener("keydown",s);return}if(t.key!=="Enter")return;t.preventDefault(),t.stopPropagation();let e=this.getAttribute("href");if(!e)return;let i=this.getAttribute("rel")??"",r=this.getAttribute("target")??"";n(e,i,r)}document.querySelectorAll("[data-nested-link]").forEach(t=>{t instanceof HTMLElement&&(t.addEventListener("click",o),t.addEventListener("auxclick",a),t.addEventListener("keydown",s))})}return u})()() !function(){var w="framer_variant";function u(a,r){let e=r.indexOf("#"),t=e===-1?r:r.substring(0,e),o=e===-1?"":r.substring(e),n=t.indexOf("?"),h=n===-1?t:t.substring(0,n),d=n===-1?"":t.substring(n),s=new URLSearchParams(d),m=new URLSearchParams(a);for(let[i,l]of m)s.has(i)||i!==w&&s.append(i,l);let c=s.toString();return c===""?t+o:h+"?"+c+o}var g='div#main a[href^="#"],div#main a[href^="/"],div#main a[href^="."]',f="div#main a[data-framer-preserve-params]",S=document.currentScript?.hasAttribute("data-preserve-internal-params");if(window.location.search&&!navigator.webdriver&&!/bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)){let a=document.querySelectorAll(S?`${g},${f}`:f);for(let r of a){let e=u(window.location.search,r.href);r.setAttribute("href",e)}} }() var animator=(()=>{var L=(e,r,t)=>t>r?r:t{};function _(e){let r;return()=>(r===void 0&&(r=e()),r)}var Q=e=>e;var D=e=>e*1e3,O=e=>e/1e3;var J=e=>Array.isArray(e)&&typeof e[0]=="number";var $=(e,r,t=10)=>{let o="",s=Math.max(Math.round(r/t),2);for(let i=0;i=2e4?1/0:r}function de(e,r=100,t){let o=t({...e,keyframes:[0,r]}),s=Math.min(j(o),2e4);return{type:"keyframes",ease:i=>o.next(s*i).value/r,duration:O(s)}}var d={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1};function te(e,r){return e*Math.sqrt(1-r*r)}var ke=12;function Ie(e,r,t){let o=t;for(let s=1;s{let p=m*n,c=p*e,u=p-t,g=te(m,n),A=Math.exp(-c);return re-u/g*A},i=m=>{let c=m*n*e,u=c*t+t,g=Math.pow(n,2)*Math.pow(m,2)*e,A=Math.exp(-c),x=te(Math.pow(m,2),n);return(-s(m)+re>0?-1:1)*((u-g)*A)/x}):(s=m=>{let p=Math.exp(-m*e),c=(m-t)*e+1;return-re+p*c},i=m=>{let p=Math.exp(-m*e),c=(t-m)*(e*e);return p*c});let f=5/e,a=Ie(s,i,f);if(e=D(e),isNaN(a))return{stiffness:d.stiffness,damping:d.damping,duration:e};{let m=Math.pow(a,2)*o;return{stiffness:m,damping:n*2*Math.sqrt(o*m),duration:e}}}var Ke=["duration","bounce"],Ge=["stiffness","damping","mass"];function ge(e,r){return r.some(t=>e[t]!==void 0)}function Le(e){let r={velocity:d.velocity,stiffness:d.stiffness,damping:d.damping,mass:d.mass,isResolvedFromDuration:!1,...e};if(!ge(e,Ge)&&ge(e,Ke))if(r.velocity=0,e.visualDuration){let t=e.visualDuration,o=2*Math.PI/(t*1.2),s=o*o,i=2*L(.05,1,1-(e.bounce||0))*Math.sqrt(s);r={...r,mass:d.mass,stiffness:s,damping:i}}else{let t=Be({...e,velocity:0});r={...r,...t,mass:d.mass},r.isResolvedFromDuration=!0}return r}function E(e=d.visualDuration,r=d.bounce){let t=typeof e!="object"?{visualDuration:e,keyframes:[0,1],bounce:r}:e,{restSpeed:o,restDelta:s}=t,i=t.keyframes[0],n=t.keyframes[t.keyframes.length-1],f={done:!1,value:i},{stiffness:a,damping:m,mass:p,duration:c,velocity:u,isResolvedFromDuration:g}=Le({...t,velocity:-O(t.velocity||0)}),A=u||0,x=m/(2*Math.sqrt(a*p)),h=n-i,y=O(Math.sqrt(a/p)),F=Math.abs(h)<5;o||(o=F?d.restSpeed.granular:d.restSpeed.default),s||(s=F?d.restDelta.granular:d.restDelta.default);let w,V,M,G,Y,H;if(x<1)M=te(y,x),G=(A+x*y*h)/M,w=l=>{let T=Math.exp(-x*y*l);return n-T*(G*Math.sin(M*l)+h*Math.cos(M*l))},Y=x*y*G+h*M,H=x*y*h-G*M,V=l=>Math.exp(-x*y*l)*(Y*Math.sin(M*l)+H*Math.cos(M*l));else if(x===1){w=T=>n-Math.exp(-y*T)*(h+(A+y*h)*T);let l=A+y*h;V=T=>Math.exp(-y*T)*(y*l*T-A)}else{let l=y*Math.sqrt(x*x-1);w=v=>{let k=Math.exp(-x*y*v),P=Math.min(l*v,300);return n-k*((A+x*y*h)*Math.sinh(P)+l*h*Math.cosh(P))/l};let T=(A+x*y*h)/l,S=x*y*T-h*l,N=x*y*h-T*l;V=v=>{let k=Math.exp(-x*y*v),P=Math.min(l*v,300);return k*(S*Math.sinh(P)+N*Math.cosh(P))}}let Z={calculatedDuration:g&&c||null,velocity:l=>D(V(l)),next:l=>{if(!g&&x<1){let S=Math.exp(-x*y*l),N=Math.sin(M*l),v=Math.cos(M*l),k=n-S*(G*N+h*v),P=D(S*(Y*N+H*v));return f.done=Math.abs(P)<=o&&Math.abs(n-k)<=s,f.value=f.done?n:k,f}let T=w(l);if(g)f.done=l>=c;else{let S=D(V(l));f.done=Math.abs(S)<=o&&Math.abs(n-T)<=s}return f.value=f.done?n:T,f},toString:()=>{let l=Math.min(j(Z),2e4),T=$(S=>Z.next(l*S).value,l,30);return l+"ms "+T},toTransition:()=>{}};return Z}E.applyToOptions=e=>{let r=de(e,100,E);return e.ease=r.ease,e.duration=D(r.duration),e.type="keyframes",e};var ye=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],oe=new Set([...ye,"pathRotation"]);var Ae={};function he(e,r){let t=_(e);return()=>Ae[r]??t()}var Te=he(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing");var C=([e,r,t,o])=>`cubic-bezier(${e}, ${r}, ${t}, ${o})`;var ne={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:C([0,.65,.55,1]),circOut:C([.55,0,1,.45]),backIn:C([.31,.01,.66,-.59]),backOut:C([.33,1.53,.69,.99])};function ie(e,r){if(e)return typeof e=="function"?Te()?$(e,r):"ease-out":J(e)?C(e):Array.isArray(e)?e.map(t=>ie(t,r)||ne.easeOut):ne[e]}function W(e,r,t,{delay:o=0,duration:s=300,repeat:i=0,repeatType:n="loop",ease:f="easeOut",times:a}={},m=void 0){let p={[r]:t};a&&(p.offset=a);let c=ie(f,s);Array.isArray(c)&&(p.easing=c);let u={delay:o,duration:s,easing:Array.isArray(c)?"linear":c,fill:"both",iterations:i+1,direction:n==="reverse"?"alternate":"normal"};return m&&(u.pseudoElement=m),e.animate(p,u)}function Me(e){return e.replace(/([A-Z])/g,r=>`-${r.toLowerCase()}`)}var q="framerAppearId",ae="data-"+Me(q);function se(e){return e.props[ae]}var b=new Map,I=new Map;var B=(e,r)=>{let t=oe.has(r)?"transform":r;return`${e}: ${t}`};function pe(e,r,t){let o=B(e,r),s=b.get(o);if(!s)return null;let{animation:i,startTime:n}=s;function f(){window.MotionCancelOptimisedAnimation?.(e,r,t)}return i.onfinish=f,n===null||window.MotionHandoffIsComplete?.(e)?(f(),null):n}var X,K,me=new Set;function Re(){me.forEach(e=>{e.animation.play(),e.animation.startTime=e.startTime}),me.clear()}function fe(e,r,t,o,s){if(window.MotionIsMounted)return;let i=e.dataset[q];if(!i)return;window.MotionHandoffAnimation=pe;let n=B(i,r);K||(K=W(e,r,[t[0],t[0]],{duration:1e4,ease:"linear"}),b.set(n,{animation:K,startTime:null}),window.MotionHandoffAnimation=pe,window.MotionHasOptimisedAnimation=(a,m)=>{if(!a)return!1;if(!m)return I.has(a);let p=B(a,m);return!!b.get(p)},window.MotionHandoffMarkAsComplete=a=>{I.has(a)&&I.set(a,!0)},window.MotionHandoffIsComplete=a=>I.get(a)===!0,window.MotionCancelOptimisedAnimation=(a,m,p,c)=>{let u=B(a,m),g=b.get(u);g&&(p&&c===void 0?p.postRender(()=>{p.postRender(()=>{g.animation.cancel()})}):g.animation.cancel(),p&&c?(me.add(g),p.render(Re)):(b.delete(u),b.size||(window.MotionCancelOptimisedAnimation=void 0)))},window.MotionCheckAppearSync=(a,m,p)=>{let c=se(a);if(!c)return;let u=window.MotionHasOptimisedAnimation?.(c,m),g=a.props.values?.[m];if(!u||!g)return;let A=p.on("change",x=>{g.get()!==x&&(window.MotionCancelOptimisedAnimation?.(c,m),A())});return A});let f=()=>{K.cancel();let a=W(e,r,t,o);X===void 0&&(X=performance.now()),a.startTime=X,b.set(n,{animation:a,startTime:X}),s&&s(a)};I.set(i,!1),K.ready?K.ready.then(f).catch(Q):f()}var ce=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],ze={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Fe={translateX:"px",translateY:"px",translateZ:"px",x:"px",y:"px",z:"px",perspective:"px",transformPerspective:"px",rotate:"deg",rotateX:"deg",rotateY:"deg"};function be(e,r){let t=Fe[e];return!t||typeof r=="string"&&r.endsWith(t)?r:`${r}${t}`}function le(e){return ce.includes(e)}var Ne=(e,r)=>ce.indexOf(e)-ce.indexOf(r);function Ve({transform:e,transformKeys:r},t){let o={},s=!0,i="";r.sort(Ne);for(let n of r){let f=e[n],a=!0;typeof f=="number"?a=f===(n.startsWith("scale")?1:0):a=parseFloat(f)===0,a||(s=!1,i+=`${ze[n]||n}(${e[n]}) `),t&&(o[n]=e[n])}return i=i.trim(),t?i=t(o,i):s&&(i="none"),i}function ue(e,r){let t=new Set(Object.keys(e));for(let o in r)t.add(o);return Array.from(t)}function xe(e,r){let t=r-e.length;if(t<=0)return e;let o=new Array(t).fill(e[e.length-1]);return e.concat(o)}function R(e){return e*1e3}var De={duration:.001},z={opacity:1,scale:1,translateX:0,translateY:0,translateZ:0,x:0,y:0,z:0,rotate:0,rotateX:0,rotateY:0};function we(e,r,t,o,s){return t.delay&&(t.delay=R(t.delay)),t.type==="spring"?je(e,r,t,o,s):qe(e,r,t,o,s)}function $e(e,r,t){let o={},s=0,i=0;for(let n of ue(e,r)){let f=e[n]??z[n],a=r[n]??z[n];if(f===void 0||a===void 0||n!=="transformPerspective"&&f===a&&f===z[n])continue;n==="transformPerspective"&&(o[n]=[f,a]);let m=Ue(f,a,t),{duration:p,keyframes:c}=m;p===void 0||c===void 0||(p>s&&(s=p,i=c.length),o[n]=c)}return{keyframeValuesByProps:o,longestDuration:s,longestLength:i}}function je(e,r,t,o,s){let i={},{keyframeValuesByProps:n,longestDuration:f,longestLength:a}=$e(e,r,t);if(!a)return i;let m={ease:"linear",duration:f,delay:t.delay},p=s?De:m,c={};for(let[g,A]of Object.entries(n))le(g)?c[g]=xe(A,a):i[g]={keyframes:xe(A,a),options:g==="opacity"?m:p};let u=Oe(c,o);return u&&(i.transform={keyframes:u,options:p}),i}function We(e){let{type:r,duration:t,...o}=e;return{duration:R(t),...o}}function qe(e,r,t,o,s){let i=We(t);if(!i)return;let n={},f=s?De:i,a={};for(let p of ue(e,r)){let c=e[p]??z[p],u=r[p]??z[p];c===void 0||u===void 0||p!=="transformPerspective"&&c===u||(le(p)?a[p]=[c,u]:n[p]={keyframes:[c,u],options:p==="opacity"?i:f})}let m=Oe(a,o);return m&&(n.transform={keyframes:m,options:f}),n}var Xe=["duration","bounce"],Ye=["stiffness","damping","mass"];function Pe(e){return Ye.some(r=>r in e)?!1:Xe.some(r=>r in e)}function He(e,r,t){return Pe(t)?`${e}-${r}-${t.duration}-${t.bounce}`:`${e}-${r}-${t.damping}-${t.stiffness}-${t.mass}`}function Ze(e){return Pe(e)?{...e,duration:R(e.duration)}:e}var Se=new Map,ve=10;function Ue(e,r,t){let o=He(e,r,t),s=Se.get(o);if(s)return s;let i=[e,r],n=E({...Ze(t),keyframes:i}),f={done:!1,value:i[0]},a=[],m=0;for(;!f.done&&me.replace(r,o)}function Ce(e){return e?e.find(t=>t.mediaQuery?window.matchMedia(t.mediaQuery).matches===!0:!1)?.hash:void 0}var Dt={animateAppearEffects:Ee,getActiveVariantHash:Ce,spring:E,startOptimizedAppearAnimation:fe};return Dt})() {"j4fbbl":{"default":{"initial":{"opacity":0.001,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"x":0,"y":-50},"animate":{"opacity":1,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"transition":{"damping":60,"delay":0,"mass":1,"stiffness":350,"type":"spring"},"x":0,"y":0}}},"1gl5wag":{"default":{"initial":{"opacity":0.001,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"x":0,"y":0},"animate":{"opacity":1,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"transition":{"bounce":0,"delay":0.2,"duration":1.2,"type":"spring"},"x":0,"y":0}}},"12072ya":{"default":{"initial":{"opacity":0.001,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"x":0,"y":40},"animate":{"opacity":1,"rotate":0,"rotateX":0,"rotateY":0,"scale":1,"skewX":0,"skewY":0,"transition":{"damping":90,"delay":0,"mass":1,"stiffness":400,"type":"spring"},"x":0,"y":0}}}} [{"hash":"3xyle8","mediaQuery":"(min-width: 1720px)"},{"hash":"1hobmrz","mediaQuery":"(min-width: 1200px) and (max-width: 1719.98px)"},{"hash":"ju962k","mediaQuery":"(max-width: 1199.98px)"},{"hash":"140hx7j","mediaQuery":"(min-width: 1720px)"},{"hash":"rhgz67","mediaQuery":"(min-width: 1200px) and (max-width: 1719.98px)"},{"hash":"1wonv3x","mediaQuery":"(max-width: 1199.98px)"}](()=>{function c(i,o,s){if(window.__framer_disable_appear_effects_optimization__||typeof animator>"u")return;let e={detail:{bg:document.hidden}};requestAnimationFrame(()=>{let a="framer-appear-start";performance.mark(a,e),animator.animateAppearEffects(JSON.parse(window.__framer__appearAnimationsContent.text),(m,p,d)=>{let t=document.querySelector(m);if(t)for(let[r,f]of Object.entries(p))animator.startOptimizedAppearAnimation(t,r,f,d[r])},i,o,s&&window.matchMedia("(prefers-reduced-motion:reduce)").matches===!0,animator.getActiveVariantHash(JSON.parse(window.__framer__breakpoints.text)));let n="framer-appear-end";performance.mark(n,e),performance.measure("framer-appear",{start:a,end:n,detail:e.detail})})}return c})()("data-framer-appear-id","__Appear_Animation_Transform__",false) typeof document<"u"&&(window.process={...window.process,env:{...window.process?.env,NODE_ENV:"production"}}); [{"0":1,"1":16},["Map",2,3],"{\"from\":\"e17e4dd5-2eb1-47a3-8dc7-3753f2200a82\",\"select\":[{\"collection\":\"LN5XHCA5r\",\"name\":\"ilyDWhyTp\",\"type\":\"Identifier\"},{\"collection\":\"LN5XHCA5r\",\"name\":\"mlDRvpw6X\",\"type\":\"Identifier\"},{\"collection\":\"LN5XHCA5r\",\"name\":\"yMB5yGeAk\",\"type\":\"Identifier\"}],\"where\":{\"type\":\"BinaryOperation\",\"operator\":\"==\",\"left\":{\"type\":\"TypeCast\",\"value\":{\"type\":\"Identifier\",\"name\":\"WrtPp8sfD\",\"collection\":\"LN5XHCA5r\"},\"dataType\":\"STRING\"},\"right\":{\"type\":\"LiteralValue\",\"value\":\"application-engineer-vehicle-data-processing\"}}}default",[4],{"ilyDWhyTp":5,"mlDRvpw6X":8,"yMB5yGeAk":11},{"type":6,"value":7},"string","Application Engineer – Vehicle Data Processing",{"type":9,"value":10},"enum","g98lCUvVL",{"type":12,"value":13},"richtext",{"collectionId":14,"pointer":15},"e17e4dd5-2eb1-47a3-8dc7-3753f2200a82default","[1,[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"Location: \"]],[5,\"Leuven, Belgium\"]],[4,\"p\",{\"dir\":\"auto\"},[5,\"IVEX is looking for a skilled and driven Application Engineer – Vehicle Data Processing to join our team shaping the future of Automated Driving and Advanced Driver-Assistance Systems. In this role, you will process customer data and execute hands-on data analysis using IVEX’s data tool chain, pipelines, and workflows. You’ll work directly with real-world vehicle datasets—such as camera images, LiDAR point clouds, GNSS, vehicle state, object lists, and lane lines—to produce reliable insights and customer-ready outputs.\"]],[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"In this role you will\"]]],[4,\"ul\",{\"dir\":\"auto\"},[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Execute customer-facing data analyses using IVEX tools and pipelines, turning raw vehicle data into structured results and actionable insights.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Process and validate multi-sensor vehicle datasets including LiDAR point clouds, vehicle camera images, GNSS, and related signals.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Work with common vehicle data types such as vehicle state, object lists, lane line detections, and derived KPIs.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Debug, adapt, and run analysis workflows in Linux environments, often via SSH and containerized setups.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Collaborate with customers and internal engineering teams to clarify requirements, troubleshoot issues, and deliver results efficiently.\"]]]],[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"What we are looking for\"]]],[4,\"ul\",{\"dir\":\"auto\"},[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Master’s degree or higher in Computer Science, Engineering, or a related technical field (or equivalent practical experience).\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Strong Python proficiency, with hands-on experience using Pandas and NumPy for data processing and analysis.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Experience working with vehicle sensor data, including LiDAR point clouds and vehicle camera images.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Familiarity with vehicle data structures such as vehicle state, object lists, and lane lines (or closely related representations).\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Solid working knowledge of Linux, SSH, Git, and Docker for running and troubleshooting analysis environments.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Excellent communication skills in English (written and verbal), with the ability to explain technical results clearly.\"]]]],[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"Nice to have\"]]],[4,\"ul\",{\"dir\":\"auto\"},[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Experience with cloud environments, especially AWS (a strong plus).\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Practical experience in Machine Learning for data-driven analysis tasks.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Experience with embedded platforms like NVIDIA Jetson or similar.\"]]],[4,\"li\",{\"data-preset-tag\":\"p\"},[4,\"p\",null,[5,\"Experience with sensor drivers and data acquisition (including images, point clouds, and GNSS data).\"]]]],[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"We offer\"]]],[4,\"p\",{\"dir\":\"auto\"},[5,\"A competitive salary, benefits package, and opportunities for professional growth at a dynamic startup. If you’re motivated by real-world vehicle data and enjoy working close to customers and product teams, we’d love to hear from you.\"]],[4,\"p\",{\"dir\":\"auto\"},[4,\"strong\",null,[5,\"Send us your CV and surprise us with your motivation.\"]]],[4,\"p\",{\"dir\":\"auto\"},[5,\"By sending your CV, you agree to our \"],[2,{\"href\":\"https://ivex.ai/wp-content/uploads/2024/01/2023.10.31-GDPR-recruitment-and-hiring-processes.docx-Documentos-Google.pdf\",\"openInNewTab\":true,\"smoothScroll\":false,\"relValues\":[\"noreferrer\"],\"motionChild\":true,\"nodeId\":\"uYq2L1UnT\",\"scopeId\":\"contentManagement\"},[4,\"a\",null,[5,\"GDPR\"]]],[5,\".\"]]]",["Map",17,18],"getSlugByRecordId|jmghuB7GM|default|bSYlRbekQ","series-a"]

Similar Jobs

All jobs