DevOps Software Engineer
The Internet Computer is the fastest and only infinitely scalable general-purpose blockchain — incubated and launched by the DFINITY Foundation in May 2021. A team of over 200 world-renowned cryptographers, distributed systems engineers, and programming language experts have taken on the massive technological challenge of building, maintaining, and continuously improving a ‘world computer’ powerful enough to host Web3 dApps, DeFi, games, NFTs, social media, and metaverse projects.
DFINITY was founded in 2016 by entrepreneur and crypto theoretician, Dominic Williams, and attracted interest and financial contributions from early members of the Ethereum community. Later, top-tier institutions such as Andreessen Horowitz, Polychain Capital, and SV Angel backed the Internet Computer in a collective effort to help build out Web3.
As our engineering teams and code base continue to grow, so does the need to increase the efficiency of our development environment and speed-up our CI/CD pipelines. As a member of the Internal Developer Experience (IDX) team, you will join our effort to provide a world-class development environment to our colleagues as we build the Internet Computer. This is a unique opportunity to work across teams to understand their needs and impact the quality and efficiency of software delivery.
- Collaborate with engineers from different teams to understand their needs and to enable them to build their code using CI/CD infrastructure.
- Extend and support our CI/CD system that processes tens of thousands of jobs per week
- Collect metrics that provide insights into where we lose time and where we can further optimize our pipelines
- Simplify and speed up the user experience by reducing complexity and automating tedious tasks
- Integrate our CI system with ticket management and bug tracking systems
- Evaluate and integrate new technologies that improve efficiency and allow us to scale our infrastructure as the team our codebase grows
- Evolve the development environment that enables 100+ engineers to develop software with a variety of languages, related toolchains and IDEs.
- Collect metrics that enable us to understand where most of the development time is lost and to find ways to increase efficiency.
- Seek a balance between streamlining tool-usage and empowering engineers to use the tool of their choice
- Offload compute-heavy tasks to our data centers
- Provide support for the systems and tools maintained by the team. Learn from support requests so we can improve our system and services. Improve our documentation to empower engineers to solve future problems independently
- Strong problem solving and software engineering skills.
- Experience designing solutions that optimize developer experience, effort, maintainability and scalability
- Experience deploying and operating systems that run 24x7x365, including monitoring, alarming, and tooling required to keep them healthy.
- Preferably you have built reliable systems with tools that we use on a daily basis:
- CI/CD: GitLab, GitHub
- Metrics, monitoring and visualization: Elastic Stack, Prometheus and Grafana
- OS and containerization: Linux and Docker
- Programming languages: Python, Bash and an interest in Rust
- A Bachelor's degree in Computer Science, or a closely related field. The unique challenges at DFINITY have attracted many engineers with advanced degrees, however your practical experience is more important to us than your educational background.
What kind of engineers are we looking for?
- You should demonstrate a passion for building quality software and systems
- We are looking for team players who enjoy working alongside other brilliant people to come up with the best solutions together.
- You seek to understand the impact of your solution on the customer, in our case our engineering teams, and want to continuously optimize the experience.
Your application has been successfully submitted.
The Internet Computer