Primary Function of the Position

Reporting to the Network Development Lead, the Senior Software Engineer is responsible for the development, deployment of Network applications for the portfolio including:

• Preparing deployment design using gitops approach or pipelines for different projects.

• Deployment of applications running on Kubernetes Clusters

• Development of network data applications which underpin the Core Product offering

• Undertake ad-hoc projects & other activities as required


Key Accountabilities & Activities

1 Preparing deployment design using gitops approach or pipelines for different projects:

• Developing deployment approaches using gitlab pipelines

• Building/maintaining components using helm or kustomize

• Provide support for application integration into the k8s cluster

• Preparing Docker build files


2 Design and Build of Network applications:

• Authoring of golang applications against a list of business requirements

• Using best practices in software engineering such as SOLID

• Produce unit tests to support network applications working with DevOps best practices

• Preparing reports, manuals & other documentation on the network development tools


3 Liaise and support other teams on work items:

• Act as a trusted advisor for other teams to provide support

• Assist Product Managers with defining business requirements and specifications


4 Research and evaluate emerging developments and best practise:

• Providing coaching & mentoring of teammates.

• Ensuring high standards of software quality are maintained through good practises & habits.

• Assessing, preparing & distributing documentation of process & application changes within the team & affected stakeholders.


5 Undertake ad-hoc projects and other activities as required

Experience & Skills

Essential

1. Good knowledge of Kubernetes Operations (monitor/deploy/diagnose)

2. Good Golang developer experience across different industries

3. Good understanding of GitOps

4. Good understanding of Container deployments

5. Good understating of CI/CD pipelines

6. Demonstratable knowledge of the Public Cloud

7. Working with OpenAPI specifications and APIs generally

8. Linux system admin and network operations


Desirable

9. Good understanding of IP Networking IPv4 and IPv6 stack

10. Awareness of Telco/ISP networking IP stack e.g. Service Provider MPLS, Layer 2 and Layer 3 VPNs

11. Understanding of NETCONF, RESTCONF and GNMI protocols

12. Experience of Broadband Service enablers like RADIUS, DHCP, BNG, Access nodes and IPoE

13. Proven ability to work independently & collaboratively in a fast-paced technical environment.

14. Demonstratable knowledge of the telecommunications industry & technologies.

15. Experience of working with Prometheus and Grafana