Senior Software Developer, DevOps - remote

Hootsuite
Posted 3 years ago
We Work Remotely
We’re looking for a Senior Software Developer, DevOps who can help us support the development organization to deliver value to customers in a reliable, efficient, and safe manner. You’ll do this by solving problems and creating infrastructure, software, and processes. You’ll be working in a focused team that owns one or more pieces of the production application environment and the developer experience. This role reports to the Director, Production Operations and Delivery and is based in Hootsuite’s Vancouver office (post COVID19) or remotely across Canada or the US (in accordance with Hootsuite's local employment entities). The successful candidate may need to be able to travel from time to time to Hootsuite's Vancouver office.

WHAT YOU’LL DO: 

  • Lead by owning project milestones, epics or features
  • Practice continuous improvement, contributing to culture, process and direction in your team and across our department
  • Write software - tools, libraries, automation, services, and glue
  • Build and maintain infrastructure with infrastructure-as-code
  • Practice continuous delivery
  • Manage the reliability, security and integrity of our large, cloud-based Linux infrastructure
  • Participate in a flexible on-call rotation
  • Develop processes and automation to eliminate repetitive tasks
  • Collaborate with others across the organization to solve problems and build better processes, systems and software
  • Communicate by mentoring, writing documentation, participating in meetings, and showing off your work at demos
 

WHAT YOU’LL BE RESPONSIBLE FOR:

  • Design and build of our Kubernetes-based compute platform
  • Identify and implement new platform features
  • Research and evaluate new technologies
  • Refactor, rewrite or retire existing platform features
  • Operate our developer experience and production environments
  • Diagnose and repair our distributed systems
  • Perform maintenance, upgrades and migrations
  • Control or eliminate repetitive tasks, alert noise and business-as-usual work
  • Enable development teams
  • Provide executable interfaces to our build, test and deploy platform
  • Provide tools and best practices to support the entire software development lifecycle
  • Provide advice, guidance and tooling on architecting microservices for production
 

WHAT YOU’LL NEED:

  • A degree in Computer Science or Engineering or equivalent experience and senior level experience working in an SRE, DevOps or software engineering role
  • An ability to write software and working knowledge of software engineering practice (we use Go, you might have experience with other languages)
  • Experience using containerization technologies (We use Kubernetes, you might use ECS, Nomad, Mesos, Docker Compose or similar)
  • Experience using infrastructure-as-code tools to build and run cloud infrastructure (we use Terraform, Ansible, Docker and Kubernetes, you might have experience with Puppet, Chef, Salt, Mesos, ECS or similar)
  • Excellent written and verbal communication skills
  • Preferred. Experience administering artifact repositories (we use Artifactory, but you might have had experience with Nexus or similar) and an enterprise SCM (we use GitHub Enterprise, you might have experience with GitLab or Bitbucket Server)
  • Preferred. Working knowledge of Linux systems, including troubleshooting system level issues, shell scripting, networking (L3-L7) and basic monitoring
  • Preferred. Experience with operating, building and maintaining cloud infrastructure
  • Preferred. An understanding of SaaS software development practice;Ideally you have experience working on a SaaS product
 

WHO YOU ARE:

  • Tenacious. You are determined to succeed, and you are motivated by the success of customers, colleagues, and the community.
  • Curious. You are always learning and seeking ways to make things better.
  • Priority Setter: You focus time/energy on the most important issues/opportunities. You clearly understand how to assess the importance of tasks and decisions
  • Accountable: You hold yourself and others accountable to meeting commitments
  • Problem Solver: You use an organized and logical approach to find solutions to complex problems. You look beyond the obvious to understand the contributing factors.