Lead Software Engineer
Cadence Design Systems
Lead Software Engineer
Cadence Design Systems
Develops EDA software, IP, verification tools
Bachelor’s or Master’s degree in Computer Science, Electrical Engineering, Computer Engineering, Math, or a related technical field.
Proficiency in C or C++ programming on Linux, demonstrated through coursework, academic research, internships, open-source contributions, or personal projects.
Solid understanding of data structures, algorithms, computational complexity, and object-oriented programming.
Strong analytical and problem-solving skills, with the ability to break down complex technical problems and develop logical, structured solutions.
Basic understanding of software debugging and testing principles.
Familiarity with coding agents and their application to software development tasks such as codebase exploration, implementation, debugging, test development, and documentation.
Ability to review and validate agent-generated results, with an understanding of their correctness and broader technical implications.
Willingness and ability to learn unfamiliar technologies, engineering tools, and technical domains.
Ability to work effectively in a collaborative engineering environment.
Clear written and verbal communication skills.
Algorithms and optimization, including graph algorithms, partitioning, clustering, matching, flow and cut algorithms, heuristics, metaheuristics, or combinatorial optimization.
Parallel and concurrent programming, including multithreading, synchronization, task scheduling, distributed computation, SIMD programming, vectorization, or GPU acceleration.
Performance engineering, including profiling, memory optimization, cache-aware data structures, workload analysis, or algorithmic tuning.
Systems programming, computer architecture, operating systems, compilers, or large-scale data processing.
Electronic Design Automation, digital logic design, simulation, emulation, verification, or semiconductor design workflows.
Experience with modern software development workflows and tools on Linux, including version control systems such as Git or Perforce; build tools and systems such as Make and CMake; testing frameworks such as GoogleTest; and practices such as continuous integration, static analysis, and code review.
Hands-on experience applying coding agents to multi-step software engineering tasks, such as repository exploration, technical planning, implementation, build execution, test development, debugging, validation, and iterative refinement.
Understanding of Agentic Software Engineering, including the disciplined integration of coding agents, deterministic engineering tools, objective validation mechanisms, and human engineering judgment.
Familiarity with Harness Engineering, including the context, tools, execution environments, permissions, validation mechanisms, feedback channels, and operational guardrails that enable coding agents to operate reliably.
Familiarity with Loop Engineering, including iterative agent execution, progress evaluation, validation checkpoints, retry and recovery strategies, and explicit completion or stopping criteria.
Familiarity with Context Engineering, including structured task specifications, repository-level instructions, relevant context selection, progressive context retrieval, and context management across multi-step engineering tasks.
Exposure to Agent Orchestration, including tool invocation, task decomposition, workflow coordination, sub-agent collaboration, and integration between model-driven reasoning and deterministic engineering tools.
Experience developing or configuring Agent Skills, reusable workflows, tool integrations, or MCP-based capabilities that encode domain knowledge and support the repeatable execution of engineering tasks.
Familiarity with Human-in-the-Loop Control, including review checkpoints, approval boundaries, permission management, uncertainty handling, and escalation mechanisms.
Experience using engineering validation techniques such as compilation, automated testing, regression analysis, static analysis, runtime diagnostics, or profiling to provide objective feedback on agent-generated software changes.
Demonstrated curiosity about emerging software engineering technologies, along with the ability to learn through hands-on experimentation and empirical validation.
Develops EDA software, IP, verification tools
Cadence Design Systems supplies software, hardware, and IP for electronic design automation (EDA) to help customers create advanced semiconductor chips and electronic systems. Its tools handle system design, verification, digital and analog IC design, and custom flows, while IP such as Tensilica processors and DSP cores can be licensed for integration into customer products. The offerings are delivered as software licenses with maintenance and support, plus IP licensing and occasional hardware-accelerated options. The company differentiates itself with a broad, end-to-end EDA portfolio and close collaboration with industry leaders to streamline the path from concept to silicon, aiming to help customers bring sophisticated silicon and electronics to market faster with lower risk and higher productivity.
Explore more opportunities at Cadence Design Systems