Principal Software Engineer

Vancouver, CA, V6C 1W6


Sophos Overview – Cybersecurity Evolved

Sophos evolves to meet every new challenge, protecting more than 400,000 organizations of all sizes in more than 150 countries from today’s most advanced cyberthreats. Powered by SophosLabs, our cloud-native and AI-enhanced solutions are able to adapt and evolve to secure endpoints and networks against never-before-seen cybercriminal tactics and techniques. Managed through our award-winning, cloud-based platform, Sophos Central, our best-of-breed products work together through our unique Synchronized Security system to share threat intelligence and respond to evolving threats. The Sophos suite of products secures networks and endpoints against automated and active-adversary breaches, ransomware, malware, exploits, data exfiltration, phishing, and more.


Job Purpose

We are looking for proven Principal Engineers with backgrounds in network security to join our Network Security Group Dataplane and TLS team.  Put your programming and security background skills to use in building new world-class security products. 


As a Principal Software Developer in the Network Security Group, you will contribute to the design, development, and release of next-generation software/hardware products that will be used by hundreds of thousands of customers around the world. You will be working on an Agile/Scrum development team, and be involved in all aspects of the software development process. You will work closely with Product Managers, Development manager and QA Engineers to ensure the team delivers a quality product to our customers.

This role provides a great opportunity to immerse oneself in key technologies such as TLS Decryption/Encryption, DPDK, Netmap, kernel offload techniques, hardware-assisted offload, and many others.  Candidates should have a proven track record of accomplishment across technologies that they didn’t start out knowing but learned through the course of their work.

This position is based at our Canadian office in Vancouver, British Columbia.


Main Duties

  • Work with the relevant stakeholders to understand requirements for particular features of the products
  • Develop reliable, maintainable, high-quality code that’s well unit-tested
  • Practice Test-Driven Development when writing production code
  • Work with QA Engineers to help define test ideas and ensure features are properly tested
  • Help troubleshoot product issues escalated by our Sales/Support staff
  • Participate in project planning activities with the entire team
  • Depending on experience and skill, there may be opportunities for other advanced development tasks


Skills & Experience


  • Very strong C programming skills a must
  • Ability to work well with a team of senior and junior engineers in a dynamic, fast-paced environment.  Team player with can-do attitude/initiative.  Ability to mentor junior team members.
  • Passion for software engineering and coding with proven ability to test/debug own code
  • Experience with Agile Software Development methodologies
  • Background and understanding of firewalls, proxy, IPS/IDS, web content filtering, AV scanning
  • Knowledge of Linux system-level programming and operating system internals
  • Experience in Linux multi-process and multi-threaded userspace and/or kernel programming
  • Knowledge of layer 2/3/4 networking protocols, concepts. Proven experience debugging networking issues. Working experience on data plane forwarding.
  • Linux user space packet delivery technologies, DPDK, netmap, xdp, etc
  • Detailed knowledge of TCP protocol
  • Detailed knowledge of HTTP/HTTS protocol
  • Detailed knowledge of SSL/TLS protocols
  • Ability to make appropriate design choices to maximize performance and scalability system requirements
  • Automation of test code.
  • Scripting skills with Bash, Python, and/or Java
  • Bachelors or advanced degrees in Computer Science/Software Development or equivalent required.


  • Hardware Offload
  • Internals of Linux Kernel core networking stack, Netfilter, and/or netdev drivers
  • Snort and/or other IPS/IDS packet processing technologies
  • In addition to SSL/TLS, IPsec and/or general cryptography knowledge
  • DoS and QoS


Equal Opportunities

Sophos is committed to equal opportunity in all areas of its work. All qualified applicants will be treated in a fair and equal manner and in accordance with the law regardless of gender, marital status, race, religion, color, age, disability or sexual orientation.


If you choose to explore this opportunity, and subsequently share your CV or other personal details with Sophos, these details will be held by Sophos for 12 months in accordance with our Privacy Policy and used by our recruitment team to contact you regarding this or other relevant opportunities at Sophos.  If you would like Sophos to delete or update your details at any time, please follow the steps set out in the Privacy Policy describing your individual rights.  If you have any questions about Sophos’ data protection practices, please contact dataprotection@sophos.com.

At Sophos, we want every organization to be protected by innovative, next-generation IT security, even those who don't have a huge IT staff. We protect organizations of all sizes, all around the world by making enterprise-grade security that is simple to deploy, manage, and use. It is our passion, and something we are truly proud of.

Job Segment: Developer, Computer Science, Linux, Cloud, Java, Technology