We are currently looking for a DevOps Engineer to join our client's team in Toronto, ON.
The ideal candidate has a passion for automating infrastructure, building CI/CD pipelines, and is excited by the challenges found in an emerging sector.
Duties and Responsibilities:
- Design, improve and implement build and release pipelines.
- Set up Software Configuration Management, Release Management and Version control Plan
- Maintain and improve development environments (INT, QA, UAT, etc.)
- Reproducible automated build, release, developer test and unit test environments.
- Continuously improve performance and proactively identify and resolve bottlenecks that will reduce time to build and deliver our software.
- Maintain high availability Continuous Integration/Continuous Delivery infrastructure.
- Maintain and improve existing deployment tools.
- Plan and execute upgrades and deployment of Operating Systems, Applications and Packages.
- Engage and help in DevOps capacity planning, software performance analysis and system tuning.
- Review and provide feedback on product functional specifications, design specifications.
- Participate in periodic software and design reviews
- Collaborate with Development teams on generating, execution and management of unit/integration tests.
- Provide detailed estimates using well-structured techniques for performing tasks.
- Collaborate with QA team to develop and execute manual and automated test procedures, test cases, and adopt existing tests to new products.
- Collaborate with energetic, experienced Developers, Tech leads, and the CTO.
- Assist QA in setting up automated regression test server using continuous integration.
- Able to work in Agile development framework
- Bachelor's degree, B.A. or B.Sc. in computer science, software engineering, or another related field
- 5+ years experience with scripting languages like PowerShell or Python, setting up and configuring application performance monitoring and alerting, CI/CD tools like Team City, Jenkins, Octopus
- 2+ years experience building micro-services infrastructures
- Strong knowledge of .Net and good knowledge of .net Core
- Experience with Docker or other container solutions
- Strong technical ability and troubleshooting skills are required, including the ability to diagnose root cause and help determine a course of action to correct the issue
- Familiar with the processes of branching, merging and continuous integration in source code management systems
- Basic knowledge of MS SQL Server and replication.
- Working knowledge of modern software deployment processes, including CI.
Nice to have skills and experience:
- Strong programming skills.
- Experience deploying and managing cloud infrastructures (Azure, AWS, Google Cloud)
- Familiarity with Kafka, Cassandra, Elastic stack, Hashicorp tools such as Nomad, Vault, Vagrant