Senior Software Development Engineer
Job Description / Skills Required
Docker Inc. is the company behind The Docker Project: the open platform to build, ship, and run distributed applications. Docker has been named the leader in container platforms.
Docker has been expanding into the Edge and the Internet of Things (IoT). Edge computing is any compute that happens at the “edge” of the network. This can be remote sites, on prem servers, gateways, and so on. The IoT market focuses more on embedded low power devices. Docker is leveraging its existing application containerization, management, and monitoring by bringing those features outside of the core.
The Edge & IoT team is looking to hire software engineers for the Kitchener / Waterloo Ontario office.
- Design, architect, implement, and test frameworks, libraries, tools, and services.
- Participate in requirement, design, planning, and retrospective meetings.
- Review designs, architectures, implementations, API’s, and test plans.
- Act as an Edge & IoT subject matter expert and evangelist within the company and broader Docker community.
- Be an active maintainer of Docker Projects by contributing Go code to the open-source projects, helping the community contribute, reviewing submissions, and participating in design decisions.
- Participate in product discussions, influence the roadmap, and take ownership and responsibility over new projects to make them happen.
- Help lead Docker’s and the industry’s Edge & IoT architectures and software stacks.
- Be the technical referent to external partners and in-house engineering teams for Edge & IoT related topics, provide support by sharing knowledge and/or taking on the development effort.
- Computer Science or Engineering degree.
- Proficient software development experience (some of: Go, Python, Java, C/C++, ...).
- Interest or exposure to Docker, Kubernetes, AWS/GCP/Azure
- Strong Linux fundamentals and experience working with linux distributions.
- Familiarity with test driven development (TDD).
- Good communication skills, a sense of diplomacy, and a genuine eagerness to help others.
- Excellent API design skills (straightforward, unsurprising, defensible).
- Familiarity with some (not necessarily all) topics such as:
- Linux containerization
- Security (TPM, Attestation, Provisioning, Code signing)
- Networking (IP, TCP, UDP, HTTP)
- Orchestrators (Kubernetes, Swarm, …)
- Multi-architecture: Arm, x86, GPU’s
- Microservices and highly distributed/available client/server systems
- Professional development and training.
- Attend conferences and working groups.
- Modern bright office, centrally located and close to public transportation.
- Enjoy snacks, drinks, and dinners (if working late).
- Full benefits (Health, Dental, Vision, RRSP).
- Customized workstation (macOS, Windows, Linux).
- Company outings, happy hours, hackathons, and tech talks.
Docker is the leader in the containerization market, combining an enterprise-grade container platform with world-class services to give developers and IT alike the freedom to build, manage and secure applications without the fear of technology or infrastructure lock-in. Today’s organizations are under pressure to digitally transform their business but are constrained by a diverse portfolio of applications, clouds and premises-based infrastructures. Docker unlocks the potential of every organization with a container platform that brings traditional applications and microservices built on Window, Linux and mainframe into an automated and secure supply chain, advancing dev to ops collaboration. As a result, organizations report a 300 percent improvement in time to market, while reducing operational costs by 50 percent. Inspired by open source innovation and a rich ecosystem of technology and go-to-market partners, Docker’s container platform and services are used by millions of developers and more than 550 Global 10K commercial customers including ADP, GE, MetLife, PayPal and Societe Generale.