Senior Software Engineer - Internal Developer Experience

DFINITY logoDFINITY

Sep 16

The DFINITY Foundation’s mission is to build, promote, and maintain the Internet Computer — the world’s first web-speed, internet-scale public blockchain. It enables smart contracts to securely serve interactive web content directly into the browsers of end users, making it possible to build dapps, DeFi, open internet services, and enterprise systems that are capable of operating at hyperscale. The Internet Computer uses smart contracts to power an emerging decentralized ecosystem of interoperable dapps and services, where nearly every system and service can run in reimagined form on public blockchain.

This is an opportunity to build and drive next-generation infrastructure impact across an organization of 100+ engineers and growth within Web3. Our developer productivity tech stack runs on the cutting edge to solve unique scaling problems and accelerate development velocity under large and growing complexity. Our tech stack includes technologies such as Bazel, Kubernetes, and on-prem hardware.

As our software engineering teams and code base continue to grow, so does the need to match and increase the effectiveness of our development environment and CI/CD pipelines. As a member of the Internal Developer Experience (IDX) team, you will join our effort to provide our colleagues with world-class continuous integration, development environment, and productivity tools to provide an unstoppable foundation to build the Internet Computer. 

Our team members come from extensive backgrounds in Site Reliability Engineering (SRE), Developer Operations (DevOps), and Software Engineering.

Responsibilities

  • Propose and drive projects across teams to enable them to build and test their code effectively with our infrastructure and stay ahead of their needs as the organization scales
  • Define SLOs and drive observability for critical services
  • Extend and support our CI/CD system and underlying infrastructure that processes tens of thousands of jobs per week 
    • Define and collect metrics that provide insights into where we lose time and where we can further optimize our pipelines
    • Reduce complexity and automate tedious tasks to simplify and speed up the user experience
    • Evaluate and integrate new technologies that improve efficiency to scale our infrastructure as the team and our codebase grows
  • Evolve the development environment that enables 100+ engineers to develop software with a variety of languages [Rust, Python, Javascript, Shell], related toolchains and IDEs
    • Define and collect metrics that enable us to understand where development time is lost and to find ways to increase velocity
    • 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. Create learnings from incidents and support requests to improve our system and services. Improve documentation and discoverability to empower engineers to solve future problems independently.

Requirements

  • Strong problem solving, communication and software engineering skills
  • Experience understanding developer needs, and proposing designs for solutions that optimize their experience
  • Experience deploying and operating critical high availability systems, including monitoring, alerting, SLOs, and the runbooks 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: Honeycomb, Elastic Stack, Prometheus and Grafana
    • OS, containerization and orchestration: Linux, Docker, Kubernetes
    • Programming languages: Golang, 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; understand tradeoffs between simplicity and complexity, and balance the needs of today vs the requirements of tomorrow
  • You should know how to engage with engineers to understand their current and future problems, understand the tradeoffs and propose and drive pragmatic solutions.
  • You are a team player who enjoys working alongside other brilliant people, collaborating and knows how to reach a consensus to drive a project forward
  • You seek to understand the impact of your solution on the customer, in our case our engineering teams, and want to optimize their experience continuously

Listed in: Crypto Jobs, Devops Crypto Jobs, Legal Web3 Jobs, Operations Web3 Jobs, Developer Crypto Jobs, Engineering Crypto Jobs, Web3 Web3 Jobs, Golang Crypto Jobs, Rust Crypto Jobs, Compliance Crypto Jobs, Python Crypto Jobs, Senior Crypto Jobs, JavaScript Crypto Jobs, DeFi Crypto Jobs, Data Crypto Jobs, Full Time Web3 Jobs.

Related Salaries in Web3

Related Locations