Graduate Embedded Software Engineer

AMETEK.Inc
Northampton, United Kingdom
11 days ago

Role details

Contract type
Internship / Graduate position
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Junior

Job location

Northampton, United Kingdom

Tech stack

Assembly Language
Confluence
JIRA
Intelligent Platform Management Interface
BIOS
Static Program Analysis
Software Quality
Collaborative Software
Continuous Integration
Datasheets
Software Debugging
Linux
Linux on Embedded Systems
Embedded Software
Firmware
Integrated Development Environments
Perforce
Scrum
Real-Time Operating Systems
Software Tools
Software Engineering
Extensible Firmware Interface
Real Time Systems
GIT
Atlassian Tools
Hardware Infrastructure
U-Boot
Software Version Control
Jenkins

Job description

A Graduate Embedded Software Engineer is required to join our Software Team, to develop and maintain high-quality boot code, deployed test, IPMI firmware, and Board Support Packages used by our products. Abaco Systems produces ruggedized embedded computing solutions for the rugged embedded COTS market. These products require different types of firmware and software, including boot firmware such as BIOS or UEFI on our Intel products and U-Boot on NXP and ARM products. Our Software Team also provides a deployed test solution, known as Built in Test (BIT), which is a key software product that the customers in this market expect. The Intelligent Platform Management Interface (IPMI) is another element of firmware supported by the team, which provides management and monitoring capabilities. The team is also responsible for producing board support packages to enable the use of various Operating Systems on our equipment. The Graduate Engineer's responsibilities will cover all aspects of software development following the Company's Software Development procedures. The scope of the software development work covers:

  • Generating requirements for new products, porting and code development for new products
  • Maintenance updates for existing products.
  • Project documentation to comply with procedures, as well as customer documentation.
  • Product support for customers and Manufacturing.
  • Working closely with HW Engineering, other SW Engineering teams and other disciplines within Abaco.

The role requires both HW and SW capabilities. The HW capabilities require the engineer to fully understand the operation of the HW. This is achieved by analysis of schematics, component data sheets and discussions with HW engineers. The Boards typically form part of systems connected via Industry standard backplane interconnect technology (VME, VPX, CPCI). Software is mainly written in "C" language. Several compilers/cross compilers are used to generate code for the appropriate platforms. Some assembly language is also required for low level operations. Source code is managed via source code repository and is regularly verified using static code analysis tools and code peer reviews. Working in an Agile environment where multi-discipline teams are operating in tight collaboration, you will be exposed to all aspects of the design, testing and validation of our products. Continuous Improvement is at the heart of our culture and everyone is encouraged to find new ways of pushing the boundaries and to innovate., Under supervision and guidance, the Graduate Embedded Software Engineer will:

  • Develop and maintain embedded software, written in C and assembler.
  • Contribute to the design, development, and testing of embedded software for Abaco Systems products.
  • Support software development activities across the full product lifecycle.
  • Develop working knowledge of Abaco Systems hardware platforms, products, and solutions.
  • Assist with debugging and problem investigation, learning to identify root causes and propose solutions.
  • Participate in code, test, and design reviews to build an understanding of best practice.
  • Work collaboratively within project teams, interacting with SW, HW, and Test engineers.
  • Engage with process improvement activities to contribute ideas as experience grows.
  • Use Continuous Integration and Static Analysis tools to improve code quality.
  • Follow company design procedures relating to the development of software
  • Provide customer support with documentation to support the software product.
  • Communicate status to key stakeholders in a timely and professional fashion.

Requirements

  • A degree (or expected degree) in Software Engineering, Embedded Systems, Electronics & Software Engineering, Computing for Real Time Systems, or a closely related discipline.
  • Basic understanding of "C" and assembly programming.
  • An interest in embedded, real time, or low level software development.
  • Good problem solving skills and a methodical approach to engineering tasks.
  • Ability to work successfully in a team environment and to communicate clearly in written and verbal form.

Desired Requirements

  • Exposure to embedded Linux, real time operating systems, or firmware development.
  • Understanding of low level hardware concepts (registers, buses, interrupts).
  • Internship, placement, or project experience in an embedded or software engineering context.
  • Knowledge of modern Real-Time Operating Systems
  • Knowledge of Linux, as a software development environment and/or Operating System.
  • Previous experience with using any of the following types of software tools; version control systems (e.g. Git or Perforce), source code analysis tools (Klocwork), collaborative tools (Atlassian toolset, JIRA, Confluence), continuous integration server, (Jenkins)
  • Awareness of Agile / Scrum methodologies.

About the company

AMETEK, Inc. is a leading global provider of industrial technology solutions serving a diverse set of attractive niche markets with annual sales over $7.5 billion. AMETEK is committed to making a safer, sustainable, and more productive world a reality. We use differentiated technology solutions to solve our customers' most complex challenges. We employ 22,000 colleagues, in 35 countries, that are grounded by our core values: Ethics and Integrity, Respect for the Individual, Inclusion, Teamwork, and Social Responsibility. AMETEK is a component of the S&P 500. Visit for more information.

Apply for this position