Software Engineer
Job Title: Senior Software Engineer
PCCW Global is a leading international communications service provider, offering the latest mobility, voice and data solutions to multinational enterprises, telecommunications partners, cloud and application service providers. With a network footprint reaching over 3,000 cities in 160+ countries across 5 continents, our truly global coverage combined with local on-the-ground knowledge has helped us build best-in-class global connections linking Africa, the Americas, Asia Pacific, Europe and the Middle East.
Our network supports a portfolio of integrated communications services including connectivity, applications, and tailored solutions integrated and orchestrated by the Console Connect.
Console Connect is a platform for the Software Defined Interconnection® of applications and infrastructures. It allows users to self-provision private, high-performance connections among a global ecosystem of enterprises, networks, clouds, SaaS providers, IoT providers and applications providers. Accessible from 800+ data centres in 50+ countries worldwide, the platform is integrated with all major hyperscale cloud providers, including AWS, Google Cloud, IBM Cloud, Microsoft Azure, Alibaba Cloud and more. Through the Console Connect portal or via its API, users can access a broad range of native and third party solutions.
Role Responsibilities
We are seeking a SENIOR software engineer to join our Network Automation team, which is responsible for automating network infrastructure; simply: we write code to automate network configuration changes.
In this role, you will join a team of expert Python engineers, designing and implementing automation solutions that have an immediate impact on our customer-facing network operations. We use Python 3.7 in a container based micro services architecture, deployed in Kubernetes using CI/CD pipeline.
Reporting to the Technical Lead Engineer and working closely with other engineers within the team and outside, you will develop new software features as well as improve existing services, including performance and scaling improvements.
Key responsibilities include:
● Following the software development lifecycle (SDLC) to
- implement new software features with clear estimates and timelines
- create a well-communicated design strategy
- develop the software implementation, ensuring extensive unit-test coverage
- take ownership of the project during deployment to, and operation in production
● Working closely with site reliability engineering teams to make sure your code is deployed in a maintainable and scalable manner, and all failure conditions are being monitored and accounted for.
● Working with middleware and frontend teams to implement new customer facing features for adding and changing network configurations.
● Proactively conducting regular systems analysis and recommending changes in policies and procedures as necessary.
● Helping to maintain existing services and applications by investigating and fixing defects.
● Adhering to team conventions for code style and version-control practices.
● Providing helpful, accurate and supportive code review to the rest of the team and supporting and developing other team members by providing advice, coaching and educational opportunities.
Required Skills and Experience
We are looking for a self-motivated individual who loves solving tricky technical problems with creative engineering solutions.
You are:
● Passionate about software development.
● Someone who enjoys a challenge and is at home in a fast paced environment.
● A natural at collaborating with colleagues from different disciplines and backgrounds.
● Flexible and change resilient, with a 'can-do' approach.
● Focused on delivery, with a commitment to quality, innovation and continuous improvement.
● Comfortable making informed decisions quickly and taking ownership of services and applications at scale.
● A proactive developer involved in the wider developer community / open source projects.
● Authorized to work in Australia.
You have:
● Commercial experience with minimum 4 years development experience with Python programming language.
● Good understanding of REST APIs, micro service architecture, docker containers and kubernetes
● Experience with relational databases including Postgresql.
● Experience with designing concurrent and distributed systems.
● Understanding of full software development life cycle.
Any demonstrated experience of the following is beneficial but not required;
● Developing messaging based systems
● Layer2 and Layer3 networking fundamentals.
● Using Cisco IOS and network devices in general.
● Working in an agile environment.
Brisbane, QLD, AU