Systems Software Engineer (C/C++)
Garrison Technology
- London
- £3,000-5,000 per month
- Permanent
- Full-time
- 25 days holiday allowance per year (with the opportunity to purchase more)
- Flexible bank holidays - Good Friday, Easter Monday, Christmas Day and Boxing Day all available for exchange
- Company pension scheme of 8% base salary (depending on minimum contribution)
- Personal annual training budget
- Perkbox discounts
- Life assurance and critical illness cover
- Employee Assistance Programme
- Enhanced parental leave
- Income protection
- Cycle to work scheme
- Interest-free season ticket loans
- Daily fruit, snacks and drinks in our offices
- Flexible working hours and working from home options
- Hybrid working allowance, to help get your home office set up
- Awesome employee referral program: £3,000 - £5,000 for each successful referral
- Regular socials – such as games and quiz nights, picnics, theatre, and lots more
- Developing and maintaining board support packages, at the foundation of the software powering Garrison’s hardware.
- Collaborating with hardware and firmware engineers during hardware validation and board bring-up activities to prove new designs.
- Contributing to scoping and design of new software through planning and task estimation.
- Performing end-to-end integration and test of software, firmware and hardware through both manual and automated testing.
- Extending system-level test capabilities to support testing at various stages of the product life cycle, including hardware validation and production.
- Contributing to maintenance of 3rd party open-source projects by participating in security reviews and assessments, porting patches, and upstreaming bugfixes developed for Garrison.
- Improving code maintainability by proposing code refactoring, participating in code review and analysis, and developing unit tests.
- Automating recurring tasks, using continuous integration practices and tools, to allow team members to focus on the design and development of new features.
- Suggesting and progressing opportunities for innovation across the product, investigating new technologies and techniques, performing prototyping with the direction of senior leadership, and discovering new opportunities for new design improvements and product features.
- Recognising the industry that Garrison operates in, and appreciating the importance of following Garrison's information security policies.
- Demonstrable knowledge of multiple programming languages (C, C++, Python).
- Exposure to working with development boards (e.g. Raspberry Pi, Arduino) and/or embedded systems (IoT devices).
- Experience with the Linux OS, at the minimum as a user.
- Knowledge of core computer science concepts such as concurrency, networking, performance measurement and algorithms.
- Writing portable code, using different toolchains and cross-compiling software.
- Understanding of Linux kernel drivers and kernel maintenance and patching.
- Board bring up activities, use of oscilloscope / logic analyser, debugging and benchmarking of hardware platforms.
- Yocto project, both using 3rd party layers as well as defining new recipes.
- Build systems such as Make and CMake.
- AOSP
- CI tools (Gitlab, Bamboo, Jenkins, …)
- Have a passion for technology, demonstrated through prior professional and/or personal project work. You’ll likely enjoy technical challenges and delivering results!
- Be self-motivated, flexible and adaptable, able to cope when thrown in at the deep end.
- Understand the importance of planning, prioritisation and getting work done to schedule.
- Have strong interpersonal and communications skills, plus the ability to effectively collaborate with others.