Network Device Software Engineer

Community Of
Municipality of Madrid, Spain
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Municipality of Madrid, Spain

Tech stack

Secure Shell (SSH)
Java
JavaScript
Address Resolution Protocols
Artificial Intelligence
Bash
Network Analysis
Cloud Computing
Software Quality
Communications Protocols
Computer Security
System Configuration
Continuous Delivery
Continuous Integration
Cron
Linux
DevOps
Programming Tools
Django
DNS
Filesystem Hierarchy Standards
Networking Hardware
Python
Linux System Administration
Automation of Marketing
Modbus
Message Queuing Telemetry Transport (MQTT)
Network Monitoring
Network Protocols
Citrix Systems
NMap
Open Source Technology
Ansible
Shell Script
Simple Network Management Protocols
Software Engineering
TCP/IP
Transmission Control Protocol (TCP)
Wireshark
TypeScript
Web Application Frameworks
Diagnostic Tools
Scripting (Bash/Python/Go/Ruby)
Computer Network Operations
Computer Network Technologies
Test Driven Development
Flask
Software Troubleshooting
Backend
Juniper
Containerization
Bacnet
Zigbee
Free and Open-Source Software
GraphQL
REST
Open Network Automation Platform
gRPC
Cisco networks
Docker
Programming Languages

Requirements

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 network infrastructure from leading vendors (Cisco, Juniper, F5, Citrix) Bonus: Experience with network automation tools (e.g., Ansible, Netmiko, NAPALM), programmatic interaction with network protocols (e.g., SNMP, SSH, REST API), familiarity with open source network analysis tools (Nmap, Wireshark), and exposure to IoT/connected-device ecosystems and vendors, including communication protocols such as MQTT, CoAP, Modbus/TCP, BACnet, Zigbee, or BLE. Linux Administration and Scripting: Proficient: Bash, Shell scripting, Linux system administration Bonus: Knowledge on systemd, cron, and log management tools (journald, rsyslog, logrotate), experience with Linux storage and filesystem management, including volume mounting, rootfs, fstab. DevOps & Tooling: Pr

Apply for this position