Location: Hong Kong, Singapore or Remote (+/- 8 hours from Hong Kong)

We’re looking for experienced developers with both depth and breadth of technical knowledge to build our custom firmware for routers.

You’ll work on a complex stack involving many Linux based technologies. You’ll help build our firmware package consisting of a custom OS plus a collection of linux applications which target many types of router. 

Working on the router platform involves a lot of fun challenges, for example building cross-compilers and customising open source router OSes. Expect to work with low level compiled languages like C and C++, and high level languages like Lua Moonscript and Javascript. 

About the Team

The team’s goal is to be the easiest to use, fastest, most reliable, and most secure consumer router application

We’re specifically looking for developers to build user space Linux applications for our custom OS. There will be opportunities to work on the OS kernel itself, but you do not need experience in that area for this role.

The team collectively:

  • Builds a custom OS and ensures that it can be installed onto a wide range of OEM hardware.
  • Tunes networking parameters and builds tools to dynamically configure the network stack of the router to support our product’s features.
  • Builds Linux applications which provide services for user authentication and other core features, a web frontend and more.
  • Builds the frontend UI using web technologies such as Vue.js.
  • Configures and manage our build systems to securely build and package all components of the router.
  • Operates our test pipelines.
  • Creates test-cases that test both functional and nonfunctional requirements, such as network speeds, ability to safely upgrade the firmware, detecting network traffic leaks..
  • Coordinates releases to customers, typically once every two weeks.
  • Is accountable for quality, velocity, and security.

Responsibilities

As a developer on the team described above, you will:

  • Write high quality, well architected, modular code which is easy to read and maintain.
  • Ensure your code and applications have excellent automated test coverage.
  • Ensure your applications perform well on lower end CPUs and in low memory environments.
  • Ensure the firmware has a clean, simple and robust architecture.
  • Ensure your software meets a high security bar – never ship P1/P2 security bugs.
  • Ensure your build and test pipelines are fast and stable.
  • Provide high quality code reviews for your team and other contributors to the code base.
  • Lead by example and provide guidance and mentorship to other developers.
  • Provide technical insights for the Product Management team.
  • Undertake spikes, prototyping and R&D work to investigate feasibility and de-risk complex projects.
  • Maintain an excellent velocity.
  • Write clear and comprehensive tech designs and test plans, and ensure work is broken down into bite sized chunks and accurately sized.

Requirements

  • Expert in C or C++ development.
  • Experienced with testing frameworks such as CMocka, GTest/Gmock.
  • Expert in building user space applications for Linux platforms.
  • Experienced writing heavily asynchronous code with low level threading primitives/APIs.
  • Versatile developer – you have the ability and desire to ramp up quickly on new code bases, languages and problem spaces.

Optional

  • Experience working on embedded systems
  • Solid understanding of IP networking, including both low-level sockets programming and high-level application layer programming.
  • DD-WRT or OpenWRT knowledge
  • Experience modifying/writing drivers
  • Lua/Moonscript development skills
  • Experience in TDD or BDD
  • Experienced using GNU tools and cross-compiling
  • Experience reverse engineering firmware and installing custom firmware onto 3rd party hardware
  • Strong understanding of Linux kernel and network stack

What we offer

  • Challenging work in a fun and collaborative environment
  • Attractive compensation and time-off benefits
  • Spacious open-concept and centrally located offices
  • Full-time employment with flexible working hours
  • Fully stocked pantry with breakfast foods, fresh fruit and snacks
  • Team lunches and company events every quarter
  • Multicultural teams represented by 30+ nationalities

Note: Please do not include any salary or compensation information on your resume 

About Us

For more than 11 years, we’ve paved the way towards a more private and secure digital world. We’re a global SaaS company and an industry leader in cybersecurity. Millions of consumers worldwide use our internet privacy and security products every day.

Our team of over 800 employees spans the planet. Team members work from major international hubs like London, Hong Kong, Singapore, Tokyo, Toronto, Taiwan, Poznań, and more.

We’re profitable, and we’re growing. Right now, we’re hiring talent across all functions: software development and engineering, product, data analytics, marketing, content, and people.

We’d love you to join us and be part of the team.