Release Manager

The Foundation for Interwallet Operability (FIO, http://fioprotocol.io) is looking for a Senior Release Manager to assist packaging and release of core chain code, contract code, and front-end applications. FIO Protocol is fully open source (FIO Protocol ) with documentation and REST APIs (https://developers.fioprotocol.io/ ). FIO Protocol is built on a blockchain platform that uses C++ as its smart contract programming language. Underlying the blockchain is a WebAssembly virtual machine which executes smart contract code. Blockchain functionality is accessed via an API. Integration of FIO features by crypto wallets and exchanges is facilitated by Typescript, Kotlin, and iOS SDKs.

Overview

Reports to : VP of Engineering
Payscale:
Time commitment : Full time to start, with mastery this can go to part time.
Work style: Flexible, work in your way to collaborate, communicate, gather info, and deliver.
Time zone requirements : Work MST exclusively until demonstrating mastery. Then flexible.

Key Responsibilities

  • Facilitate the prioritization of projects into core code and contract releases

  • Oversee the management of code repositories and perform version control of Github repositories necessary for release

  • Oversee merging of changes and hot fixes into released versions

  • Perform release acceptance testing using the fio.test repo and javascript testing

  • Gather information from projects ready for release, working with lead engineers to document the necessary rollout procedures for a project

  • Resolve acceptance test glitches by troubleshooting and submitting code changes for tests

  • Work with FIO block producers to facilitate the rollout of releases through FIO Testnet and Mainnet using Discord, Telegram and Jira

  • Organize and lead block producer meetings to coordinate FIO releases

  • Coordinate, encourage, and hold accountable integrators as they upgrade to the latest version of the FIO core code

  • Assist in troubleshooting all release issues to facilitate a successful release

Additional Requirements

  • Work with Product team and FIO Steering Committee to define the content of releases

  • Work with lead developers to collaboratively define rollout procedures

  • Define, create and execute acceptance testing for all releases using javascript

  • Define, create and manage rollout plans for all releases using the FIO core team wiki on Atlassian

  • Manage GitHub repository versioning for releases

  • Make changes to javascript tests and manage your own branches on GitHub for testing code repositories to ensure clean run of system test for release acceptance testing

  • Work with lead developers to merge changes into release code branches

  • Own and update code repositories used for the creation and management of FIO private “devnet” networks (implemented in GoLang)

  • Manage the creation, destruction, and runtime management of cloud based clusters used to perform acceptance testing using AWS and golang

  • Communicate on telegram and discord as needed to ensure the preparation and execution of the release in the FIO community

  • Research new ways to improve release acceptance testing and verification

  • Research improvements in the way FIO creates and manages private full scale test networks for FIO

  • Research ways FIO can reliably stress test code as part of release acceptance

Tools and Technologies

  • Atlassian/Jira - A kanban board is maintained and stories are created for work tasks, Epics are created for longer duration projects and initiatives

  • Confluence Wiki - A FIO core team wiki is maintained in atlassian, you will create and manage pages to communicate various ideas throughout the FIO protocol

  • Telegram – Telegram is used for communication with the FIO community and FIO block producers

  • Discord – Discord is used by the FIO core team and various integrators for chat and virtual meetings

  • Golang – Go is used to program the executable called devnet which uses yaml files to configure various settings

  • Javascript – node.js is used to program the tests used by the fio core team

  • Github – Git repositories and branches are used to manage code versions