AS400 Software developer and Maintenance 3 (11280)

Location: Toronto, Ontario
Date Posted: 20-12-2017
The successful candidates will contribute in client's network softwarization program by proving technical/programming expertise to a team of software engineers, network architects within Technology Strategy department to ensure effective and smooth delivery of our software-defined product portfolio. This position requires advanced knowledge in the area of network-oriented software development and Software Defined Networking solutions that support our internal business drivers including, capability, architectural direction, and Technology Strategy 

• Develop and implement required software modules primarily as microservices 
• Follow Test-Driven Development methodology 
• Develop unit test, module test and end-to-end test for each piece of developed software 
• Develop software requirements in business, functional, technical levels and convert them to functional and technical diagrams 
• Devlop required software onboarding process to automate the software delivery 
• Develop required metrics to measure the health of each microservice 
• Develop and onboard containers for the microservices 
• Develop required operational monitoring tools to support operations team 

Required Knowledge: 

• Strong programming experience is one or more of the following languages: Python, C/C++, GO, Java, JavaScript, PHP 
• Strong API programming and ability to integrate systems / components through APIs and custom interfaces 
• Fundamental understanding of microservices and the concept of disaggregation 
• Development experience in data and message bus technologies such as Kafka, RabbitMQ, 0MQ 
• Knowledge of Test-Driven Development (TDD) methodology 
• Familiarity with the concept of Autonomic Networking and Self-X (Self-healing, self-configuring, self-optimizing, etc) 
• Opensource tool development, certification and collaboration experience 
• Ability to research and evaluate open-source and commercial software-defined control plane solutions and integrate into an existing solution 
• Knowledge of requirement gathering including business, functional, technical requirements and converting them to functional/technical and sequence diagrams for software design purposes 
• Solid knowledge of Linux environment and Linux networking 
• Knowledge of big data and associated technologies, advanced data structures and algorithm development / complexity analysis, parallel and distributed systems (and programming) 
• Understanding of network layered architecture (data, control, management) 
• Knowledge of network services (in particular wireline services) 
• Fundamental understanding of networking concepts (switching and routing, security, QoS, etc) and associated standards 
• Knowledge of traffic engineering and path computation techniques and tools 
• Knowledge of MPLS, Segment Routing, BGP-LS, PCEP 
• Knowledge of NoSQL databases 
• Knowledge of virtualization techniques and technologies in networks, servers, and software stacks 
• Knowledge of SDN (architecture and technology) and popular SDN controllers such as ODL, ONOS, etc 
• Knowledge of service and network modeling tools and protocols such as YANG/Netconf, TOSCA, HEAT 
• Familiarity with containerization and related tools such as Kubernetes / Openshift, Docker / Docker Swarm 
• Knowledge of automated software onboarding process and service assurance 
• Knowledge of CI/CD Devops best practices and the tools used to implement them such Git/Gitlab, Jenkins, Jira) 
• Experience using configuration management tools such as Ansible, Puppet, Chef 
• Knowledge of orchestration concepts (design and onboarding) for PNFs and VNFs and capability of using orchestration tools 
• Experience working with Agile/Scrum methodologies 
• Strong Knowledge of Openstack 
• Experience using file, block, and object storage systems such as Ceph, Swift, Cinder, iSCSI, SAN 

Required Skills & Abilities: 
• Problem-solving, critical thinking 
• Passionate for team-work 
• Ability to make hard decisions that support client's strategic direction 
• Demonstrated ability to communicate ideas, project and process concepts with ease and clarity to peers and executives 
• Demonstrated ability to take ownership of issues and ensure they are resolved demonstrating superior negotiation and conflict resolution skills 
• Ability to prioritize and manage multiple tasks, including potential competitive and conflicting priorities and time pressures 
• Demonstrated ability to take on a challenge and work effectively under high levels of change 

Required Professional Designation/Certification: 
• Post secondary degree in Computer Science, Computer Engineering or Electrical Engineering or a related discipline 
• Networking certifications are considered as asset 
• Software-based certificates such database-focused skills are considered as asset 

Required Experience: 
• 3-5 years of experience in network oriented software programming, web programming would be a great asset 
• Experience working with cross-functional teams
this job portal is powered by CATS