Getting Plugged In

How to use this page

Below is information to get your oriented the organization and administrative procedures. 

To do

Content in these boxes indicate something you need to do. Please make sure these are complete before the end of your on boarding week.

Who do you work for? 

The RChain core development team is primarily made up of RChain Cooperative managed developers. There are a few RChain community members who also work on the core development team. Additionally, some work in the project is outsourced to the RChain community as work for bounty. 

RChain is comprised of two high level groups. The RChain Cooperative and for-profit investment companies


Co-OperativeInvestment companies (Pithia and Reflective-Ventures)
ProfitabilityNot for ProfitFor Profit
IPOpen SourcePrivate
DevelopmentCore PlatformApplications leveraging the Platform
CustomersDevelopment CommunityCorporate, Government
Goals
  • Develop RChain platform
  • Broaden adoption of RChain platform
  • Develop applications on the platform
  • Profits from applications built on RChain platform.

As a member of the RChain core development team, you will interact with the Coop leadership and members of the community, and the investment companies as your stakeholders.

Time Sheets

There is only one task you can do to earn money while working on this contract and that is submitting your time sheet on time each week.

To do

  • Set up a system to track your time. 
  • Submit your timesheet by the deadline. Submit your timesheet to invoices@rchain.coop by 00:00 UTC on the 14th and day before the last day of the month.

Timesheet worksheet

RChain cooperative timesheet

Pay day

RChain sends payments on the 15th and last day of the month.


Leave and time off

Please discuss your leave and time off needs with Mike Stay. 

Note - As we work toward the release of Mercury in Q4, no significant leave will be approved prior to the launch of Mercury (Dec.).

Team placement and opportunities for change

We strive to work with you, the project teams, and an understanding of the needs of the project to place you on a team after your first week that is a good fit. Frequent movement of developers from one component of the project to another is very disruptive to personal and development team productivity. 

Should you find that you would like to make a move, please discuss with the CTO. Considerations in making a decision about a move will include:

  • Time spent on the current team - Requests to change teams if you haven not been on the team for at least 12 months, are not likely to be approved. 
  • Performance - Your performance and contribution to your current team and the project help inform the likelihood of success in making a move.
  • Change in the needs of your current team - The growth of the project, and not your personal desire, may be the catalyst for change. If you are under-utilized on your current team due to changes in the project, then this would support a need to move you to another team.

Communication

We use a variety of channels and methods for communications. 

RChain coop channels:

A common complaint of new RChain members is learning about and managing all of the available communication channels. A Coop workgroup is working to improve this. In the meantime, review the list of RChain communication channels.

Chat:

  • RChain coop public and member-only channels. Depending on the project team you are working with, do plan to track relevant development channels in the RChain discord.
  • RChain core developer (rchain-dev) limited-access Discord.

Philosophy on chat - Chat is a helpful tool and serves the development team well. A concern with chat is that it is not the ideal platform for capturing decisions, specifications, requirements, and bugs. This type of content needs to be captured in the appropriate development wiki space or in a Jira ticket. If you are in a chat thread that seems like it should be captured, please take the initiative to capture it.

How to test if conversation should take place in Discord or Jira/wikki:

  • Are you experiencing a bug or problem with the software or have an idea for an improvement?
    • Yes - First, create a Jira ticket. Include information on how to recreate the experience or details about your question or suggestion
    • No - See next question
  • Is your experience/question/suggestion something that will be discussed in a meeting?
    • Yes - Make sure you have it documented on a wiki page or in a Jira ticket before the meeting.
    • No - See next question
  • Is everyone who should see your question or idea on Discord, and can I be resolved in 5 minutes or less?
    • Yes - Discord is fine for this. Please capture any outcomes (decisions, additional questions, next steps) in either a wiki page or Jira ticket.
    • No - Create a wiki page or ticket and do not attempt to use Discord for conversation or decision-making. Either do it in the wiki or ticket comments or schedule a conversation with stakeholders.



To do

If you have not received an invite already to the rchain-dev private Discord server., please ask either Medha or Kelly for an invitation.

