Lead Software Engineer

Cadence Design SystemsZhubei, TaiwanOn-siteFull-timeSenior, 5–8 yearsListed 4 hours ago

Apply now

About this role

At Cadence, we hire and develop leaders and innovators who want to make an impact on the world of technology.

Skills You’ll Need: Minimum Qualifications

- 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.

###

Preferred Qualifications

- Sound technical judgment, with attention to correctness, simplicity, performance, maintainability, and overall software quality.
- Experience or knowledge in one or more of the following areas is preferred.
- Relevant experience may be demonstrated through coursework, academic research, internships, open-source contributions, technical competitions, or personal projects:
- 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.

We’re doing work that matters. Help us solve what others can’t.