Senior Software Engineer - Blockchains
Job Description
Common Prefix is seeking a Senior Software Engineer with Blockchain Experience.
About us
Common Prefix is an innovative and rapidly expanding scientific consulting firm specializing in Blockchain Science. We are seeking an experienced Senior Software Engineer to join our team and contribute to our blockchain consulting projects. You can learn more about our company here.
Description
This is a full-time position for a Senior Software Engineer with a strong background in blockchain technology. You will play a pivotal role in creating and implementing blockchain protocols and addressing security protocol fixes for our consulting projects.
Responsibilities
In this role, you will split your time between the following responsibilities as needed:
- End-to-end implementation of blockchain software
- Develop code in a variety of programming languages including Go, Rust, JavaScript, TypeScript, Solidity, and Python
- Write end-to-end and integration tests ensuring the reliability of financial systems
- Identify and fix bugs and security issues on your software and others’ software
- Conduct code reviews for your colleagues within and outside the team
- Work with auditors in ensuring the correctness of mission-critical software
- Software lifecycle management and devops
- Design and architecture software prototypes to demo to clients in early phases
- Turn prototypes into production-grade software
- Manage the deployment of your software into testnets and mainnets
- Ensure the system remains live and safe as it is handling millions of dollars in total value locked
- Ensure the correctness of mission-critical software by writing monitoring tools, diversifying infrastructure, and removing human single points of failure
- Scientific communication
- Regularly discuss with the scientific team to understand the security requirements of protocols
- Learn from the scientific team on a regular basis by attending lectures, courses, or reading relevant academic papers
- Keep the scientific team informed by teaching them about the engineering details so that they can stay abreast with the development process
- Remain available for consulting the scientific team when they have engineering-specific questions for other projects
- Product and software communication
- Communicate with project stakeholders to align on business requirements
- Be the face of the company when communicating with clients on relevant calls when it comes to technical details, with support from the business and the science teams
- Write blogs and tweets in collaboration with the marketing team to showcase our achievements as a company in a public manner
- Regularly communicate with the rest of your team and your project lead to understand changing requirements
- Remain available for client consulting on calls on an as-needed basis in coordination with the rest of your project team to provide expertise in blockchain technology
- After sufficient onboarding, occasionally take a leadership role and take ownership of projects to ensure the timely delivery to clients
- Miscellaneous software engineering
- Develop internal software for the company as needed to support our consulting business (financial tools, client management, availability management, client dashboards)
- Develop open-source software for the blockchain community
Requirements
The requirements for this position are:
- Multi-year software engineering experience
- Experience in designing large-scale software spanning hundreds of thousands of lines of code
- Experience in network programming (sockets, APIs)
- Some proven track record in blockchain technology such as the deployment of Solidity smart contracts on Ethereum, Bitcoin Script on Bitcoin, Cardano, Algorand, or other blockchains
- A good overview of blockchain technologies and their market, including Layer 2s, rollups, light clients, bridges, and DeFi
The following skills are appreciated but not required:
- A degree in computer science (BSc, MSc/MEng, or PhD)
- An understanding of the theory of cryptography and consensus and their formal proofs of security
- A strong open-source contribution history
- Professional experience in multiple of these technologies: Go, Rust, JavaScript, TypeScript, Solidity, Python
- Network programming experience in a peer-to-peer context such as libp2p
- Experience in web2 technologies such as HTTP
What we offer
- A total compensation estimated in the range of $76,000 – $171,000 per year before tax
- The ability to work remotely as much as you prefer
- The ability to work locally from our offices in Athens, Greece, if you prefer
- The ability to optionally travel for work in exciting locations 2-3 times per year
- The opportunity to work and learn from world-class scientists from major universities in the field of blockchains, cryptography, and consensus
- The opportunity to work with other senior engineers, learn from them, and teach them on best practices and technologies
- The chance to work with a diverse clientele, with many innovative projects, to learn the ins-and-outs of the blockchain market as it develops, and to remain on the bleeding edge of the latest developments in our field
- The chance to develop public and open source software to put on your GitHub for your track record
- The learning of transferable knowledge with widely used open source technologies
- The opportunity to work, learn with, and have a high impact on a fast-growing small scientific consulting company in the field of blockchains
The role will begin with a 3-month probational period, with a potential offer to permanently join at a full-time capacity afterwards.
How to Apply
Apply now using our online application form. Please be prepared to upload your CV, and provide a link to your GitHub profile.
Company Overview
Does your job hunt have you stressed out? This is the best book we've read to help you find your next role.