Share this Job

Embedded Systems Engineer

Cambridge
GB

This position is available in Cambridge

 

Embedded Systems Engineer

 

Software AG's mission is to help organisations "turn data into value".

 

We’re a global software company founded over 50 years ago and continually growing and innovating. With a presence in over 70 countries, our customers include many of the world’s major airlines, well-known makers of sodas, chocolate and PCs, and key players in the rapidly expanding world of industrial IoT.

 

We’re passionate about software, passionate about our people, and passionate about using technology to create truly world-class products. 

 

YOU’VE PROBABLY USED OUR SOFTWARE—IF YOU LIVE ON PLANET EARTH

The name “Software AG” may never appear on your online banking screen, your sweet wrapper or the cup from your barista. You may never see “Software AG” in the movie’s credits, on your mouse or on the side of the plane you just flew —but our software is virtually everywhere. The fact is leading brands use Software AG technology every day to serve you better. Leading organizations trust us. One reason: We’re driven by customer success.  Every day, our decisions and actions are guided by the values of this Software AG development mission statement.

 

 

Position Purpose

 

The successful candidate will join our Cumulocity IoT Edge R&D team to work on developing the Cumulocity IoT Edge platforms. Cumulocity is Software AG’s leading Internet of Things (IoT) platform, allowing millions of connected devices to be managed through public/private cloud and network edge deployments of the platform.

 

 

Job Functions

 

  • Working in a cross-functional Agile team to deliver IoT Edge platform features through the complete development lifecycle from specification through to implementation, deployment and support.
  • Contribute to Edge platform architecture, development to delivery. Contributing to the evolution of the product architecture, including projects to add significant new functionality and improving the performance, scalability and robustness of the Cumulocity IoT Edge platform.
  • Bring security expertise in the team which includes defining security policy/design, performing threat-modelling and risk analysis, determining/evalauating security flaws, provide recommendations to developers, contributing to various security development and testing activities, keeping updated with the latest security trends.
  • Work with the existing and potential customers in understanding their use cases and provide solutions and recommendations.
  • Communicating with various functions like sales, presales and championing the cause of the thin edge platform we are developing.
  • Actively contribute to the overall strategy towards quality by designing and developing automated test suites for high-performance distributed systems, covering all areas of testing (functional correctness, robustness and performance) at all levels (unit, system and end-to-end integration) in Edge deployments

 

This role provides opportunities to work on a wide variety of projects covering areas including Edge computing, developing distributed and fault-tolerant systems, microservices, virtualisation, containerisation, etc..

 

Qualifications and Experience

 

You will be a conscientious, highly motivated, assertive and skilled individual who will bring relevant skills and experience to the role, but who will also be keen to learn, adapt to and utilise new technologies, patterns and best practices.

 

You will already be an experienced software developer, ideally with a background in high-performance server-side development and practical experience of commercial software engineering.

 

You will have strong interpersonal and presentation skills, including the ability to communicate clearly and concisely with your peers and prospects/customers.  Ability and willingness to lead and mentor junior team members is necessary.

 

You will be able to operate independently and work on your own initiative, taking ownership and responsibility for software deliverables, sometimes working to tight deadlines while still delivering high-quality software.

 

Required:

  • BS/MS degree in Computer Science, Engineering or a related subject
  • Embedded systems background with intimate knowledge of the hardware systems along with strong software development and design expertise in that space.
  • Experience in programming in native languages like C, C++, Rust, Go etc. on Linux kernel like environments
  • Deep understanding of the Linux kernel ecosystem with an emphasis on components like the virtual file system, memory management, OS virtualisation, Hardware Security Modules etc..
  • Strong understanding of security concept and deep background in various aspects of device and cloud side security.  Good Knowledge of Tools & Exploitation Frameworks is also required.
  • Sound knowledge of microcontroller/microprocessor ecosystems such as Arduino, Raspberry Pi, PLCs, etc..
  • Background in Industrial IoT use-cases and understanding of Edge computing in the context of the edge devices like routers, gateways, PLCs, etc..
  • Experience of developing, testing and debugging complex multi-threaded software in constrained hardware devices
  • Experience in leading the design and development of significant software components in the above areas, in a cross-functional team environment
  • Strong experience in building software considering non-functional requirements like security, performance, robustness, etc..
  • Experience with virtualisation and containerisation, especially in technologies like Docker, Kubernetes, etc.
  • Solid scripting skills (e.g., Python, shell scripts, Perl, Ruby) and understanding/experience of building frameworks using them
  • Experience with testing approaches and strategies
  • Ability to be productive in a globally distributed team through self-discipline and self-motivation, delivering according to a schedule

 

Highly desirable:

  • Firm understanding of the IoT architecture and principles
  • Knowledge of various aspects in the Industrial IoT ecosystem, like standards, protocols, reference architectures, etc..
  • Good networking knowledge would be a positive (OSI network layers, TCP/IP)
  • Familiarity with configuration management software (e.g., Chef, Ansible, Puppet)
  • Familiarity with other key technologies used in the Cumulocity platform, including Spring, Spring Boot, REST, MQTT, CoAP, MongoDB and Nginx

 

Interested?

 

We look forward to receiving your application via our online career portal. Your application should include a short cover letter, a curriculum vitae.

If you have any questions regarding this position please contact Holly Greenfield on holly.greenfield@softwareag.com.  We look forward to hearing from you!

 

 This job description should not be construed to imply that these requirements and expectations are all inclusive.  In addition to items listed, incumbents are expected to follow company policies, adhere to company processes and programs and perform other related duties as assigned. #LI-HG1