1

Embedded Software Engineer Jobs in Alberta (NOW HIRING)

Senior Software Engineer - Canada

Calgary, AB · Remote

CA$120K - CA$150K/yr

Our award-winning software platform is powered by a team of world-class experts in big data ... As platform engineers, we are building a next-generation machine learning platform, which ...

B.Sc. in Geomatics/Electrical/Software Engineering with 8+ years of industrial experience or M.Sc ... Strong embedded C/C++ programming skills * Strong written and verbal communication skills Key ...

You are a senior software engineer who happens to specialize in automation, not a developer who just builds bots. You thrive in environments that require both technical mastery and strategic vision.

Work closely with mechanical, software, and systems engineers from concept through production ... Bachelor's or Master's in Electrical or Computer Engineering. * 5+ years of experience in embedded ...

Work closely with mechanical, software, and systems engineers from concept through production ... Bachelor's or Master's in Electrical or Computer Engineering. * 5+ years of experience in embedded ...

next page

Showing results 1-20

Embedded Software Engineer information

What is the difference between Embedded Software Engineer vs Firmware Engineer?

AspectEmbedded Software EngineerFirmware Engineer
CredentialsBachelor's in Computer Engineering, Electrical Engineering, or related fields; often requires knowledge of C/C++Similar credentials; strong C/C++ skills, understanding of hardware
Work EnvironmentDevelops software for embedded systems in various industries like automotive, IoT, consumer electronicsFocuses on low-level hardware interaction, often working closely with hardware teams
Industry UsageCommon in automotive, medical devices, consumer electronics, industrial automationPrimarily in consumer electronics, IoT devices, and hardware startups

Embedded Software Engineers design and develop software for embedded systems, focusing on system-level programming. Firmware Engineers write low-level code that directly interacts with hardware components. While both roles require similar skills and work environments, Embedded Software Engineers often work on a broader range of software, whereas Firmware Engineers focus on hardware-specific code. Understanding these differences helps in choosing the right career path or job search focus.

What Is an Embedded Software Engineer?

Embedded software is installed on devices that operate like personal computers. Examples of embedded software can be found in geographic positioning systems, or GPS devices, smart watches, and calculators. Embedded software engineers perform a range of embedded software engineering functions, including running system software updates and designing software for embedded systems. Embedded software engineers also advise on product development, approve new product designs, and optimize the product lifecycle.

What are the key skills and qualifications needed to thrive as an Embedded Software Engineer, and why are they important?

To thrive as an Embedded Software Engineer, you need a solid background in computer science or electrical engineering, strong programming skills in C/C++, and experience with embedded systems design. Familiarity with real-time operating systems (RTOS), microcontroller architectures, debugging tools, and version control systems like Git is typically required. Excellent problem-solving abilities, attention to detail, and effective communication skills set top engineers apart. These competencies are crucial for building reliable, efficient, and safe embedded solutions that meet industry standards.

What are Embedded Software Engineers?

Embedded Software Engineers are professionals who design, develop, and maintain software that runs on embedded systems—specialized computing devices that are part of larger systems, such as cars, medical devices, industrial machines, and consumer electronics. Their work involves programming in languages like C or C++ to interact closely with hardware components, ensuring optimal performance, reliability, and safety. Embedded Software Engineers work closely with hardware engineers to integrate and test software with physical devices, often working within real-time and resource-constrained environments. Their expertise is crucial in developing the 'brains' of many devices we use every day.

How does an Embedded Software Engineer typically collaborate with hardware engineers during product development?

Embedded Software Engineers work closely with hardware engineers throughout the product development lifecycle. Collaboration often involves joint design reviews, debugging sessions, and integration testing to ensure software and hardware function seamlessly together. Effective communication is crucial, as changes in hardware can impact software functionality and vice versa. This cross-disciplinary teamwork helps resolve technical issues quickly and ensures the end product meets performance and reliability standards.
What are the most commonly searched types of Embedded Software Engineer jobs in Alberta? The most popular types of Embedded Software Engineer jobs in Alberta are:
What are popular job titles related to Embedded Software Engineer jobs in Alberta? For Embedded Software Engineer jobs in Alberta, the most frequently searched job titles are:
What job categories do people searching Embedded Software Engineer jobs in Alberta look for? The top searched job categories for Embedded Software Engineer jobs in Alberta are:
What cities in Alberta are hiring for Embedded Software Engineer jobs? Cities in Alberta with the most Embedded Software Engineer job openings:
Senior Neural Network Kernel Software Development Engineer

Senior Neural Network Kernel Software Development Engineer

Targeted Talent

Calgary, AB

$110K - $140K/yr

Full-time

Medical

Posted 12 days ago


Job description

Senior Neural Network Kernel Software Development Engineer


Our client is making substantial investments in software to enhance the seamless deployment of neural networks on their hardware, streamlining the experience for researchers and developers. The focus involves the optimization of various common neural networks for optimal performance on architectures, facilitated by the software optimization tool flow.

We are seeking software developers who are driven and naturally curious. The chosen candidate will contribute within agile teams, working closely with senior software engineers for mentorship. This role presents an opportunity to tackle novel challenges using cutting-edge technologies, as they build innovative systems from scratch.

As a key team member, you will specialize in constructing efficient implementations of practical neural net kernels tailored to their distinctive hardware architecture. Additionally, you will implement diverse computing algorithms, maximizing computation and communication throughput. This role involves developing a profound understanding of the architecture's intricacies, working collaboratively with the architects and compiler engineers.

Responsibilities:

  • Experience writing kernels to accelerate Neural Network execution on custom hardware accelerators (not on CPU's)
  • Design, prototype, and execute low-level, adaptable C++ programs (kernels) for various neural net operations.
  • Define, document, and communicate configuration APIs for these kernels to the compiler team.
  • Share performance optimization concepts with both compiler engineers and architects working on future product generations.
  • Develop comprehensive computation strategies spanning kernels for multichannel and multi-chip neural net implementations.

Requirements:

  • Degree in Computer Science, Engineering, Math, Physics, or related field (preferably MS or PhD).
  • Profound knowledge of modern C++, with a focus on code generation and low-level compute optimizations.
  • Familiarity with fundamental Neural Network operator algorithms - Convolutions, Transformers, RNNs.
  • Demonstrated capability to independently navigate challenging, well-defined problems.
  • Aptitude and interest in both high-level conceptual understanding and intricate technical details.
  • Enthusiasm for problem-solving within highly structured and restricted environments.

Preferred Skills and Experience:

  • Proficiency in Python.
  • Experience with other AI accelerator programming.
  • Strong mathematical aptitude.
  • Enjoyment of solving complex problems.

Our client offers:

  • Comprehensive health and extended health benefits.
  • Competitive Salary
  • Unlimited sick leave.
  • Stock options.
  • Contribution to revolutionizing chip and software technologies with global impact.

Targeted Talent logo

About Targeted Talent

Sourced by ZipRecruiter

Your single source for HR professional services, we offer job seekers specialized employment services, spanning contract, permanent positions, and project solutions for highly specialized and managerial level talent needs. Our team of specialized recruiters and consultants abilities extend far beyond resume or career counseling. With hundreds of collaborators strategically located throughout the country, our organization possess the local market knowledge and industry relationships that make successful geography-specific reach possible.

Industry

Recruiting and staffing services

Company size

11 - 50 Employees

Headquarters location

Vancouver, BC, CA