Software Engineer-Infrastructure/Full Stack developer

  • Location:
    Ottawa, Ontario, Canada
  • Area of Interest
    Engineer - Software
  • Job Type
  • Technology Interest
    Software Development, Testing
  • Job Id

 Who We Are

We are modernizing the Software Development Experience at Cisco, bringing best in class Infrastructure, solutions and open source software for use by engineering. This role aims at revolutionizing the way every engineer at Cisco lives, plays, works and learns!

The R&D campus in Ottawa, Ontario, Canada is looking for experienced software developers who will be an active member of the development team to innovate, design, implement customer delivery of state-of-the-art engineering Test, development and workflow infrastructure and Services, including:

•             pyATS/Genie: Core Python framework, and/or open-source library development, focusing on NetDevOps and network automation []

•             XPRESSO: Full-stack web infrastructure, with Angular front-end and Python/NodeJS micro-service architecture

•             Lab as a Service – hardware and virtual resource management using open-stack, kvm, and various virtualization technologies

We are looking for a collaborative engineering professional with substantial experience design and development and bring a strong perspective that drives change and you are motivated to develop simple solutions to complex problems in our Engineering Group.  A Product and Software Quality Champion by engaging with all phases of Software Development Lifecycle and particularly contributing to the infrastructure to help accelerate Software Release delivery while improving Product Quality.


Responsibilities includes:

- Innovate, architect, design & Develop new infrastructure and technologies, building frameworks/prototypes using both proprietary and open-source software

- Design & implement new feature and solutions as required by customers

- Contribute to open-source community

- Support the end-users, both inside and outside Cisco


Requirement  :

* Bachelor/Master Degree in CS/SE/CE or equivalent

* 1+ years of software and/or Tool Infrastructure development experience

* Superior coding skills with solid understanding of OOP design patterns, paradigms & recipes

* Solid understanding of software development and test processes

* Interest in test automation, tooling & end-to-end test solutions

* Creative problem solving skills and excellent troubleshooting/debugging skills

* Familiarity with Unix/Linux and web-application development

* Expertise in one or all of the following languages: Python, TypeScript (Angular), JavaScript (NodeJS)

* Experience of working with Agile/Scrum process ; DevOps mindset 

* Prior knowledge/experience in building and improving CI/CD pipelines


Desirable Pluses:

* Full-stack development experience, Angular4+,  HTML5, CSS3 or SCSS/SASS, NodeJS, Gunicorn, Nginx, HAProxy, WSGI, ASGI, etc

* Prior knowledge/experience of working of ORM & Database (MySQL, NoSQL, Cassandra, Mongo, ELK); Data Collection APIs and SDKs; RESTful interfaces; Websockets

* Prior knowledge/experience of working with virtualization and containerization platforms (eg. OpenStack, Docker) and container orchestration tools (eg. Kubernetes), Kafka/Zookeeper, Apache Hadoop/Mesos

* Prior knowledge/experience in shipping multi-tenant platforms 

* Prior knowledge/experience with storage optimizations and management

* Overview and exposure on Big Data Analytics, Data Mining and Machine learning; Big data frameworks like Elasticsearch, Hadoop, etc  .

* Exposure to DevOps architecture experience

The ideal candidate must possess the following soft skills:

* Self-motivated & highly proactive , results-driven and engaged; Curiosity and strong desire for quality

* Strong problem solving skills and troubleshooting/debugging skills ; Solid analytical skills and attention to detail

* Strong written and verbal communication ; Ability to communicate complex technical details

* Flexible and open to change, have fun learning new technologies

* Excellent teamwork and people skills ; passionate about development and enjoy support & collaborating in a team-based environment

* Ability to handle multiple tasks at the same time, prioritize them and manage time effectively and doesn’t give up when faced with complex problems.

* Critical to be an Excellent team player with an ability to contribute projects substantially