Distributed Systems Engineer
ExternalPrepare for this interview
EliteAI-generated questions, company research, and talking points tailored to this role
About the role
We're building a next-generation distributed transistor-level electromigration and IR drop analysis tool. Our team has strong expertise in numerical solvers and circuit simulation algorithms. We're looking for a motivated distributed systems engineer to help build the scalable data processing infrastructure for handling massive circuit designs across distributed computing resources. What You'll Build You'll contribute to the core distributed infrastructure for a Python-based platform orchestrating high-performance C++ solvers, working on: Data Pipeline & I/O Management Build ingestion pipelines for large-scale netlists and simulation data Implement high-performance I/O for multi-TB circuit databases Develop serialization/deserialization layers bridging Python and C++ components Design streaming interfaces for distributed solver results Job Orchestration & Workflow Implement task distribution with fault-tolerant scheduling for long-running simulations Develop resource management and load balancing across compute clusters Build monitoring and observability for distributed workflows Optimize task granularity and dependency management Visualization & Analytics Develop scalable visualization for multi-dimensional TB-scale simulation results Implement interactive data exploration with optimization techniques (downsampling, LOD, progressive rendering) Required Expertise Distributed Systems 3+ years building distributed systems with Python Experience with distributed computing frameworks (Dask, Spark, Ray, or Celery) Understanding of distributed computing patterns, data locality, and fault tolerance Data Engineering Experience with high-performance data formats (HDF5, Parquet, Arrow, or similar columnar formats) Familiarity with data partitioning strategies and streaming patterns Some exposure to Python/C++ interop (pybind11, nanobind) Software Engineering Strong Python, C++ programming skills with production code experience Comfortable working in large codebases and collaborative development environments Understanding of software engineering best practices (testing, code review)
Requirements
- Background in EDA, VLSI, semiconductor design, or computational engineering
- Experience with scientific/engineering data visualization
- HPC experience with job schedulers (Slurm, PBS, LSF)
- GPU acceleration knowledge
- Familiarity with modern tools (Go, Plotly, Bokeh, Holoviews, Datashader)
- Open-source distributed computing or other contributions
- Experience with cloud platforms (AWS, GCP, Azure)
- Why Join Us
- What You'll Learn
- Production distributed systems architecture and patterns
- Large-scale data pipeline design and optimization
- Performance engineering for multi-TB datasets
- Building reliable, observable infrastructure
- Working with domain experts in circuit simulation and numerical methods
- Ideal Candidate
- No circuit simulation expertise needed. We need your enthusiasm for building scalable, reliable infrastructure and your willingness to grow into a distributed systems expert.
- Position Location
- This is a full-time, on-site position based in Port Moody (Greater Vancouver Area) Canada. In-office attendance is required.
- The annual salary range for British Columbia is 89,600 CAD to 166,400 CAD.
- We're doing work that matters. Help us solve what others can't.
Benefits
Additional Information
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.
Your Match
How well this role fits your profile.
Company Intel
What employees say
Worked at Cadence? Share your experience