Back to results

EDA Software Engineer

  • Toronto, ON, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Experience
3+ years of software development experience.
Posting language
English
Posted

Original job description

Job Details:

Job Description:

About Altera

Altera is shaping the future of programmable logic by delivering FPGA and adaptive computing solutions that enable innovation across cloud, communications, industrial, automotive, aerospace, and emerging AI applications. We are seeking talented engineers who are passionate about solving complex technical challenges and advancing the next generation of FPGA software and design automation technologies.


The Opportunity

As an EDA Software Engineer, you will design, develop, and optimize software that powers Altera's FPGA design tools and workflows. You will work closely with FPGA architects, software engineers, hardware designers, and verification teams to build scalable Electronic Design Automation (EDA) solutions that enable customers to efficiently design, compile, verify, and deploy FPGA-based systems.


This role is ideal for engineers who enjoy building high-performance software, solving complex algorithmic problems, and working at the intersection of software engineering and semiconductor technology.


What You'll Do

  • Design and develop software components for FPGA EDA tools, including synthesis, placement, routing, timing analysis, design rule checking, and compilation flows.
  • Create scalable algorithms and data structures to improve tool quality, runtime performance, and resource utilization.
  • Develop features that enhance FPGA developer productivity and design closure.
  • Analyze and optimize software performance, memory usage, and compilation efficiency.
  • Collaborate with FPGA architecture, CAD, verification, and product engineering teams to define and implement new capabilities.
  • Debug complex customer-reported issues and develop sustainable solutions.
  • Contribute to software architecture, coding standards, testing frameworks, and CI/CD automation.
  • Research emerging technologies and methodologies in EDA, FPGA compilation, and AI-assisted design optimization.
  • Participate in code reviews and mentor junior engineers as appropriate.

Our compensation is designed to reflect the Canadian labour market. The actual salary offered may vary based on several factors, including the position’s location, as well as the candidate’s experience, skills, training, and job-specific knowledge. In addition to base salary, we offer performance-based incentive opportunities that reward both individual contributions and overall company success.​


Estimated Salary Range: $83.5K – $133.4K CAD​

​

We use artificial intelligence to screen, assess, or select applicants for the position.​ This posting is for an existing vacancy.​ Canadian work experience is not required for this role. Applicants must be eligible for any required Canada export authorizations.

Qualifications:

Required Qualifications

  • Bachelor's, Master's, or PhD in Computer Engineering, Electrical Engineering, Computer Science, or a related technical field.
  • 3+ years of software development experience.
  • Strong programming experience in C++.
  • Solid understanding of algorithms, data structures, and software design principles.
  • Experience developing software on Linux environments.
  • Strong debugging and problem-solving skills.
  • Excellent collaboration and communication abilities.

Preferred Qualifications

  • Experience with Electronic Design Automation (EDA) tools and methodologies.
  • Knowledge of FPGA, ASIC, digital design, or computer architecture concepts.
  • Experience with synthesis, placement and routing, timing analysis, or physical design algorithms.
  • Familiarity with scripting languages such as Python, Tcl, or Perl.
  • Understanding of multithreaded and high-performance computing techniques.
  • Experience developing large-scale software systems.
  • Knowledge of machine learning applications in EDA is a plus.
  • Experience working with version control systems and modern software development practices.

Technical Skills

  • Programming: C++, Python, Tcl
  • Platforms: Linux, Git, CI/CD tools
  • Areas of Interest: FPGA compilation, synthesis, place-and-route, timing analysis, optimization algorithms, EDA workflows, hardware/software co-design

Why Join Altera?

  • Help build the next generation of FPGA development tools used by engineers worldwide.
  • Work on highly technical challenges at the intersection of software and semiconductor innovation.
  • Collaborate with industry-leading FPGA architects and software engineers.
  • Competitive compensation, bonus opportunities, and long-term incentive programs.

Job Type:

Regular

Shift:

Shift 1 (Canada)

Primary Location:

Toronto, Ontario, Canada

Additional Locations:

Posting Statement:

All qualified applicants will receive consideration for employment without regard to race, color, religion, religious creed, sex, national origin, ancestry, age, physical or mental disability, medical condition, genetic information, military and veteran status, marital status, pregnancy, gender, gender expression, gender identity, sexual orientation, or any other characteristic protected by local law, regulation, or ordinance.
More about this job

Responsibilities

Develop and optimize software for FPGA EDA tools and workflows, including synthesis, placement and routing, timing analysis, design rule checking, and compilation. Improve performance and developer productivity, troubleshoot complex issues, and collaborate with architecture, verification, and engineering teams to deliver new capabilities.

Requirements

Requires a bachelor's, master's, or PhD in computer engineering, electrical engineering, computer science, or a related field, along with at least three years of software development experience and strong C++ skills. Candidates should understand algorithms and data structures, have Linux development experience, and demonstrate strong debugging, problem-solving, and collaboration abilities; EDA or FPGA experience is preferred.

Skills

  • C++
  • Python
  • Tcl
  • Linux
  • Git
  • CI/CD
  • Algorithms
  • Data Structures
  • Software Design
  • Debugging
  • FPGA Compilation
  • Synthesis
  • Placement and Routing
  • Timing Analysis
  • Multithreaded Computing
  • EDA

Benefits

  • Performance-Based Incentives
  • Bonus Opportunities
  • Long-Term Incentive Programs

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering

Keywords

  • Electronic Design Automation
  • EDA
  • FPGA
  • C++
  • Python
  • Tcl
  • Perl
  • Linux
  • Git
  • CI/CD
  • Synthesis
  • Placement and Routing
  • Timing Analysis
  • Design Rule Checking
  • FPGA Compilation
  • ASIC
  • Digital Design
  • Computer Architecture
  • Physical Design Algorithms
  • Optimization Algorithms
  • Data Structures
  • Multithreaded Computing
  • High-Performance Computing
  • Machine Learning
  • Hardware/Software Co-Design
  • Verification
  • Software Architecture
  • Software Testing
  • Design Closure

Report this job