Applied Cryptography Engineer

Nash


2 months ago

08/08/2019 10:21:23

Job type: Full-time

Category: Software Dev


Our goal at Nash is to make trading, holding and interacting with cryptocurrencies accessible to everyone.

We are looking for a Cryptography Engineer to work alongside Nash's leadership and help deploy bleeding-edge cryptography. You will have the opportunity to develop new cryptographic products and see them move from academic papers to operational systems with hundreds of thousands of users. In particular, we are looking for people to help us build ECDSA-based products using multi-party computation and zero-knowledge proofs. This role comes with significant autonomy and responsibility.

Requirements

  • Experience in systems programming, with an ability to write performant and low-level code

  • Knowledge of the Rust programming language

  • Proven track-record of working on cryptographic projects with large systemic complexity

  • Strong communication and collaboration skills

  • Functional knowledge of elliptic curve technology

We are looking for

  • 3+ years engineering experience in a production environment

  • A deep understanding of public-key cryptography and network protocols

  • Skill at finding flaws in software and communicating how to fix them

  • Extensive knowledge of Git

  • A strong portfolio of prior projects

We prefer but don't require

  • Prior history of open-source contributions

  • Security or cryptography research backround

  • Experience working in remote team

* Occasional international travel may be required as needed

Please mention that you come from Remotive when applying for this job.

Help us maintain Remotive! If this link is broken, please just click to report dead link!

similar jobs

  • Input Output (Europe)
    1 week ago

    Summary

    As a Software Engineer at IOHK you are responsible for writing high-quality code for our products. You have the exciting challenge of working with cutting-edge research and technology with a focus on the market's needs. To support you on this challenge, our products have software architects, product managers, project managers, formal methods specialists and QA test engineers, with whom you must communicate professionally, effectively and efficiently.

    Duties

    • Follow agile software development practices

    • Work with teams across multiple time zones

    • Work independently on software development tasks

    • Be proactive and require minimal supervision or mentoring to complete tasks

    • Review specifications produced by architects and formal methods specialists

    • Contribute to the design of algorithms

    • Write clean, straightforward, efficient code that satisfies previously agreed acceptance criteria and specifications

    • Commit often and submit small pull requests frequently

    • Cover your code with unit, property and integration tests when applicable

    • Review the pull requests of your team mates

    • Fix bugs in your own code and in legacy code from others

    • Be available for emergency fixing of severity 1 issues on deployed products

    • Integrate software components and third-party libraries

    • Verify and deploy programs and systems

    • Troubleshoot, debug and upgrade existing software

    • Write documentation for the code

    • Write technical user manuals

    • Be knowledgeable of distributed and concurrent computation

    Key Competencies

    • Write idiomatic code that satisfies the acceptance criteria of a given task

    • Write tests (unit tests, property tests) that provide sufficient and non-superfluous efficient code coverage.

    • Document code and APIs concisely and unambiguously

    • Break down tasks into sub-tasks that are completable in a short amount of time and report completion as required by managers

    • Pragmatically adhere to software engineering principles (modularity, incremental development, no premature optimization, no feature creep, no speculative generality, ...)

    Education / Experience

    • Degree in Computer Science is desirable but not essential

    • A minimum of 2-3 years development experience (professional or otherwise) in the required language (Scala)

    • Experience working with Git and Git workflow

    • Practical experience with Agile software development methods

    • Knowledge of functional and object-oriented programming paradigms

    Specialist Skills

    • Skills relevant for a software engineer specialized in Scala

    • Advanced knowledge of the Scala type system.

    • Familiarity with frameworks such as Akka, Monix, Shapeless, Scalacheck & Scalatest.

    • Practical experience in the use of profilers, VM and GC tuning. 

  • As a Senior Server Ops Engineer at DECA Games, you have in-depth experience with AWS Cloud Services, and building scalable, maintainable infrastructures from scratch using modern operations best practices. In addition, you have had experience optimizing legacy infrastructures to improve their cost efficiency.

    Work Experience Requirements

    • 5+ years experience working with large-scale AWS infrastructures

    • Experience optimizing cost on a high volume infrastructure

    Skills Requirements

    • Extensive experience with cloud architectures via AWS, GCP, or Azure

    • Extensive experience with security-minded cloud networking

    • Extensive experience working with legacy infrastructures

    • Extensive experience with AWS CloudFormation

    • Extensive experience in Git, Docker and Jenkins pipelines

    • Extensive experience with self-testing to minimize and fix issues

    • Experience with High-Load or Data-Intensive applications

    • Experience with PagerDuty, Datadog, and Splunk

    • Experience with Containers(Docker/Kubernetes) is a plus

    • Strong Documentation / Presentation / Communication skills

    • Strong problem solving / debugging skills

    • Ability to work unsupervised

    • Ability to assist others in their work

  • Job description

    Smart contracts are on track to revolutionize how all agreements work, through an entirely new system of technologically enforced contract guarantees. Chainlink enables next-generation smart contracts that can be written about any/all events in the real world, the details of our approach can be found in our whitepaper. We are well recognized for providing highly secure and reliable blockchain connectivity to the world's largest enterprises such as Google, Oracle, SWIFT, and many more. This is a unique opportunity to join one of the top companies developing cutting-edge blockchain technology while working closely together with a team of experienced senior developers.

    About this Role

    As a senior software engineer, you’ll work directly with the company’s CTO, CEO and a technical team of other senior engineers. You’ll develop and build highly scalable, secure, and reliable software that will change the way smart contracts function at a fundamental level. You’ll have the opportunity to learn and master the latest research concerning cryptography, blockchains, game theory, consensus algorithms, and decentralized applications. The core Chainlink client is written in GoLang and we are planning to rewrite some of the architecture using Rust. We live by an open-source ethos and believe in giving back to the community. 

    Requirements

    • 5+ years of professional software development

    • B.S. or higher in computer science or a similarly technical field

    • Experience with test driven development and the use of testing frameworks

    • Knowledge of system design concepts

    • Experience with distributed systems and/or container orchestration

    • Strong communication skills, specifically giving/receiving constructive feedback in a collaborative setting

    Preferred Qualifications

    • Professional experience with Golang, TypeScript, Solidity, Rust

    • Comfort working remotely in a distributed team

    • Experience with distributed systems

    • Ability to optimize and refactor for scaling and/or testability

    • Experience defining security strategies and securing high value systems

    • Excitement for blockchain, Web 3.0, and similar decentralized technologies

    • Comfort with pair programming

    • Experience with Continuous Integration and Continuous Delivery

    • Passion for open source

    This role is location agnostic anywhere in the world. Though we ask that you overlap some working hours with Eastern Standard Time (EST). 

    *Chainlink is an Equal Opportunity Employer.*

Remotive can help!

Not sure how to apply properly to this job? Watch our live webinar « 3 Mistakes to Avoid When Looking For A Remote Startup Job (And What To Do Instead) ».

Interested to chat with Remote workers? Join our community!