We are looking for an experienced Senior Network Device Software Engineer to join our team. The ideal candidate will be able to work in a fast paced environment, operate gracefully under stress, effectively manage multiple assignments, be self driven, proactive and have great interpersonal and communication skills.
As a Senior Network Device Software Engineer, you will be responsible for driving the evolution and scalability of our Network Sensor. You will work closely with cross-functional teams to expand support for a wide range of network and IoT device vendors and protocols, ensuring broad and deep visibility across enterprise, datacenter, and connected-device environments. This role requires strong expertise in networking technologies, a solid software engineering foundation, and a passion for building robust, extensible systems. You will play a critical role in shaping our product’s ability to scale efficiently, adapt to emerging network technologies, and deliver reliable insights.
Role & Responsibilities
Software Development: Design, develop, and maintain high-quality, scalable, and secure software components using Python, with a focus on network protocols, device integrations, and efficient data collection from diverse network environments.
AI-Assisted Engineering: Leverage modern AI-assisted development tools and agentic engineering workflows to improve software quality, accelerate development, enhance testing and debugging, and support scalable engineering practices.
Technical Problem Solving: Analyze and troubleshoot complex technical issues, identifying root causes and implementing effective solutions.
Collaboration: Work closely with product managers and other engineers to understand requirements, design solutions, and implement features.
Code Quality: Write clean, well-tested, and maintainable code, following industry best practices and coding standards.
Mentorship: Provide technical guidance and mentorship to less experienced engineers, helping them grow their skills and knowledge.
Innovation: Stay up-to-date with the latest technologies and trends in software development, network protocols and cybersecurity, and contribute to the team's continuous learning and improvement efforts.
Minimum qualifications
Experience:
5+ years of experience in software engineering, with a strong background in network protocols and efficient data collection from diverse network environments.
Technical Skills:
Expert proficiency in Python.
Deep knowledge of networking protocols (e.g., TCP/IP, DNS, ARP, SNMP, SSH).
Familiarity with Linux/Unix environments and scripting.
Familiarity with cloud infrastructure (e.g., GCP) and containerization (e.g., Docker).
Experience with test-driven development (TDD) and continuous integration/continuous delivery (CI/CD) practices.
Soft Skills:
Excellent communication and collaboration skills.
Strong problem-solving and analytical skills.
Ability to work independently and as part of a team.
Passion for learning and self-improvement.
Bonus Points:
Experience with cybersecurity products or technologies.
Experience working in Network Operations or Engineering roles, with exposure to top vendors such as Cisco, Juniper, F5, and Citrix.
Familiarity with IoT/embedded communication protocols such as MQTT, CoAP, Modbus/TCP, BACnet, Zigbee, or BLE.
Contributions to open source projects.
Required Technical Skills
Programming Languages:
Expert: Python
Bonus: Experience with other languages relevant to backend development (e.g., JavaScript/TypeScript, Go, Rust, Java)
Backend Development:
Proficient: RESTful API design and development, Web frameworks (e.g., Django, Flask for Python)
Bonus: Experience with GraphQL or gRPC
Network Engineering and Automation:
Proficient: Strong understanding of core networking protocols and troubleshooting tools, with hands-on experience configuring and monitoring