Design, develop, and maintain automation and software solutions that streamline and optimize the company's systems and infrastructure, applying strong software engineering, system design, and architecture principles.
Reporting Line: IT Development Manager
Key Duties and Responsibilities
- Gather system user requirements and translate them into robust system architecture and software design specifications for automation and integration solutions
- Design, develop, and implement scalable software and automation solutions for configuration, provisioning, monitoring, and troubleshooting across enterprise systems and integrations, applying sound system design and architecture practices (network environments, including NNIs, are a key application area)
- Architect and build monitoring and analytics capabilities into automation solutions to enhance system performance, scalability, proactive management, fault detection, and reporting
- Develop and maintain well-architected automation scripts, services, and workflows using tools such as Python, Ansible, Terraform, and REST APIs to streamline operations across systems
- Design and implement integrations between automation platforms and B/OSS systems, applying strong system architecture practices to ensure seamless interoperability with existing systems
- Research and evaluate emerging technologies, frameworks, and architectural patterns to enhance automation capabilities and recommend innovative solutions for improving systems and operations
- Develop and maintain documentation, including system architecture and design diagrams, automation processes, integration workflows, and technical guidelines
- Own the full software development lifecycle for automation and systems engineering projects, including requirements analysis, system design and architecture, development, testing, implementation, and maintenance
- Provide support and troubleshooting for automated systems and processes, collaborating with operations teams to resolve issues
- Ensure business data completeness, consistency, and integrity, managing master and transactional data effectively
- Ensure business continuity through proper and regular backups of system and user data
- Identify opportunities and champion business process automation to improve efficiency and reduce manual workloads
- Ensure compliance with security, reliability, and sound architectural best practices in all systems and automation solutions
- Assist other departments and lead projects, providing reports as requested by the IT Development Manager
- Bachelor's degree in computer science, Software Engineering, Information Technology, or a related field from a recognized university
- Certifications in software development, systems/solutions architecture, or cloud platforms (e.g. AWS, Azure, GCP) are desirable
- Networking certifications such as CCNA, CCNP, or JNCIA are an added advantage
- Minimum 3 years' experience in systems/software engineering, application development, or a related technical role
- Strong foundation in system design, software architecture, and development best practices (e.g. design patterns, microservices, API-first design, scalable architectures)
- Solid understanding of networking technologies including BGP, OSPF, DNS and DHCP
- Proficiency writing automations with scripting languages such as Python and Bash
- Working knowledge of YANG, YAML, and JSON
- Familiarity with using REST APIs
- Working knowledge of Git
- Excellent understanding of technology concepts such as SDLC, systems engineering, IT performance management, IT operations, operational monitoring, security monitoring, and KPIs
- Knowledge of various IT infrastructure technologies (e.g., applications, servers, networks, and storage)