EDA Software Engineer
AlteraJob Title
EDA Software Engineer
Role Summary
The EDA Software Engineer will design, develop, and optimize software components for FPGA electronic design automation (EDA) tools to enable efficient design, compilation, verification, and deployment of FPGA-based systems.
This role works closely with FPGA architects, CAD, hardware designers, and verification teams to implement scalable algorithms, improve tool performance, and support customers in achieving design closure.
Experience Level
Mid-level - typically requires 3+ years of software development experience.
Responsibilities
Key responsibilities include developing and improving EDA tool capabilities, analyzing performance, and collaborating across engineering teams.
- Design and implement software components for synthesis, placement, routing, timing analysis, design rule checking, and compilation flows.
- Create scalable algorithms and data structures to improve runtime performance and resource utilization.
- Analyze and optimize software performance, memory usage, and compilation efficiency.
- Develop features that improve developer productivity and enable design closure for FPGA projects.
- Collaborate with FPGA architecture, CAD, verification, and product teams to define and deliver new capabilities.
- Debug complex customer-reported issues and produce maintainable solutions.
- Contribute to software architecture, coding standards, testing frameworks, and CI/CD automation.
- Participate in code reviews, mentor junior engineers, and research emerging EDA and AI-assisted design techniques.
Requirements
Must-have technical skills and experience; preferred items listed separately.
Must-have:
- 3+ years of professional software development experience.
- Strong programming skills in C++.
- Solid understanding of algorithms, data structures, and software design principles.
- Experience developing software on Linux environments.
- Strong debugging and problem-solving skills.
- Effective collaboration and communication skills.
Nice-to-have:
- Experience with EDA tools and methodologies.
- Knowledge of FPGA, ASIC, digital design, or computer architecture concepts.
- Experience with synthesis, placement-and-route, timing analysis, or physical design algorithms.
- Familiarity with scripting languages (Python, Tcl, Perl) and multithreaded/high-performance computing techniques.
- Experience with version control, CI/CD tools, and large-scale software systems.
- Familiarity with machine learning applications in EDA is a plus.
Education Requirements
Bachelor's, Master's, or PhD in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
About the Company
Company: Altera
Headquarters: Bengaluru, Karnataka, India
Altera provides leadership programmable solutions for applications ranging from cloud to edge, unveiling limitless AI possibilities. Their extensive product portfolio includes FPGAs, CPLDs, Intellectual Property, development tools, and System on Modules aimed at accelerating innovation in various fields.
