Software Engineer (Blockchain Engineering Team)
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
Required Skills :
• Strong command of computer science fundamentals
• Security-first development mindset
• 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