Python Systems & Visualization Engineer
Role details
Job location
Tech stack
Job description
You own the Python software layer across two connected domains: the R&D infrastructure our engineers rely on daily, and the data visualization and control interfaces we expose to operators and customers.
On the R&D side: measurement frameworks, test automation, CI/CD, and behavioral simulation codebases. On the product side: web-based interfaces that visualize live data and enable interactive control of embedded devices, deployed on local machines or embedded Linux targets. In both domains, you think in architecture, not just implementation., * Code Quality & Repo Ownership: Structure, maintainability, and consistency across our Python repositories. OOP design, packaging standards, Git workflows, PR reviews, versioning.
- Test Automation: pytest-based frameworks integrated into CI/CD pipelines.
- Measurement Software: Maintain and extend instrument control and measurement classes, including existing Qt-based tooling. (SCPI/VISA familiarity is a plus; willingness to learn is a must.)
- Simulation & Digital Twin Maintenance: Code quality and architecture of behavioral system simulators. Domain model content comes from RF/DSP experts, structure and consistency are yours.
- Visualization & Control Interfaces: Own the architecture and implementation of web-based UIs for live data visualization and device control. Clean separation between device communication layer (FastAPI, async Python, WebSocket), and UI layer (Dash/Plotly or equivalent). Customer-facing quality standard., You will work alongside RF, DSP, and embedded specialists, gain exposure to a technically demanding engineering environment, and have genuine latitude to shape how modern development tooling is used within the team.
Requirements
Your Profile
Experience: 3+ years of professional Python development with demonstrable ownership of non-trivial projects or codebases.
Education: BSc/MSc in Computer Science, Software Engineering, Physics, Electrical Engineering, or a comparable technical field.
Language: Professional English required; German is beneficial but not a must.
Must-Have
- Python engineering depth: demonstratable skills in async Python and concurrency, clean OOP, testable and packageable code, FastAPI or equivalent
- Visualization architecture: interactive data interfaces; Qt; Dash/Plotly or comparable; understanding of UI/backend decoupling and stateful interfaces
- API & real-time communication: design a clean interface between hardware and UI; understanding of transport-layer fundamentals, latency, failure modes in practice
- Software engineering discipline: version control, branching strategy, structured PRs, test coverage, releasing, CI/CD
- AI-assisted development: using LLM-based tools where they add real value; own what gets generated
- Mindset: self-directed, structured, able to own and evolve an architecture without close supervision
Nice-to-Have
- Lab Awareness: Exposure to lab environments or hardware communication protocols (SCPI/Visa, CAN, serial, or similar)
- Embedded Linux: Experience with embedded Linux targets and their resource constraints
- Tools: Familiarity with Atlassian tooling (Jira/Confluence) and Bitbucket-based workflows
- Quality Standards: Exposure to EN9100, ISO 9001, or similar
Benefits & conditions
For this position, the minimum salary according to the Kollektivvertrag Metallgewerbe (Verwendungs-gruppe III, 2 years) is € 2.918,34 gross per month, with a clear willingness to overpay based on your existing projects and technical skills.