
About Company
Crypto creates economic freedom by ensuring that people can participate fairly in the economy, and Coinbase is on a mission to increase economic freedom for more than 1 billion people. We’re updating the century-old financial system by providing a trusted platform that makes it easy for people and institutions to engage with crypto assets, including trading, staking, safekeeping, spending, and fast, free global transfers. We also provide critical infrastructure for onchain activity and support builders who share our vision that onchain is the new online. And together with the crypto community, we advocate for responsible rules to make the benefits of crypto available around the world.
Job Description
Summary
The CDP API team owns both server-side APIs and client-side libraries across different languages. The team seeks a full-stack engineer who is passionate about all aspects of excellent developer experiences: authoring clear and informative documentation, building compelling sample applications, interacting directly with customers to incorporate feedback, architecting delightfully simple SDKs, etc. The engineer must be comfortable operating in both frontend and backend codebases, fluent across a variety of programming languages, and demonstrate both high code velocity and quality simultaneously. The CDP API team consists of some of the most prolific and tenured software engineers at Coinbase, and is excited to ship a game-changing set of APIs and SDKs at breakneck speed.
What youll be doing:
- Design, develop, and maintain scalable, secure, and high-performance backend systems for the CDP APIs using Go and Javascript
- Define and maintain clean and conformant HTTP REST API definitions using OpenAPI specifications
- Design, develop, and maintain ergonomic, open-source SDKs to interact with the CDP APIs using Ruby, Typescript, Go, Python, and Java
- Author, publish, and maintain clear and concise documentation, including quickstart and how-to guides, to increase adoption of the Platform APIs and SDKs
- Develop secure and scalable key management systems, packaged as Docker images, to enable crypto wallet functionality across a range of custodial configurations (e.g. self-custodial MPC)
- Work closely with many different teams at Coinbase to externalize their backend services through the Platform APIs, ensuring consistency of concepts, style, and design
- Interface directly with customers to collect their feedback and iteratively improve the CDP APIs and SDKs
- Build compelling sample applications end-to-end using the CDP APIs and SDKs to demonstrate their value and pressure-test the developer experience
- Troubleshoot and debug complex fullstack issues, ensuring stability, reliability, and security
- Participate in code reviews and provide constructive feedback to maintain high code quality standards
What we look for in you:
- 5+ years of experience in both backend and frontend software development
- Mastery of Go and JavaScript; experience with Ruby, TypeScript, Python, and Java is a plus
- Excellent verbal and written communication skills, with an eye for detail and a passion for clear, comprehensive developer documentation
- Strong understanding of crypto wallets, including key management, cryptography, and blockchain protocols (e.g. EVM)
- Proven track record of designing, developing, and shipping high-quality, ergonomic client-side libraries and SDKs
- Strong understanding of distributed systems, microservices architecture, and event-driven architectures
- Experience with databases (PostgreSQL, MySQL, MongoDB) and caching systems (Redis, Memcached)
- Solid knowledge of RESTful API design principles and experience with API development and integration
- Familiarity with AWS and containerization technologies like Kubernetes
- Understanding of security best practices and experience with implementing secure coding practices for financial systems
- Crypto-forward experience, including familiarity with onchain activity such as interacting with Ethereum addresses, using ENS, and engaging with dApps or blockchain-based services.
Skills
- Application Programming Interface (API)
- Attention to detail
- Problem-solving
- Programming language (R, Python, Scala, Matlab)
- SQL (a must) and Hive (optional)
- Typography: spacing, line height, layout, choosing fonts