Principal Engineer (Remote, USA) === At [Bolt Labs](https://boltlabs.tech), our mission is to build usable, secure, and scalable infrastructure to enable everyone to securely store their assets while preserving the privacy of their transactions. To achieve this mission, we are building [Lock Keeper](https://github.com/boltlabs-inc/key-mgmt): a secure digital asset manager and specialized key management system that helps people store, retrieve, and use the private keys associated with their digital assets. We’re building a security-first system with layers of cryptography, hardware protection, and misuse-resistant design. We are seeking a Principal Enginer that can work closely with Bolt's development team to design and develop Bolt’s [digital asset management system](https://github.com/boltlabs-inc/key-mgmt), while also serving as a mentor and technical lead. **Please note that for this remote role, we can only consider candidates with current authorization to work in the United States.** Why work at [Bolt Labs](https://boltlabs.tech)? --- * **Values**: We care about building technology that makes a positive difference for the privacy of people everywhere. Our goal is to create an inclusive and supportive work environment, where we all have the resources to learn, grow, and work collaboratively to improve the state of privacy today. * **Open source**: Our team is committed to developing our technologies as open source from day one. Team members also have the opportunity to contribute significantly to the open-source Rust ecosystem, from which we both substantially benefit and to which we give back. * **Flexibility**: We are a small, fully remote, focused team, offering maximum flexibility and minimum bureaucracy. If you're able to attend meetings, collaborate effectively, and do your work, when and where you work are up to you. We encourage you to value your life’s balance. * **Research**: You will be working to solve meaningful, never-before-solved challenges with a world-class team of scientists and engineers in the fields of applied cryptography, distributed systems, programming languages, and more... and we're excited to learn from the unique insights that you will bring. Compensation & Benefits --- * **Flexible Salary Range**: The salary range for this position is competitive with market rates for the position across the United States. Bolt believes that everyone should be compensated fairly and equitably. We set our salary ranges using compensation data from industry accepted market sources and will be the same regardless of location. * **Benefits**: Fully subsidized health, dental, and vision insurance for you (and 50% subsidized for your partner and family), equity in the company, a funded bring-your-own-device (BYOD) policy, and 4 weeks of paid vacation time per year, not including sick days and holidays. Principal Engineer Responsibilities --- In this role, you will work closely with the Development Team to design and develop Bolt’s products, while also serving as a mentor and tech lead. The Principal Engineer will work directly with Bolt’s CTO on system architecture and distributed deployment modeling of Bolt’s cloud services. The Principal Engineer will also work with Bolt’s Chief Scientist on the practical application of cryptographic research and security principles into Bolt’s product line. ### Day-to-day responsibilities * Key member of the software development team * Reviewer and technical lead for a small team of developers * System architecture and software design of new products and components * Lead investigator on new technologies and synergistic toolkits and frameworks * Lead developer when incorporating security and privacy techniques into the product suite ### Required Qualifications * University degree in Computer Science, Engineering or equivalent industry experience * Minimum of 8 years experience with object-oriented design (UML and software design patterns) and development in more than one language (e.g., Rust, C++, Go, Java) * Prior experience serving as a technical lead and full-stack developer * Relational database modeling and development (e.g., Postgres, SQL, ER Diagrams, Normalization) * Experience with GitHub (or similar VCS), Git tools, and CI/CD patterns * Familiarity with security principles, including PKI and certificate authorities * Demonstrated focus on quality deliverables and scalable solutions * Excellent verbal and written documentation skills ### The following additional skills are a plus… * Security engineering experience * Exposure to the Rust programming paradigm * Server high availability, scalability, and load balancing * Exposure to trusted execution environments (either hardware or software) * Familiarity with shell scripting * Exposure to AWS cloud infrastructure and associated services * Familiarity with setup and deployment of containerized applications, such as Docker and Kubernetes You might be a great fit for the role of Principal Engineer if… --- ### You are comfortable leading and mentoring small teams We are looking for a candidate that likes to participate in development as an individual contributor while also leading and mentoring other members of the development team. This includes design, tasking, prioritization, development, peer-reviews and instituting best practices. ### You are confident balancing independent and collaborative learning Bridging cutting-edge cryptography research and high-quality software development is difficult interdisciplinary work. While we do not expect you to be an expert in the specific domains in which we work, we are seeking someone who is not afraid to ask a lot of questions: you should know how to notice when you’re confused and say so when you are. At the same time, you should have the drive and the organizational skills to take charge of your own learning. We’ll work together to help you strike a healthy balance between collaboration and independence. ### You have strong skills for asynchronous communication and remote work Work at Bolt Labs has always been asynchronous and fully remote, and will continue to be so as COVID restrictions ease up. We’re looking for an empathetic person who can be successful while collaborating asynchronously, with the excellent verbal and written communication skills necessary to thrive in that environment. You should be comfortable working with minimal day-to-day structure and be able to self-motivate throughout the work week. After it is safe to travel, we plan to bring the team together in person approximately once per quarter (but we won’t be doing that until it *really* is safe). ### You have current work authorization in the United States For this remote role, we can only consider candidates with current authorization to work in the United States. How to apply --- **[Submit an application here!](https://airtable.com/shrcPH7PiD4doXBSl)** We will request the following information: * your **name** and **pronouns**, * your **resume** or **CV** (no page limit), * a **brief cover letter** describing your interest in the role, and * a link to your **work portfolio**. What to expect in the interview process --- 1. **Initial interview (30-45 minutes)**: We’ll chat with you about your background, motivation for working at Bolt Labs, and other introductory things. We’ll also ask you to tell us more about one or more of the works in the portfolio that you submitted with your application. 2. **Technical Discussion (60-75 minutes):** In this interview, we’ll have an open-ended discussion about a few near-term and long-term projects. We’ll share our cloud deployment goals and challenges that we’re facing. We’ll ask you to share how you would approach some of these problems and how you would collaborate with other team members and our customer. Questions will be a combination of design and strategy, behavioral, and technical. We’re also excited to hear (and answer) your questions about our work, technical directions, and overall vision. You may prepare for this interview by reading through our documentation, source code, or other publicly accessible materials. We don’t expect you to spend more than a few hours preparing, just enough to have a meaningful conversation and show us your insights. 3. **Final team interview (60-75 minutes):** After the second-round interview, we’ll let you know whether we’re interested in moving forward to a final interview where you’ll get an opportunity to talk to the entire team at Bolt. You’ll be able to ask any questions you still have about our culture, our future plans, our upcoming technical challenges, and whatever else comes to your mind. 4. **Offer**: After the final interview, we'll let you know whether we're interested in extending an offer. If we extend an offer, our team members will continue to be available for you to ask anyone any questions that might have come up for you since the last interview. We recognize that the interview process is also an opportunity for you to evaluate us as an organization. At any point in this process, we may realize that we're not a great fit for each other. If it’s the case on our end, we'll try to let you know as soon as possible. All of our interviews will be conducted over video chat. We want you to be comfortably able to show yourself off in the best possible light. If there are any accommodations we can make during the interview process to make things easier for you, please let us know. At any point, please feel free to email any questions to careers@boltlabs.io. We look forward to meeting you! --- Bolt Labs is an equal opportunity employer and we value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.