DevJobs

Embedded Software Architect

Overview
Who Are We?

GuardKnox offers high-performance computing and firmware solutions that empower automotive manufacturers and main suppliers to develop modern automotive E/E architectures and deliver the next generation of Software Defined Vehicles.

GuardKnox’s solutions provide the necessary innovation for the automotive market to enable drivers with customization and personalized vehicle experience - essentially bringing about the ‘Smartphonization’ of vehicles. Our technology serves the needs of automotive for dynamic and adaptive technological capabilities in the evolving automotive market.

Our pioneering approach to software-defined and service-oriented vehicles gives our customers the tools to meet the demands of today’s drivers – and to keep meeting them tomorrow. We call it The Freedom to Evolve.

An integral part of GuardKnox R&D is the embedded software team. This team is responsible for the core software stack which powers GuardKnox embedded solutions. The Software Architect will be responsible for building a robust Embedded SW architecture to meet all customer requirements in high performance, high reliability with minimum risk, cost, and effort. The embedded software development activities run on all layers, starting from bare metal and up to the application.

The position requires a highly self-motivated SW Architect engineer, independent and out of the box thinker. You will have the opportunity to be involved from early stages of architecture & design planning, through development and testing, up to integration within GuardKnox hardware products, cloud infrastructures, and field deployment.

Responsibilities Include:

  • As an Architect you will define, design and implement (Hands-On is required) highly concurrent and efficient software components (components-based development).
  • You will be leading work around architecture, design and documentation of interfaces, and other design documentation. Furthermore, you will also support and coach the teams to follow architectural decisions taken on their daily work.
  • You will be a part of the overall product quality work by defining needed guidelines for design and coding, together with teams.
  • Write detailed Functional and Architecture specs.
  • In close cooperation with the team Lead, coordinate the embedded software team in terms of both system architectures designing and implementation.
  • Interact with the product owners, system architect to gather requirements, architect solutions, provide means to deploy and support our software.
  • Lead technical projects and provide guidance to junior engineers.
  • Design and implement dynamic software loading system over the network.
  • Work on proof of concepts and advance development projects.
  • Perform research and analysis for current and future architectures.

Requirements:

  • Bachelors’ degree in Engineering, Computer Science, or related discipline from a familiar institute.
  • 10+ years of software development experience - MUST.
  • Strong coding skills in C++ programming languages – MUST
  • Strong development experience in C++, Linux, and real-time operating systems (RTOS; Integrity/VxWorks/QNX/LynxOS/Linux Embedded) – Must
  • Strong SW architecture designing experience in embedded software. e.g. RTOS selection, designing power/clock management system followed to RTOS manner.
  • Use of UML modeling tools such as Enterprise Architect or Magic Draw is a plus
  • Experience with software design (OOD) and design patterns; Strong design and analytical skills – must
  • Knowledge in networking – TCP/IP – must
  • Experience with Socket programming; Concurrent and asynchronous programming;
  • Experience with Version Control tools.
  • Excellent analytical skills.
  • Strong written and verbal communication skills

Preferred Qualifications

  • 2+ years of software team leading experience in an international environment.
  • Good understanding of Agile-Scrum, Unit Testing, and Code Review methodologies - preferred
  • Experience with virtualization technologies and hypervisors – preferred
  • Knowledge in automotive applications and networking protocols (CAN, CAN-FD, etc.) - preferred
  • Knowledge in DDS/CORBA/gRPC/Apache Thrift - preferred
  • Cyber security background - preferred
  • Experience in kernel space programming – preferred
  • Experience with On-Chip/Target debugger – preferred
  • Experience in Linux BSP and driver development (boot loaders, kernel, distributions, etc.) - preferred
  • Experience with modern multi-core ARM devices - preferred
  • Experience in safety-critical systems - preferred
GuardKnox