Email:

  • You will be given an @rchain.coop email address. You are responsible for attending to in a timely way messages sent to this account.
  • Email communications about RChain to the full development team should be directed to 'rchain-makers@rchain.coop'.  This email is a google group, and all the contractors and managers on the RChain project will receive your emails. 


To do

  • Install Google authenticator to a device of your choice. You will need this to set up and manage your RChain email address.
  • Set up your RChain Jira and Confluence accounts with your RChain email address.
  • Jira, Confluence, and Github send lots of automated messages, consider setting up filters and folders to manage the volume and to assure you don't miss relevant messages.
  • If you choose to use your private GitHub account, please update your account to include your RChain email address.


Audio (Zoom)

We use Zoom for audio/video meetings.

To do

  • Create a free Zoom account with your RChain email account. A free account supports meetings up to 45 minutes. When you reach the time limit, you can start a new meeting.
  • If you routinely need support for meetings >45 minutes. Please contact Deanna Duke to discuss a paid account.


Status updates

  • Prior to every standup, everyone on the team provides an update in the #what-im-doing on Discord.

Developer content: Git, task management, and documentation

GitHub

The RChain repository is on GitHub.

To do

Sign up to watch the RChain/RChain repository and any subprojects that are important to your work.


Task management

We use Jira to plan and manage work on the project. Below are best practices for working with content in Jira.

  • Keep all ticket related communications documented inside the ticket itself.  If you run into an issue completing ticket related work, document your blocker inside the ticket and assign the ticket to a team member that can unblock you.  Work the next item in your sprint backlog.
  • Ensure that the ticket status reflects the work status.  If you have started work on a ticket, move the ticket to 'In Progress'.  When you issue your final PR for Code review-  move the ticket to 'In Review'.
  • When the ticket is complete (Code is reviewed & checked in, done criteria met, tests pass etc...), move the ticket to "Done".
    • A ticket isn't done until there is no more work left on it.
  • Don't work on tickets that are not in the sprint.  In the event you are blocked on your sprint commitment, reach out to the Project Manager to resolve - as this should not happen.

Wiki Pages:

We use Confluence to create and manage project-related content. Below

  • Watch relevant pages and content in the wiki. To set up a watch, select the eye icon in the top-right of the page or space you want to watch.

  • Based on your team assignment, watch the Roscala, Rholang, Development and RChain wiki spaces for updates.  

  • Do not use inline comments on wiki pages.  They are nice, but not readable, and very poor for threading comments.

  • Use comments at the bottom of the wiki pages.  Make sure you use '>quoted text' from the page, so people know what content you are replying to.

Meetings and calendars

We aim to use meeting time effectively for the team. This means scheduling well-time, appropriately timed, and agenda-driven meetings. With a global team, we also strive to be sensitive to the various time-zones we live and work in. Below are some best practices for meetings and using calendars.

Meeting best practices

  • Schedule a meeting only if you have a clear, and outcome-focused agenda. Include the agenda in the calendar invitation.
  • Take a time zone-friendly approach when scheduling meetings.
  • If you host a meeting, you are responsible for assuring notes are captured and saved in the wiki. The wiki provides a meeting note template, visible when you create a new page.
  • As a rule, if you hold a meeting for a technical discussion, you need to create a wiki page capturing the following:
    • Purpose of the meeting (Agenda)
    • Attendees
    • Outcome, including action items, any decisions made
    • Referenced documents (tickets, wiki pages, etc...)
  • You are also welcome to record meetings if the group agrees to it and the content discussed may be of interest to others.

Calendars:

Meetings:

  • Standups: 
    • Standups take place 3X / week.  Monday, Wednesday and Friday.  
    • Before the meeting please update the #what-im-doing channel in discord with what you just completed and what you'll work on next
    • The Monday meeting with Greg Meredith is an excellent opportunity to get clarifications on technical questions from Greg. 
  • RChain Community hangout:
    • Optional, required only if you are presenting a demo
    • Takes place on Wednesday - run by Greg, purpose is to update the broader community, and is live streamed over YouTube, and recorded for viewing later.
  • CASPER Standup:  

Table of contents