Lead Software Engineer
Cadence · BANGALORE 05
Job description
At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.Position: Lead Software Engineer (Virtuoso) Location: Bangalore Experience: 4-6 Years Cadence Design Systems is seeking a Lead Software Engineer to help lead the GUI and core workflow architecture for Quantus Insight, our next-generation parasitic extraction platform. Built from scratch less than four years ago, this modern codebase offers a rare EDA environment: minimal legacy burden with significant opportunities for greenfield project work. Based in the Quantus Insight R&D (Digital & Signoff Group), you will collaborate closely with leadership to design the application architecture using the Qt Framework and optimize the core structures supporting it. Because our databases frequently exceed one billion elements, you will solve complex scalability challenges by designing highly optimized, multi-threaded workflows with UI support that maintain high performance under heavy data loads. This position also offers a unique opportunity to architect high-performance, multi-tool collaborative workflows. You will design and implement robust Inter-Process Communication (IPC) layers that interface directly with other Cadence tools via the SKILL programming language, shaping technology used to design electronic devices worldwide. Job Responsibilities 1. Architecture & Design (Core Engine & Workflow) High-Load Dataflow & Workflow Engineering: Design robust internal dataflows, defining how massive datasets smoothly migrate between the computational backend and downstream platform workflows. Core Optimization: Architect high-performance, UI-agnostic core structures and algorithms to optimize data throughput, memory footprints, and heavy computation cycles. Asynchronous Multi-Threading: Implement advanced multi-threading and parallel processing patterns to isolate heavy background database operations from the application's interactive layers. 2. Tool Interoperability & SKILL Integration High-Performance IPC Implementation: Design, optimize, and maintain efficient Inter-Process Communication (IPC) mechanisms to enable seamless data exchange with concurrent Cadence tools. Cross-Tool Communication: Build reliable, low-latency communication bridges between Quantus Insight and other EDA tools within the ecosystem to sync design and layout data. SKILL Language Integration: Expose internal application states, UI triggers, and core APIs via robust programmatic interfaces accessible to the SKILL runtime environment. Dynamic State Synchronization: Ensure that data modifications, cross-tool commands, and execution results triggered via IPC/SKILL scripts are instantly and dynamically updated within the Qt user interface. 3. GUI Development (Qt Framework) Widgets Implementation: Drive the hands-on development and implementation of the Quantus Insight graphical user interface using C++ and the Qt Widgets framework. Big Data Presentation: Build and customize high-scale Qt Model/View components (trees, tables, forms) optimized for lazy loading, data paging, and minimal memory overhead. Linux Environment Profiling: Deeply profile, debug (using GDB/Valgrind), and tune UI performance under extreme memory and CPU utilization in Linux desktop environments. Job Qualifications & Experience Education: Bachelor’s, Master’s, or PhD in Computer Science, Software Engineering, or a related technical field. Experience: 4+ years of professional software development experience (or 5+ years with an advanced degree) focused on complex desktop application UIs and tool integration. Required Skills Expert C++: Deep proficiency in modern C++ (C++ 17 or newer) including STL. Linux Expertise: Advanced development, debugging (GDB, Valgrind), and performance profiling in Linux environments. Software Engineering: Strong grasp of object-oriented design, design patterns, and the full Software Development Life Cycle. Additional Skills/Preferences QT Framework: Experience with the Qt framework for GUI development is a big plus. SKILL / Lisp Language: Prior experience writing, debugging, or interfacing with Cadence SKILL language scripts is highly desirable. Given that SKILL is based on Lisp, strong experience with Lisp dialect programming (e.g., Common Lisp, Scheme, Clojure) is highly valued. System Programming / IPC: Practical experience with Linux systems programming, including shared memory, sockets, named pipes, or signal handling. EDA Experience: Knowledge of parasitic extraction, layout connectivity, or physical verification. We’re doing work that matters. Help us solve what others can’t.
Verified and listed by ActiveJobs. Applications are made directly on Cadence's own career page — we never sit in the middle.