Last edited Dec 24, 2022

Engineering Workflow

This page is a guideline on how our engineering team work in great detail. TLDR; Our workflow is actually pretty simple.

  1. Create / Pick a Linear issue
  2. Work on it
  3. Create PR & Review
  4. Merge
  5. QA will check the main branch before deployment
  6. Every week we deploy the main branch to prod. Check Release Workflow

Create / Pick a Linear Issue

This part might not be very straightforward when you start early on. We currently do not have product manager to help you pick which tasks you should work on, but don't worry, your frens will help you pick some out early on!

We usually have a "all hands" once every 6 weeks. There, we usually discuss what direction the team is taking on each quarter (whether we should change it, keep going, or resolve any roadblocks). This is the big goal that we're going to do.

From the goal, you should be able to see what needs to be done to accomplish that goal. From what needs to be done, you should be able to see which tasks you can do.

There's a lot of tasks that needs to be done, which one should I start doing first?

Generally, ones that have the highest impact, but lowest effort.

Which classifies as high impact?

This depends on the case and the state of the product. If you're unsure, ask your frens, try to come up with a reason why you think this task is more important than the other.

Work on it

Do your thing, nerd.

Create a PR & Review

Like most other Github projects there are a couple of branches you need to take notes of:

  1. main branch
  2. feature branches.

What should I name my branch?

Up to you, Albert usually do prefixes like feature/xyz or fix/xyz . Generally it contains a hint of what you're working on.

What should be the title of my PR?

Make sure to always include the Linear Issue ID on your title so it will automatically connected to the Linear issue. Here's an example:

TD-2754: Connect and disconnect stripe to app

Before asking your fren to review. Please please please please please please please please please please test your code.

Passing test cases does not mean your code works. In fact, the most consistent thing that exists in every single bug out there is passing test cases.

Merge

To merge, we strongly encourage minimum 1 approval from one of your frens. There is an exception on this:

editor has E2E CI/CD so deployments are handled by the system. renderer and api requires manual deployment, ask your fren to deploy this once it's merged to main.

QA

Once merged to the main branch, the QA team will be able to start testing your changes.

What's next?

Start checking out our Github Repo structure

Other Resources


That's it 🥳