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.

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.

2023/24 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.

Upstream software Review and Patching

  • 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.
  • Recognising the industry that Garrison operates in, and appreciating the importance of following Garrison's information security policies.

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.
  • Ideally you will have experience in a design role in SOC production, but this is non-essential.
  • Understanding of Linux kernel drivers and kernel maintenance and patching.
  • Prior experience with either UEFI or U-boot
  • 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!)

  • Would be great if you've worked with Android and/or BSP in the past
  • Experience in working with Yocto both using 3rd party layers as well as defining new recipes.
  • 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.