Job Responsibilities:
- Design, develop and implement highly scalable software features and infrastructure.
- Develop and maintain software components on current and future networking related products. Hands on in bug fixing current products.
- Profile, optimize and tune the system.
- Work closely with DevOps and QA team to deliver high quality products, communicate effectively, both verbal and written.
- Provide technical guidance to junior developers.
Job Requirements:
- 12+ years of experience in Software Development , exceptional core CS concepts (distributed programming, concurrency, algorithms).
- Masterful in Java, profound understanding of Object-Oriented programming.
- Strong understanding of Linux Operation System, including the Kernel, System Library, Shell, System Utility.
- Strong understanding of networking fundamentals and Layer 2/3 networking, experience with Firewall, VLAN, SSL/TLS, IPSec, and common TCP/IP networking protocols.
- Experience with Relational Database or column-based database.
- Experience with Docker and Kubernetes or other container orchestration and traffic steering platforms.
- Experience with code profiling and performance tuning, passion for code correctness, continuously improving testability and code quality.
- Strong understanding of principles of DevOps and Continuous Delivery.
- Adapt and deliver on time working in a fast-paced agile environment.
Educational Requirements:
- B.S. in Computer Science or related field. M.S. is preferred.
The Canada base salary range for this full-time position is expected to be between $154,000 - $208,000 annually. Wage ranges are based on various factors including the labour market, job type, and job level. Exact salary offers will be determined by factors such as the candidate’s subject knowledge, skill level, qualifications, and experience.