(1360725)Senior Software Engineer
Location:Vancouver, British Columbia, Canada
Area of InterestInformation Technology
Title: Senior Software Engineer
Who we are
Cisco is transforming its platforms to run the next generation of cloud-native and multi-cloud services. This role offers a superb opportunity to transform how infrastructure platforms are developed and managed with full software automation. This team is responsible to develop a container platform that provides self-service provisioning and management capabilities to the application developers, and at the same time is highly available with self-healing, full lifecycle monitoring, and management capabilities. They are also responsible for building and managing the Zero-Trust Platform - a key component in the Cisco Zero Trust for the Workforce program that allows users to avoid connecting to the VPN to access their applications.
Who you will work with
You will be a member of a team evaluating and developing capabilities needed to provide a fully managed enterprise Kubernetes container and Zero-Trust platform. You will closely collaborate with the site reliability engineering team, application teams, security team, and networking team partners in understanding their policies and requirements. You will also engage with the CI/CD, security, and code quality metrics teams in keeping our code and third-party software components in compliance.
What you will Do
- Collaborate with other core services team members to define a roadmap, write clear user stories with well-defined acceptance criteria, design, and build solutions
- Build, deploy, and operate large scale container hosting-platform using Kubernetes
- Develop and deliver automation software required for building & improving the functionality, reliability, availability, and manageability of applications and cloud platforms
- Design and develop microservices and APIs in conjunction with other team members
- Integrate microservices with other microservices and automate the deployment of microservices on the Kubernetes platform
- Ensure the quality, performance, robustness, and scalability of the services you implement
- Involve in all aspects of platform and services development and deployment
- Automate the development and test automation processes through CI/CD pipeline (Git, Jenkins, SonarQube, Artifactory, Docker containers)
- Lead and drive the adoption of Infrastructure as Code (IaC) practices and mentality
Who you are
You are an excellent Software Engineer with software design, architecture, and development experience building cloud platforms and deploying cloud-based microservice application. You have a proven background in and knowledge of software systems with strong programming experience with the ability to work closely with the rest of the Engineering team from the early stages of design all the way through identifying and resolving production issues. You’re passionate about this role and also believe that automation is key to operating largescale systems. You’re flexible and willing to learn new things in a fast-paced environment.
Required Skills and Experience
- 7+ years of proven hands-on software development experience with a focus on continuous delivery and deployment, enterprise application development, cloud automation, and building a container-hosting platform
- Software programming experience in one or more programming languages: Golang (preferred), C/C++, Python
- A proven track record with Docker containers with a good understanding of the current container ecosystem and marketplace
- Experience building cloud-based applications using micro-services and deploying in containerized environments
- Excellent knowledge of building cloud-native and server-side RESTful applications, APIs, and automation tools
- Experience with running containers (Docker/LXC) in a production environment (Kubernetes, Docker Swarm, Rancher, Mesos)
- Strong database experience: ElasticSearch, SQL, NoSQL
- Understanding of Software design patterns, SDLC, Test Driven Development (TDD), Continuous Integration and Continuous Delivery
- An aim to get things done in a highly collaborative and agile development environment
- Strong analytical and problem-solving skills
- Good communication and collaboration skills
- Experience with deploying applications to and managing infrastructure in public clouds (e.g. AWS, GCP) and private clouds (e.g. VMWare, OpenStack)
- Knowledge of GitOps, Terraform, Ansible Automation
#WeAreCisco, where each person is unique, but we bring our talents to work as a team and make a difference powering an expansive future for all.
We adopt digital, and help our customers implement change in their digital businesses. Some may think we’re “old” (36 years strong) and only about hardware, but we’re also a software company. And a security company. We even invented an intuitive network that adapts, predicts, learns and protects. No other company can do what we do – you can’t put us in a box!
But “Digital Transformation” is an empty buzz phrase without a culture that allows for innovation, creativity, and yes, even failure (if you learn from it.)
Day to day, we focus on the give and take. We give our best, give our egos a break, and give of ourselves (because giving back is built into our DNA.) We take accountability, bold steps, and take difference to heart. Because without diversity of thought and a dedication to equality for all, there is no moving forward.
So, you have colorful hair? Don’t care. Tattoos? Show off your ink. Like polka dots? That’s cool. Pop culture geek? Many of us are. Passion for technology and world changing? Be you, with us!