This job has expired

Systems Software Engineer (high-level C++, Linux Kernel exposure)

Closing date
23 Feb 2021

View more

Technology & New Media
Contract Type
You need to sign in or create an account to save a job.

Job Details

We are open to applicants across the UK, not just in London. We can potentially look at remote working with infrequent travel to our HQ in London.

Founded in 2014 in London, United Kingdom, Garrison has raised more than $50m to date from London investors including Dawn Capital, IP Group, NM Capital and BGF. Garrison's strengths lie in its experienced and dedicated teams, building on years of expertise in cyber security to bring genuinely game changing technology to the industry.

Garrison is working to build the future of cyber security and is already deploying at scale in both the government and commercial space. Our existing customers are large organisations averaging over 50,000 employees each, across sectors including banking, insurance, media, telco, law and government.

Our working culture

We are an exciting start-up with ground-breaking technology; a very serious mission to solve real world problems, but with a positive and highly inclusive atmosphere, and an excellent work/life balance!

At Garrison we celebrate diversity and inclusion, and we're focused on continuously improving equality for the benefit of our employees, products and community. We recruit, develop and retain talent purely on the basis of qualifications, merit and business needs.

We are proud to be an equal opportunity employer and we take every possible step to ensure that every person employed or seeking employment with us receives fair treatment. No-one shall be disadvantaged on the grounds of age, disability, gender, ethnicity, religion or belief, sexual orientation, marital and parental status, neurodiversity, social background, physical ability, illness or otherwise.

Our employee benefits package is as follows:
  • Flexible working hours and regular working from home
  • 25 days holiday allowance per year (with the opportunity to buy or sell up to 5 days)
  • Company pension scheme of 8% base salary (depending on employee minimum contribution)
  • Personal annual training budget
  • Life assurance and critical illness cover
  • Share option scheme
  • Perkbox discounts and freebies - free coffee, free cinema tickets, and lots more
  • Bike to work scheme and an interest-free season ticket loans
  • Regular socials - games nights, open air cinema, quiz nights and company picnic are all recent!
  • And free fruit, tea and coffee in our offices!

Overview of the role

As a Systems Software Engineer at Garrison you will be involved in developing software across all our platforms and creating new products and capabilities, contributing to all aspects of product engineering within the team and taking the lead on creating software components for our current and future products.

2020/21 is shaping up to be our busiest and most productive year yet, with increasing demand, steady growth, and plenty of impactful projects taking place!

Product software development
  • Developing functionality for the product to meet the key market needs with a focus on delivering reliable, high-quality software solutions.
  • Developing and maintaining board support packages, at the foundation of the software powering Garrison's hardware.
  • Contributing to the scoping and design of new software and supporting planning and estimating, including responsibility for estimating individual development tasks.

Integration, test and sustainment
  • Performing the end-to-end integration and test of software components and deploying them onto hardware through both manual testing and automated test development.
  • Extending system-level test capabilities to support testing at various stages of the product life cycle, including hardware validation and production.
  • Collaborating with hardware and firmware teams to mitigate risks in both the overall design and in the integration of hardware and software.

Continuous improvement and innovation
  • Improving code maintainability, automation and supportability, e.g. code refactoring, code peer-review, unit test development and provision of stable APIs.
  • 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.
  • Participating in security reviews and assessments of 3rd party software; porting patches to 3rd party software to maintain a high level of security and reliability across all our products.
  • Automating every step of securing the product, from vulnerability detection to security patch integration and test, using continuous integration practices and tools.
  • Upstream software Review and Patching

Skills and experience

You will be perfect for the role if you have the following:
  • Demonstrable knowledge of multiple programming languages (C, C++, Python) and core computer science concepts such as concurrency, networking, performance and algorithms.
  • Understanding of Linux kernel drivers and kernel maintenance and patching.
  • Experience in working with Yocto both using 3rd party layers as well as defining new recipes.
  • Experience working with different toolchains, writing portable code and cross-compiling software.

Experience here would be a bonus (but don't worry if you haven't covered these, we will support your learning as required!)
  • Board bring up, debugging and benchmarking of hardware platforms
  • Video encoding standards and streaming techniques.
  • Audio/Video pipelines in embedded systems
  • AOSP
  • CI tools like Gitlab, Bamboo or Jenkins

You will also:
  • Have a passion for technology, demonstrated through previous project work, professional roles and/or personal projects. You will 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 on schedule.
  • Have strong interpersonal and communications skills, plus the ability to effectively collaborate with others.

We are now accepting applications for this Software Engineer opportunity in three different ways, with the aim of making our recruitment process as fair and inclusive as possible.

They are as follows:

  • C++ coding challenge - you will be tasked with completing as many technical challenges as you can in 30 minutes, which can be accessed here. The challenges have been pre-selected by us, and are hosted by our testing partner HackerRank.
  • Submitting a code sample/portfolio, or a link to a GitHub/personal site that we can use to objectively assess your coding ability. You can submit this to
  • Apply for the role with your CV via the button below - we will completely anonymise your CV before review by the hiring managers, leaving only the information relevant to your application (removing your name, address/location, education, company names, additional languages, hobbies, etc).

We will endeavour to respond to your application as quickly as possible.
You need to sign in or create an account to save a job.

Get job alerts

Create a job alert and receive personalised job recommendations straight to your inbox.

Create alert