Description - The blockchain engineering team is looking for a passionate and experienced software engineer(s) to join its team of expert engineers to build out robust, enterprise level, performant, and secure applications on distributed, decentralized platforms. There are multiple roles available varying from full-stack and distributed systems engineers, to performance engineers, to applied cryptography engineers. Highly motivated persons will have demonstrated experience in the area of complex, multi-disciplinary, and geographically dispersed development. The ideal candidate will have strong oral and written communication skills and organizational skills. Ideal candidate will have extensive experience in software development and related infrastructure projects in a rapidly changing environment, be able to tolerate ambiguity in this fast-moving field, and demonstrate problem solving, leadership, creativity and innovation.
Roles and Responsibilities
Gather requirements, provide analysis, assess alternatives and code libraries, and give well-thought recommendations.
Collaborate with various line of business technology teams to design and build robust and performant blockchain-based solutions.
Peer-to-peer distributed system design and implementation involving multiple technology stacks.
Research, strategize and educate on methodology and best practices for blockchain design, implementation, and deployment.
Design, implement, and monitor one or more line of business applications.
Implement rigorous and thorough testing practices to ensure the security and performance goals of blockchain infrastructure.
Design and implement blockchain supporting tools and utilities (e.g., CLI client, tools for exploring the blockchain, monitoring, benchmarking or debugging tools)
Implement rigorous and thorough monitoring and testing practices to ensure the security and performance goals of blockchain infrastructure
Design and verify cryptographic protocols deployed on the blockchain
Design blockchain solutions, such that it can support benchmark use-cases of decentralized applications, with proven and verified cryptographic protocols
Build out monitoring protocols and fail-over measures.
Collaborate with development teams to develop integration design and where appropriate prepare estimates on design and development services for integration initiatives
Strong command of computer science fundamentals
Security-first development mindset
5+ years' experience in Developer / Design in large and complex distributed computing environments
Proven track record of delivering software development projects
Experience with Linux and Ubuntu
Understanding of security procedures and practices.
Knowledge of backup and recovery management solutions
Knowledge of traditional storage architecture as well as storage virtualization
Experience with cloud infrastructure services such as Amazon, Google, or Microsoft
Familiarity with using Git or other version control software for source code management
Financial industry experience
Distributed computing experience such as Kafka and RabbitMQ
Experience with one or more front-development frameworks, such as React or Angular
Thorough understanding of cryptographic protocols and blockchain implementations
A working knowledge of Docker and of using the Vagrant environment
Strong analytical and problem-solving skills
Self-starter that requires minimal supervision
Flexible / adaptable - able to work with diverse groups of people including all levels of business management
Excellent project management and facilitation skills