Android & Linux Software Engineer
Description -Job SummaryYou will develop networking features for Poly Video products built on Linux and Android, from implementation through unit testing, working with senior engineers on design. These solutions must perform reliably in demanding customer environments, including highly secured enterprise networks, web proxies, time synchronization (NTP), address management (DHCP), and advanced network configurations. You will also help resolve issues found in the field and contribute to technical documentation, including design specifications and user guides.
Responsibilities- Implements networking features on Linux and Android platforms, including DHCP, NTP, DNS, web proxy support, IPv4/IPv6, and VLANs.
- Contributes to networking designs and develops solutions that operate reliably in secured environments, such as proxied, firewalled, and segmented networks.
- Writes and maintains unit tests for networking code using frameworks such as Google Test and JUnit, and integrates them into CI pipelines.
- Participates in code reviews, both giving and receiving feedback to improve product quality.
- Debugs network and protocol issues using packet captures, logs, and source code, escalating complex issues to senior engineers when needed.
- Documents feature behavior, configuration, and test coverage in partnership with other software and firmware teams.
- Works with hardware and firmware engineers to integrate and validate networking software on new devices.
Education & Experience- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related discipline.
- Typically has 3-6 years of work experience, preferably in networking software, embedded systems, or a related field.
Knowledge & SkillsSoftware development- Solid C++ development skills, including object-oriented design principles.
- Java or Kotlin development experience, ideally on Android.
- Experience developing software on Linux or Android.
- Unit testing with frameworks such as Google Test (gtest/gmock) and JUnit.
- Python for automation and testing.
- Git (version control) and GitHub experience.
- Ability to read and debug C, C++, Java, or Python source code.
Networking- Solid understanding of TCP/IP, DNS, DHCP, VLANs, NAT, and routing.
- Familiarity with IPv4 and IPv6 networking.
- Working knowledge of web proxies (HTTP/HTTPS proxies and PAC files) and NTP.
- Experience troubleshooting Layer 2 and Layer 3 network issues.
Secure networking- Familiarity with 802.1X network authentication, TLS, and certificates.
- Understanding of network security technologies, including firewalls, VPNs, and ACLs.
Wireless- Understanding of wireless networking technologies (802.11 a/b/g/n/ac/ax).
Tools- Network troubleshooting tools such as Wireshark and tcpdump.
Nice-to-Have Skills- Experience implementing or integrating DHCP clients, NTP/SNTP, or DNS resolution.
- EAP methods (PEAP, TLS, TTLS), WPA2/WPA3-Enterprise, and NTLM authentication.
- PKI, certificate validation, and trust store management.
- Proxy auto-discovery (WPAD) and proxy authentication.
- Android networking internals: ConnectivityService, netd, and Android network configuration.
- Linux networking internals: netlink, iptables/nftables, network namespaces, and systemd-networkd or NetworkManager.
- Knowledge of QoS for voice and video traffic.
- Experience with network simulation appliances (Ixia, Spirent).
- Embedded systems experience, including bringing up early development boards.
- Familiarity with CI/CD pipelines and automation frameworks.
- Experience with VoIP, SIP, Teams Phone, Zoom, or conferencing solutions.
General Skills- Effective communication.
- Results orientation.
- Learning agility.
- Customer focus.
- Good prioritization skills.
Compensation and BenefitsThe salary range for this role is
$86,350 to
$114,000 CAD annually Pay within this range will be based on the review of experience, skills, and internal equity.
As a full time, employee of HP Canada, you will be eligible to participate in the company's group benefit programs, including medical, dental, life insurance, and disability coverage, subject to the terms and conditions of the applicable plans. During your employment term, you will receive 15 paid vacation days per year prorated based on your start date. Detailed information regarding benefits-will be provided upon hire and is subject to the terms and conditions of the applicable plans.
Job -Software
Schedule -Full time
Shift -No Shift premium (Canada)
Travel -No
Relocation -No