Senior Software Engineer (Full-Stack)
About the Organization
At Unchained Capital, our mission is to put every bitcoin holder securely in control of their assets. Our collaborative custody vaults make it easy to set up and manage multisig bitcoin storage, while providing a foundation to financial services for the long-term bitcoin holder, including trading, loans, and retirement accounts. We guide our clients through their bitcoin journey, equipping them with the knowledge, reassurance, and tools they need to secure their financial futures in ways that a traditional financial services institution cannot.
Unless otherwise indicated, all open positions are remote-friendly.
We’re looking to expand our team with folks who want to solve hard problems whose solutions are directly tied to both bitcoin’s multisig properties and more traditional role-based permissions controls.
Working at Unchained is not your average full-stack software engineering position:
- We are one of the world’s largest bitcoin financial services firms and, as a result, are constantly being attacked by bad actors. We require hardened, proactive security measures and we are meticulous about access controls and physical/logical separation of responsibilities. Security is not an afterthought or a cost-center for us, it’s baked into our product and our company culture.
- We meticulously screen and often avoid SaaS services to minimize our external surface area and ensure our clients’ data remains protected – even if this means increasing the number of systems, we are directly responsible for maintaining.
- Many of our workloads are dynamic and sophisticated. The complexity of our product and the high cost of bugs means we deploy thousands of copies of our application through the development and testing lifecycle of each release.
Unchained Engineering is filled with talented, hard-working, and passionate engineers. We want to see a strong sense of ownership, intrinsic drive, a desire to learn and grow, and, ultimately, output and results. We hold each other to a very high standard and expect that accountability to be mutual. Finally, we strive to embody aspects of the Bitcoin ethos – transparent, brutally honest, and based on proof of work. If that sounds like just the thing you’ve been missing in your career up to this point – we look forward to seeing you in the inbox.
Systems and Knowledge
Experienced with our tech stack is a huge plus, but not required
- React (redux, react-query, functional components), Electron, HTML/CSS
- Jest and Cypress e2e
- Webpack, Vite, and potentially NextJS
- Python (Flask, SQLAlchemy / alembic, pytest)
- pydantic / OpenAPI
Solid grasp of RESTful API best practices
Experienced using UNIX-like servers and comfortable at the command line
Knowledge of and experience with Docker, Kubernetes, and AWS infrastructure
Personality and Drive
- Curiosity reigns
- Passionate with ability to focus deeply
- Intense work ethic
- Strong communication and documentation skills
- Excellent judgment, analytical thinking, and problem-solving skills
- Self-motivated individual that possesses excellent time management and organizational skills
Having One or More of the Following is a Plus
- An eye for design – you’ll be building out novel UI or UX workflows for a new category of financial services, as well as contributing to our component library.
- Experience building Helm charts
- Experience with Jenkins or other CI build systems
- Strong understanding of micro-services and related architectures
- Experience working with bitcoin at the protocol level (redeem/witness scripts, extended public keys (xpubs), signatures, taproot)
- Experience working with bitcoin and lightning network nodes
Please include a cover letter with your application that addresses:
- Why do you want to work at Unchained Capital? What about this job description appealed to you?
- What do you find exciting about bitcoin? What articles or writers have helped you on your bitcoin journey?
If we choose to move forward, there will be a screening interview with HR followed by a technical interview consisting of discussion questions followed by a live coding exercise in a toy environment based on a simplified version of our tech stack.