Job Summary:
As a Software Engineer with 1–3 years of experience in Full Stack Development, you will be part of our dynamic product development team working on scalable, high-performance Network Change and Configuration Management (NCCM) applications. You will be responsible for designing, developing, testing, and maintaining software solutions across both backend and frontend technologies, while actively collaborating in an agile environment with network engineers and cross-functional teams.
Responsibilities:
Demonstrate good analytical and programming skills with strong understanding of OOP principles.
Design and develop full-stack applications using Python, Django, Angular, HTML, CSS, and JavaScript.
Build and consume RESTful APIs to support frontend features, device communication, and third-party integrations.
Interact programmatically with routers, switches, and firewalls via SSH (Pexpect/Netmiko/Paramiko) and SNMP (v2c/v3).
Work with Mongo, Postgres Databases for application development.
Implement asynchronous task processing via Celery + RabbitMQ for bulk config jobs and scheduled backups.
Stream high-volume network events (traps, syslogs, alerts) using Kafka for real-time, event-driven processing.
Use Redis for caching, session management, and as a fast Celery message broker.
Explore and utilize technologies such as HTML, JavaScript, JSON, and CSS for frontend development.
Work closely with the team in the design and development of applications.
Diagnose problems, analyze root causes, and offer efficient technical solutions.
Skills and Qualification:
Languages/Frameworks: Python 3.x (Must)
Databases: PostgreSQL, MongoDB (Both Must)
Web Technologies: Angular (TypeScript, RxJS), Django + Django REST Framework (Both Must)
Networking: SSH, SNMP v2c/v3, ICMP/Ping, Netconf, TCP/IP, VLANs — device communication, config backup, diff, rollback, and change management workflows (Must)
Micro Services: Redis, Kafka, RabbitMQ, Celery
Concepts: Object-Oriented Programming (OOP), REST APIs, Application Development, Data Handling, Jinja
Additional Skills:
NETCONF / YANG — model-driven network configuration and management
Docker — containerised application build and deployment
Linux — shell scripting, cron jobs, process management, and log analysis
pytest / unittest — unit and integration test authoring
Postman — REST API testing and endpoint validation
Locust / JMeter — load and performance testing for backend services
Ansible — network config automation and playbook-based device management
WebSockets / SSE — real-time device status and job progress on the UI
SCSS / CSS3 — responsive and maintainable frontend styling
ACL / Firewall rules — understanding of network access control basics
Cisco IOS, Juniper JunOS and etc — ability to read device config syntax
Network topology — hierarchical design and spine-leaf architecture understanding
Terraform — infrastructure as code (IaC) tool for provisioning and managing network and cloud resources declaratively.
XML — structured data format used for parsing and handling network device configuration outputs and NETCONF payloads.
Jinja2 — Python-based templating engine for dynamically generating network device configuration files and automation scripts.
1