Key Responsibilities
The Proxy Policy team located in Waterloo, Ontario is looking for a world class Senior Software Engineer to design and develop cutting edge security features into ProxySG security product offerings (on-prem, hybrid, and cloud). The team is responsible for the CPL (Content Policy Language) Engine of Broadcom’s security proxy appliance. Nearly all customers and all requests execute the code that the team designs, develops and tests, which makes it a very exciting area to work in.
In this role, the candidate is a technical contributor on the Proxy Policy team working with developers, architects, product managers, and QA to implement new features and to investigate and address issues in the policy component of proxy devices. In this role, the successful candidate will:
- Be responsible for extending complex system functionality, building and integrating related components, as well as enhancing existing sub-systems.
- Use professional concepts aligned with company objectives to resolve complex issues in creative and effective ways.
- Work on complex issues where analysis of situations or data requires an in-depth evaluation of variable factors.
- Exercise judgment in selecting methods, techniques and evaluation criteria for obtaining results.
This is a great opportunity if you are interested in contributing to the continuing evolution of application proxies, solving complex problems, writing high-performance code, and learning about all aspects of our security proxy solutions.
We are looking for an energetic, results-oriented technical contributor with strong programming and software development skills. Prior experience in object-oriented design and development experience in C++ is required for this position.
Requirements
- Bachelor or Master's degree in computer science or Software Engineering.
- 5+ years of programming experience in C/C++, including C++11 (and up) features and principles
- Experience on multi-threaded, distributed, networking/packet/transaction processing applications within a Linux environment.
- Strong knowledge of networking and Internet protocols, especially TCP/IP, DNS, SSL/TLS, HTTP/HTTPS and various authentication technologies
- Strong analytical and problem-solving skills.
- Strong communication skills.
- Ability to learn quickly and handle complexity.
- Familiar with CI/CD and the best-of-breed software development practices
The following would be a real asset for the position:
- Experience with network security solutions such as firewalls, IDS/IPS, or proxies.
- Embedded software development experience with Linux or QNX.
- Experience in debugging and analyzing complex issues using GDB, and various system statistics
- Asynchronous grpc and protobuf implementations
- Working with various threading/execution models
- Custom protocol client implementation
- Kafka client knowledge
- Distributed tracing
- Integrating 3rd party libraries
- Support/debugging a component within large scale distributed systems
- Experience interfacing with, enhancing and supporting large/complex legacy codebases
- General Docker, GCP, K8s, Load balancing knowledge