Senior Software Engineer (Remote)
Smart contracts are on track to revolutionize how all agreements work, through an entirely new system of cryptographically-enforced contract guarantees. Chainlink enables next-generation smart contracts that can be written about any/all events in the real world. We live by an open source ethos and believe in giving back to the community.
Our solution and architecture are outlined in our whitepaper. We are well-recognized for providing highly secure and reliable blockchain connectivity to the world’s largest enterprises such as Google, Oracle, SWIFT, and many more. This is a unique opportunity to join one of the top companies developing cutting-edge blockchain technology while working closely together with a team of experienced senior developers.
This role is location-agnostic, and we employ engineers worldwide.
However, we ask that some of your working hours overlap with Eastern Standard Time (EST).
As a senior software engineer, you’ll work directly with the company’s CTO, CEO, and an experienced technical team of other senior engineers, distributed systems computing experts and security experts, who are all committed to building world changing decentralized infrastructure. You’ll develop and build highly scalable, secure, and reliable software that will change the way smart contracts function at a fundamental level. You’ll have the opportunity to learn and master the latest research concerning distributed systems, cryptography, blockchains, game theory, consensus algorithms, and decentralized applications. You will be given a high level of autonomy/ownership over your projects, the opportunity to expand your scope of knowledge and the chance to help build the decentralized infrastructure of the future.
- Designing and implementing new features within the product such as trust minimized off-chain computation, cryptocurrency staking, the aggregation of external data in various blockchain environments, and many more problems
- Thinking creatively about attack vectors, possible failures and disaster scenarios, modeling them in reproducible test environments, and developing fixes
- Modeling and developing recovery behaviors within our core node software
- Managing the architectural vision for new subsystems in the core Chainlink node
- Implementing resilient distributed systems to achieve extremely high reliability in a variety of blockchain environments
- 5+ years of professional software development
- B.S. or higher in computer science, software engineering or related technical field
- Experience with test driven development and the use of testing frameworks
- Experience developing complex web applications / services and backend APIs
- Knowledge of systems design concepts
- Experience with distributed systems and/or container orchestration
- Strong communication skills, specifically giving/receiving constructive feedback in a collaborative setting
- Experience with distributed systems
- Experience building highly-concurrent systems, particularly those employing the “communicating sequential processes” (CSP) model
- Professional experience with Golang, TypeScript, Solidity, Rust, Docker, Postgres
- Concrete experience interacting with Ethereum and other blockchains
- Ability to optimize and refactor for scaling and/or testability
- Experience defining security strategies and securing high-value systems
- Excitement for blockchain, Web 3.0, and similar decentralized technologies
- Comfort with pair programming
- Experience with Continuous Integration and Continuous Delivery
- Passion for open source
- Comfort working remotely in a distributed team