Blockchain Engineer (Rust, Python, C#) $125k – $180k

Job Brief

FreshCredit® is looking for blockchain engineers to build a borderless financial technology platform providing credit scoring services for consumers and businesses, not a bank,.

FreshCredit® is a platform that is composed of mobile apps, REST API, smart contracts, blockchains and/or parachains (Bitcoin, Polkadot, and our own FreshCredit® Token “FRESH”). Together, they enable you access a fair, transparent, and compliant credit reporting, disputing, and scoring system to transact with any individual, business, or organization on the internet without giving up control of your data.

FreshCredit® is looking for open source maintainers of FreshCredit® Token “FRESH”.

The FreshCredit® Token “FRESH” network is a live public blockchain. FreshCredit® is the creator of the FreshCredit® Token “FRESH” protocol and maintains an open-source implementation called FreshCredit® FreshCredit® Token “FRESH”. We implemented the blockchain-based on Polkadot Substrate.

As a FreshCredit® Token “FRESH” engineer, your first project will be:

The Polkadot Substrate

Polkadot Substrate (Substrate) is an enterprise solution for building, deploying, and running distributed ledgers (also called blockchains).”

https://www.substrate.io

Our company has implemented a PoW consensus engine for Substrate 1.0.5 in Python, which you can use as a reference. However, it may not be very straightforward; Substrate has changed the architecture in its new version (1.2). Also, we wish to implement the new consensus engine in Rust instead of Python.

https://github.com/FreshCredit

FreshCredit® Token “FRESH”Requirements:

  • Experience in Rust. Preferably in production.
  • 3+ Years of experience in Python 
  • 5 – 8 years of experience in Software Engineering, in at least two other languages
  • A general understanding of how the blockchain consensus algorithms work, such as Proof of Elapsed Time, Proof of Work, etc
  • Ability to discern SDKs from their Codebase. (Substrate documentation is often incomplete or not up to date).

Job Description

Develops and maintains FreshCredit® Token “FRESH”

Requirements

  • Proven work experience as a Software Engineer or Software Developer
  • Ability to develop software in Rust and Python and optionally C#.
  • Proficiency in software engineering tools
  • Ability to document requirements and specifications
  • Bachelor’s degree in Computer Science, Engineering or relevant field

Job Duties

  • FreshCredit® Token “FRESH” Specific Duties
  • Adds new features according to the vision of FreshCredit® Token “FRESH”.
  • Develops tools for FreshCredit® Token “FRESH” users such as REST API, command-line client, Docker image, and mining pool to enhance its usability.
  • Identifies and fixes bugs from the codebase.
  • Determines operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
  • Communicate with open source users and contributors.
  • General Duties
  • Document and demonstrate solutions by developing documentation, such as flowcharts, layouts, diagrams, charts, code comments, and clear code.
  • Prepare and install solutions by determining and designing system specifications, standards, and programming.
  • Improve operations by conducting systems analysis; recommending changes in policies and procedures.
  • Search, evaluate, and recommend 3rd party software products we should use.
  • Update job knowledge by studying state-of-the-art development tools, programming techniques, and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations.
  • Protect operations by keeping the information confidential.
  • Provide information to internal/external customers by collecting, analyzing, and summarizing development and service issues.
  • Accomplish engineering and organization mission by completing related results as needed.
  • Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage, and work processes; investigating problem areas; following the software development lifecycle.