You will be joining a fast-paced engineering team made up of people with significant experience working with terabytes of data. We believe that everybody has something to bring to the table, and therefore put collaborative effort and team-work above all else (and not just on the engineering side).Decentralized Finance (DeFi) is on track to revolutionize how the financial sector works, through an entirely new system of technologically enforced contract guarantees. As a Blockchain Engineer, you develop and maintain services needed to interact with existing and future blockchains, to support Kaiko’s collection growth towards new types of data and new data sources.
You will be able to work autonomously as an equally trusted member of the team, in close relationship with the Data Engineers, and participate in efforts such as:
- Addressing “big data” problems: current head of ethereum blockchain is at 12M+, how do we index that data and query it efficiently?
- Working on Smart Contracts and Oracles : we partner with Chainlink and Tezos today
- Addressing high availability problems: data replication, disaster recovery, etc.
- Monitoring: VictoriaMetrics (+ vmalert and vmagent), Grafana
- Alerting: AlertManager, Sensu Go
- Logging: Vector
- Caching: Redis (phasing out in favor of FoundationDB)
- Secrets management and PKI: Vault
- Configuration management and provisioning: Terraform, Ansible
- Service discovery: Consul
- Messaging: Kafka
- Proxying: HAProxy
- Service deployment: Terraform, Nomad (plugged in Consul and Vault), Kubernetes (to a lesser extent, used for non production critical workloads)
- Database systems: ClickHouse (main datastore), FoundationDB (caching, deduplication)
- Operating System: Ubuntu 18.04
- Protocols: gRPC, HTTP (phasing out in favor of gRPC), WebSocket (phasing out in favor of gRPC)
- Geth and Solidity
- Platforms (packaged in Docker containers): Golang, NodeJS (phasing out in favor of Golang), Ruby (phasing out in favor of Golang)
- Design, develop and deploy smart contracts and work with Blockchains and Oracles
-Design, develop and deploy scalable and observable backend microservices tailored for Blockchain, DEXes and DeFi data collection (trades, liquidity pools, hash rate, etc)
- Work hand-in-hand with the business team and the data engineering team on developing new features, addressing issues and extending the platform
Who We Are Looking For
- Significant experience as a Software/Data/DevOps Engineer
- Deep understanding of Blockchain technology (Solidity, Vyper), Oracles, and Decentralized Finance (Curve, Balancer, AMMs, Yearn, Aave, Synthetix ... etc): ideally, you have used and integrated these protocols before
- You can abstract the complexity of low-level smart contract interactions through scripting and rest APIs
- Knowledgeable about data ingestion pipelines and massive data querying
- Worked with, in no particular order: microservices architecture, infrastructure as a code, self-managed services (eg. deploy and maintain our own databases), distributed services, server-side development, etc
Please note that we don’t have any “hard” requirements in terms of development platforms or technologies: we are primarily interested in people capable of adapting to an ever changing landscape of technical requirements, who learn fast and are not afraid to constantly push our technical boundaries.It is not uncommon for us to benchmark new technologies for a specific feature, or to change our infrastructure in a big way to better suit our needs.
The most important skills for us revolve around two things:
- What we like to call “core” knowledge: what’s a software process, how does it interact with a machine’s or the network’s resources, what kind of constraints can we expect for certain workloads, what purpose does it serve, etc
- How fast you can adapt to a technology you didn’t know existed 10 minutes ago
Nice to Have
- Experience developing financial product methodologies for indices, reference rates, and exchange rates
- Knowledgeable about the technicalities of financial market data, such as the difference between: calls, puts, straddles, different types of bonds, swaps, CFD, CDS, options, futures, etc
- Experience with Smart Contract static analysis tooling (e.g. Manticore) or formal verification (e.g. KEVM)
- Honest, getting and giving feedback is very important to you
- Humble, making new errors is an essential part of your journey
- Empathetic, you feel a sense of responsibility for all the team’s endeavors and don’t pay attention to the individual level of involvement
- Committed, as an equally important member of the team, you want to make yourself heard while respecting everybody’s point of view
- Fluent in written and spoken English (we have 5 different nationalities in the team!)
- You have the utmost respect for legacy code and infrastructure, with some occasional and perfectly understandable respectful complaints
We do our best to select people that lead by example and experience rather than by position or seniority.
- Hangout/Meet/Discord (20mins)
- Meeting with the head of engineering as well as another senior member of the team for a technical/product RPG: you read that right, no written test, no whiteboard quicksort implementation (1h30)
- Informal discussion with other members of the company (business, sales, 30m) and HR meeting (20mins).
- Meeting with our CEO
Each step is generally held on a different day, we do our best to follow-up in the next 24 hours, and we always provide the candidates with a thorough explanation of our decision.
• Hardware of your choice
• Paid vacation
• Health insurance
• Multiple team events (annual retreat, casual drinks, etc.)
• An entrepreneurial environment with a lot of autonomy and responsibilities
• Staff surprises: just because we know that occasionally, small delights can brighten your day
• Other perks
• Contract type: Permanent - full time
• International applicants welcome!
Interested? Apply now by emailing your resume and a short introduction to email@example.com!