Android & Linux Software Engineer

3 hours ago

Vancouver, British Columbia, Canada HP Full-time

Android & Linux Software Engineer Description - Job Summary

You 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 & Skills

  • Software 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.

About HP

HP creates new possibilities for technology to have a meaningful impact on people, businesses, governments and society. The world’s largest technology company and ranked 10 on the Fortune 500 list for 2012, HP brings together a portfolio that spans printing, personal computing, software, services and IT infrastructure to serve more than 1 billion customers in over 170 countries on six continents. HP invents, engineers, and delivers technology solutions that drive business value, create social value, and improve the lives of our clients. HP Canada’s Talent Acquisition processes involve the use of technology, including but not limited to, artificial intelligence (AI) tools, to support the screening, assessment, and selection processes. These tools are designed to enhance fairness and efficiency, and all hiring decisions are reviewed by our recruitment team to ensure alignment wi