Skip to main content
Back to jobs

Senior Python Engineer, Platform Libraries (m/f/d)

Unitelabs

München 9/7/2026 Experienced
Apply on source ↗ Save

<br><strong>The role</strong><p><p><span style="font-size:14px;color:rgb(0,0,0);">We’re looking for a <strong>Senior Python Engineer, Platform Libraries</strong> (m/f/d) to join our team and play a key role in developing software that connects and translates lab equipment hardware interfaces, automates machines, and powers our next-generation automation platform. As a core team member, you will be working on cutting-edge technology, building software that bridges the gap between software and hardware, enabling seamless integration across various vendors.</span></p><span style="font-size:14px;color:rgb(0,0,0);">Connectors are how we do it. Every instrument we bring online gets one, and every connector is built on our shared Python libraries: Bus, our Connector Development Kit, and the stack underneath them.<br><br></span><p><span style="font-size:14px;color:rgb(0,0,0);">Our mission is to empower researchers and engineers by bridging the gap between lab equipment and cloud-based automation. Our customers are solving critical challenges like curing diseases, developing sustainable materials, and addressing global food security. We provide them with the tools to connect their devices, automate workflows, and unlock new possibilities in R&amp;D.</span></p><p><span style="font-size:14px;color:rgb(0,0,0);">Your mandate has two halves. Own the libraries as a product with real users, our own engineers today and external contributors later. And stay close enough to customer connector work that what you build is grounded in problems that actually exist.</span></p></p><br><strong>Why you'll love this role</strong><p><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>Your users are engineers.</strong></span><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"><strong> </strong>Your success lets other people ship connectors faster. That's a different craft from shipping features, and it's the one we're hiring for.</span><br><span style="font-family:Arial, Helvetica, sans-serif;"><br></span><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>Real hardware, real failure modes.</strong></span><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Instruments time out, return garbage, and arrive with documentation that's wrong. You'll debug against physical devices in our Munich workshop.</span></p><span style="font-family:Arial, Helvetica, sans-serif;"><br></span><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>Open source on purpose.</strong></span><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Our CDK and our standardization work (<span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">SiLA 2) </span>are public. What you build gets used and criticized by people outside the company.</span></p><span style="font-family:Arial, Helvetica, sans-serif;"><br></span><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>Senior scope, small team.</strong></span><span style="font-size:11pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"><strong> </strong>You'll be the person who decides how connector engineering works here. No layer between you and that decision.</span></p></p><br><strong>Your mission</strong><p><span style="font-size:12pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">1. The Builder: own the shared libraries</span><ul style="margin-top:0px;margin-bottom:0px;"><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Own Bus, the CDK, and the core stack.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Features, tests, CI, releases, and deprecations across the connectors already running in production.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Extract abstractions from real work.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> When the same pattern shows up in the third connector, it becomes a library feature. You're the one who notices, and the one who does it.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Make the docs good enough to remove yourself.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> An outside contributor should be able to build a connector on our libraries without a call.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Set the quality standard.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> You define what "tested" means before a connector reaches a customer, and you make it stick.</span></p></li></ul><span style="font-size:12pt;font-family:Arial, Helvetica, sans-serif;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">2. The Shipper: build connectors on real instruments</span><ul style="margin-top:0px;margin-bottom:0px;"><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Ship production connectors end to end.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Spec sheet, physical device, protocol, proof of connectivity, tested connector, live customer. Independently.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Reverse-engineer what isn't documented.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Roughly half the instruments we touch have incomplete or wrong docs. Packet captures, trial and error, vendor calls.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Work with the workshop.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Our Connector Factory team gets instruments development-ready. You take it from there.</span></p></li><li style="list-style-type:disc;font-size:11pt;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:11pt;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Talk to the people who use it.</span><span style="font-size:11pt;background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Automation engineers and scientists at biotech and pharma customers. Their constraints shape what the libraries need next.</span></p></li></ul></p><br><strong>Your profile</strong><p><ul><li style="color:rgb(0,0,0);font-family:Arial, Helvetica, sans-serif;font-size:14px;"><p><strong>Deep Python:</strong> <span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">5+ years of writing production Python other people depend on. Async, typing, packaging, testing. You've designed APIs that other engineers built on, not just glue code.</span></p></li><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><p><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong><strong>You've debugged a real protocol against real hardware:</strong></strong></span><span style="background-color:transparent;"> gRPC, serial, TCP, OPC UA, CAN, USB. Which one matters less than having sat with a packet capture and a device that won't respond.</span></p></li><li style="color:rgb(0,0,0);font-family:Arial, Helvetica, sans-serif;font-size:14px;"><p><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>You ship without a spec:</strong></span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"><strong> </strong>When the documentation is wrong, you reverse-engineer, instead of filing a vendor ticket and waiting. </span></p></li><li style="color:rgb(0,0,0);font-family:Arial, Helvetica, sans-serif;font-size:14px;"><p><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>You build for other developers:</strong></span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> An SDK, a library, an internal platform. Something where your job was making other engineers faster.</span></p></li><li style="color:rgb(0,0,0);font-family:Arial, Helvetica, sans-serif;font-size:14px;"><p><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><strong>Located in Munich: </strong></span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">The instruments are physically here at WERK1. </span></p></li></ul></p><br><strong>Nice to have</strong><p><ul><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">SiLA 2, or another device abstraction and interoperability standard</span></p></li><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Lab automation, scientific instruments, or a life science background</span></p></li><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Open source maintainership with actual external contributors</span></p></li><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">C, C++, .NET, or Rust, for the vendor DLLs and drivers we end up wrapping</span></p></li><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Docker, Kubernetes, edge deployment</span></p></li><li style="font-size:14px;color:rgb(0,0,0);"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-family:Arial, sans-serif;background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">German, for vendor conversations</span></p></li></ul></p><br><strong>Probably not a fit if</strong><p><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">Better to say this now than in week 6.</span></p><span style="font-family:Arial, Helvetica, sans-serif;font-size:14px;color:rgb(0,0,0);"><br></span><ul style="margin-top:0px;margin-bottom:0px;"><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">Your Python is all APIs and databases and you've never debugged a physical device.</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">You'd want two quarters to redesign the library architecture before shipping a connector.</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">You like shipping integrations but have no appetite for going back afterwards to generalise, test, and document.</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;">You want the library work without the customer deadlines. Both are in the job.</span></p></li></ul></p><br><strong>About UniteLabs</strong><p><p><a href="https://unitelabs.io" target="_blank" rel="noreferrer noopener">UniteLabs</a> is on the mission to accelerate scientific progress by automating lab processes with scalable infrastructure.</p><p>We’re a startup based in Munich, Germany, pioneering an industry-first integration platform for lab automation, bridging hardware and software across vendor barriers to revolutionize life science R&amp;D. By digitalizing life science R&amp;D, we enable researchers in biotech, pharma, chemistry, and food industries to accelerate their work in groundbreaking fields such as disease treatment, sustainable materials, and food security.</p><p>Our platform empowers customers to analyze more data, run autonomous experiments, and leverage AI-driven solutions, driving innovation and efficiency. At UniteLabs, we are committed to providing the infrastructure that powers the future of scientific discovery.</p><p>As one of the first full-time hires, you'll thrive in a fast-paced, dynamic environment and take on significant responsibilities from day one. We are a tech-driven company that takes pride in our solutions—and we’re looking for individuals who share that passion and want to grow with the company into leadership and expert roles.</p></p><br><strong>Why You’ll Love Working Here</strong><p><ul><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><p><strong>Impactful Work</strong><strong>:</strong> Work on meaningful products in an ambitious, supportive environment as part of a team revolutionizing connectivity in laboratory automation to enable breakthroughs in science and technology.</p></li><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><p><strong>Work with the Best:</strong> Join a talented, ambitious team in a dynamic, transparent environment where your ideas help shape the company's future.</p></li><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><p><strong>Collaborative Culture:</strong> Team-oriented environment focused on continuous knowledge-sharing and professional growth, with regular team-building activities including offsites and work-cations.</p></li><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><p><strong>Flexible Environment: </strong>Backed by an employee-first culture that supports flexible remote work and PTO, with our main office in the vibrant WERK1 Munich hub. Hardware debugging happens there, so being regularly onsite is a must.</p></li><li style="font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);font-size:14px;"><strong>Attractive Compensation Package:</strong> Competitive compensation with growth potential in a VC-backed startup, along with a laptop of choice, annual productivity budget, and a growing list of benefits for sports, mobility, insurance, and more.</li></ul></p><br><strong>Tech stack</strong><p><p><span style="color:rgb(0,0,0);font-size:14px;font-family:Arial, Helvetica, sans-serif;">A non-exhaustive list of our main technologies and tools used for a given task:</span></p><ul><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Connectors:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Python, SiLA 2, gRPC, zeroconf</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Workflows:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Python, Prefect</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Services:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> TypeScript, NestJS, Prisma</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Web:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> TypeScript, Vue 3, Nuxt 3, TailwindCSS</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Cloud:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> Docker, Kubernetes, Helm, AWS, Terraform</span></p></li><li style="list-style-type:disc;font-size:14px;font-family:Arial, Helvetica, sans-serif;color:rgb(0,0,0);background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;"><p style="line-height:1.38;margin-top:0pt;margin-bottom:0pt;"><span style="background-color:transparent;font-weight:400;font-style:normal;text-decoration:none;">Databases:</span><span style="background-color:transparent;font-weight:300;font-style:normal;text-decoration:none;"> PostgreSQL</span></p></li></ul></p><br><strong>How to apply</strong><p><p><span style="color:rgb(0,0,0);">If you’re passionate about automation, have a customer-focused mindset, and are ready to define the future of smart labs, we’d love to hear from you. Share your CV or LinkedIn profile, along with your responses to the three questions in the application form.</span></p><p><span style="color:rgb(0,0,0);">Let’s build the future of lab automation together. Apply today!</span></p></p><p>Find <a href="https://www.arbeitnow.com">Jobs in Germany</a> on Arbeitnow</a>

PythonDeveloperBiotechRustSoftware DevelopmentAutomationHardwaregRPCPrefectDockerInterfacesIntegrationStartupSDKtestingconnectorsAPI

Related on GOH