Site Reliability Engineer

Aurora

Aurora

Software Engineering
Remote
Posted on Jul 9, 2024
About Us
Aurora is a network of Virtual Chains that combines NEAR’s scalability with powerful infrastructure for the easy deployment of preconfigured blockchains. By integrating a high-performance EVM, the trustless Rainbow Bridge, and advanced Cross Contract Call technology, Aurora goes beyond full Ethereum compatibility, opening the doors to a multichain world.
We invite you to be a part of our team of smart, professional, result-oriented and fun individuals. Join us to help ensure that our background processes run smoothly while we are striving to become the best in the industry.
Our Values
- Execute extreme ownership.
- Strive for excellence.
- Embrace authenticity.
- Promote merit.
- Get shit done.
About the team
Our infrastructure team is responsible for building and supporting critical systems required for running and accessing NEAR and Aurora networks. That includes everything on the path of RPC requests before they hit the blockchain and block production and event delivery once transactions are executed.
Load balancing, caching, queueing, transaction simulation and block production is processed by the services written and maintained by the infrastructure team. These services operate at large scale and process terabytes of data. The platform is based on open-source software, such as Kubernetes, NATS, Jetstream, Blockscout, Grafana, Postgres and Near-core, alongside a few internally developed services.
All internally developed services are written in Go and implement core pieces of functionality such as Mempool management, NEAR chunk distribution, transaction pre-processing and simulation.
About the position
This role is split between two responsibilities: site reliability (80%) and software engineering (20%).
Reliability Engineering includes:
- Ensuring high availability and failure tolerance of our infrastructure.
- Automating configuration and maintenance of software components such as K8s, NATS, Influxdb, Postgres, Cloudflare using e.g. Ansible, Terraform, Helm and kubernetes operators.
- Design and implementation of cloud-agnostic solutions without exclusively relying on specific cloud vendors- Validator and RPC nodes management automation.
- Optimizing the latency and throughput of the pub-sub infrastructure.
- Incident management, monitoring, distributed tracing and recovery automation.
Software Engineering projects include:
- Sidecars that implement infrastructure cloud-agnostic abstractions for developers.
- CLI tools for pubsub and streaming infrastructure operations.
- Time series processing engine for our transaction simulation engine.
- Indexers and blockchain event aggregation pipelines for monitoring purposes.
About you
You are a reliability engineer with experience of creating and maintaining backend systems. You are familiar with the entire Linux stack and can easily find a bottleneck in a distributed system. You have developed CLI tools and backend services before and are comfortable applying your software development skills to automate your daily operations or to create a microservice on the request path of the end users.
Key Qualifications
- Strong emphasis on SRE as an engineering subject area, with proficiency in Golang.
- Successful track-record and proven experience as a backend internet services software developer.
- Knowledge of SDLC, including continuous integration and testing methodologies.
- Understanding of base internet infrastructure services including DNS, HTTP, server virtualization, server monitoring in critical, large scale distributed systems.
- Understanding of SRE principals, including monitoring, alerting, error budgets, fault analysis, and other common reliability engineering concepts, with a keen eye for opportunities to eliminate toil by code and process improvements.
- Excellent verbal and written communication skills in English.
Desired skills
-Experience with development within Kubernetes ecosystem, including operator framework, controllers and CRDs.
- Experience with streaming and pubsub systems such as NATS, Apache Kafka, Apache Pulsar.
- Hardware bootstrap and associated security.
- Structured or unstructured storage and caching.
- Automating operations processes via services and tools.
- Configuration management and fleet orchestration via Puppet, Chef, Ansible, or others.
- Cloud Services (AWS S3/EC2/CloudFront or equivalent).
In applying at this job, I confirm and acknowledge that I read and understood the Privacy Notice published at https://auroralabs.dev/privacy.