Embedded Software Engineer
Posted 4 hours 9 minutes ago by Tiger Resourcing Group
£40,000 - £60,000 Annual
Permanent
Not Specified
I.T. & Communications Jobs
Sussex, Lewes, United Kingdom, BN7 1
Job Description
Embedded Software Engineer
Role Overview
The overall responsibility of the Embedded Software Engineer is to design and implement software for Embedded devices, working as part of the Global R&D organisation on products targeted towards the Onshore, Offshore and Transportation markets.
Key Responsibilities
- Developing and maintaining C/C++ application code running on ARM-based Linux and RTOS platforms
- Writing code that is appropriately flexible, reusable, efficient and adaptable to changing requirements
- Contributing to software architecture and design decisions
- Writing unit and integration tests; supporting formal verification activities
- Working in a structured environment following safe and secure development principles
- Reviewing the code of peers with a focus on correctness and maintainability
Skills Required
The successful candidate will:
- Proactively assess and eliminate root cause when faced with technical barriers
- Be a team player, comfortable working in a close-knit team and building strong professional relationships
- Actively support less-experienced members of the team by helping them with their development, providing guidance and setting a good example
- Take responsibility for any failures in the project and take action to prevent them in the future, embracing and sharing the learning
- Be inquisitive to understand products and customer use cases
- Be able to work independently, proactively making decisions, problem solving and driving issues to a conclusion
- Have good communication skills (both written and verbal)
- Organise and communicate on own work activities aligned with wider business objectives
- Have strong technical skills and a desire to develop these
- Be hands-on with using hardware and software and ideally, be familiar with electronic test equipment
Knowledge & Experience Required
- 3+ years of professional software development experience
- Strong proficiency in C++ - solid understanding of memory management, concurrency and SOLID design principals
- Embedded Linux experience; cross-compilation, BSP familiarity, device interfaces
- Comfortable working with networking fundamentals - TCP/IP, UDP multicast, socket programming
- Experience developing and maintaining cross-platform applications in Qt
- Experience with build systems (CMake) and version control (Git)
- Ability to read and contribute to technical specifications and architecture documents
Education & Qualifications
- Good degree in Computer Science, Electronics Engineering or similar background