Compare commits
35
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22bd2e5e19 | ||
|
|
c657e47392 | ||
|
|
b67508e426 | ||
|
|
5d782fbdd3 | ||
|
|
ed12e4cbd7 | ||
|
|
da203099d8 | ||
|
|
865cf5ae8d | ||
|
|
8d1cd5abb2 | ||
|
|
5acc6e4269 | ||
|
|
bfcc47b9f3 | ||
|
|
7bb8a02118 | ||
|
|
e7a764a4e5 | ||
|
|
6182c2969d | ||
|
|
3fd2084d04 | ||
|
|
64b3bb1344 | ||
|
|
18ae4e2fac | ||
|
|
ffe816cc09 | ||
|
|
55f23ac516 | ||
|
|
18b472f655 | ||
|
|
7b0c70e0d6 | ||
|
|
f9a43e03fd | ||
|
|
4ebd7acee4 | ||
|
|
0c885d10ca | ||
|
|
e849b8e915 | ||
|
|
9cf4b7a2b6 | ||
|
|
dc37b801a5 | ||
|
|
63903227da | ||
|
|
4232e2aca7 | ||
|
|
12d1d9183a | ||
|
|
4655afbb08 | ||
|
|
f55ddaa503 | ||
|
|
1b9166b4cb | ||
|
|
15baec2330 | ||
|
|
b6388d133f | ||
|
|
9e13e86f6e |
Vendored
+15
-20
@@ -1,3 +1,6 @@
|
||||
#!/usr/bin/env groovy
|
||||
library 'status-jenkins-lib@v1.8.8'
|
||||
|
||||
pipeline {
|
||||
agent { label 'linux' }
|
||||
|
||||
@@ -11,41 +14,33 @@ pipeline {
|
||||
}
|
||||
|
||||
environment {
|
||||
CNAME = 'contributors.status.im'
|
||||
GIT_COMMITTER_NAME = 'status-im-auto'
|
||||
GIT_COMMITTER_EMAIL = 'auto@status.im'
|
||||
/* dev page settings */
|
||||
DEV_SITE = 'dev-contributors.status.im'
|
||||
DEV_HOST = 'jenkins@node-01.do-ams3.sites.misc.statusim.net'
|
||||
SCP_OPTS = 'StrictHostKeyChecking=no'
|
||||
}
|
||||
|
||||
stages {
|
||||
stage('Build') {
|
||||
steps {
|
||||
steps { script {
|
||||
sh 'mdbook build'
|
||||
}
|
||||
jenkins.genBuildMetaJSON('book/build.json')
|
||||
} }
|
||||
}
|
||||
|
||||
stage('Publish Prod') {
|
||||
when { expression { env.GIT_BRANCH ==~ /.*master/ } }
|
||||
stage('Publish') {
|
||||
steps {
|
||||
sshagent(credentials: ['status-im-auto-ssh']) {
|
||||
sh "ghp-import -p book"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Publish Devel') {
|
||||
when { expression { env.GIT_BRANCH ==~ /.*develop/ } }
|
||||
steps {
|
||||
sshagent(credentials: ['jenkins-ssh']) {
|
||||
sh """
|
||||
rsync -e 'ssh -o ${SCP_OPTS}' -r --delete book/. \
|
||||
${env.DEV_HOST}:/var/www/${env.DEV_SITE}/
|
||||
ghp-import \
|
||||
-b ${deployBranch()} \
|
||||
-c ${deployDomain()} \
|
||||
-p book
|
||||
"""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def isMasterBranch() { GIT_BRANCH ==~ /.*master/ }
|
||||
def deployBranch() { isMasterBranch() ? 'deploy-master' : 'deploy-develop' }
|
||||
def deployDomain() { isMasterBranch() ? 'contributors.status.im' : 'dev-contributors.status.im' }
|
||||
|
||||
@@ -29,9 +29,11 @@ Will expose the built page under http://localhost:3000/.
|
||||
|
||||
# Continuous Integration
|
||||
|
||||
Two branches are built by [our Jenkins instance](https://ci.infra.status.im/):
|
||||
|
||||
* `master` branch is deployed to https://contributors.status.im/ by [CI](https://ci.infra.status.im/job/website/job/contributors.status.im/).
|
||||
* `develop` branch is deployed to https://dev-contributors.status.im/ by [CI](https://ci.infra.status.im/job/website/job/dev-contributors.status.im/).
|
||||
|
||||
PRs should be made for `develop` branch and `master` should be [rebased](https://git-scm.com/book/en/v2/Git-Branching-Rebasing) on `develop` once changes are verified.
|
||||
|
||||
- [CI builds](https://ci.infra.status.im/job/website/job/contributors.status.im/) `master` and pushes to `deploy-master` branch, which is hosted at <https://contributors.status.im/>.
|
||||
- [CI builds](https://ci.infra.status.im/job/website/job/dev-contributors.status.im/) `develop` and pushes to `deploy-develop` branch, which is hosted at <https://dev-contributors.status.im/>.
|
||||
|
||||
The hosting is done using [Caddy server with Git plugin for handling GitHub webhooks](https://github.com/status-im/infra-misc/blob/master/ansible/roles/caddy-git).
|
||||
|
||||
Information about deployed build can be also found in `/build.json` available on the website.
|
||||
|
||||
+8
-1
@@ -1 +1,8 @@
|
||||
/* Placeholder for custom page-wide CSS. */
|
||||
/* Hack to hide the last sub-element under "License" link in SUMMARY.md.
|
||||
* Currently that's only "2023 Lead evaluation guide".
|
||||
* Necessary due to lack of support for hidden chapters:
|
||||
* https://github.com/rust-lang/mdBook/issues/1821
|
||||
* https://github.com/rust-lang/mdBook/issues/2176 */
|
||||
ol.chapter > li:not(.chapter-item):last-child {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
@@ -10,6 +10,7 @@ Please carefully read the following instructions to ensure a smooth and timely p
|
||||
- **Software & Licenses**: (new tools, apps, subscriptions, etc.)
|
||||
- **Consulting fees**: (consultants, freelancers)
|
||||
- **Other fees**: (bounties)
|
||||
- **Events**: (rent, insurance, sponsorship, entertainment, etc.)
|
||||
|
||||
> For instructions on how to raise a request, please refer to this [guide](https://www.notion.so/Request-Goods-or-Services-9891dc90f4424a0ebd3407db1991c203?pvs=4#3ef6bd6141f84ff496cfea785a514a5a).
|
||||
|
||||
@@ -17,7 +18,7 @@ If you are unsure about the categories or how to proceed with your specific case
|
||||
|
||||
2. Your request will be reviewed by a Budget Owner (usually the Project Lead) and, where required, by the relevant Service Units. The approval process will be handled automatically. Please ensure that you provide all necessary details regarding your request, as these are crucial for the Project Leads and Service Units to review and make the necessary arrangements.
|
||||
|
||||
> Note: The [Approval strategy](https://www.notion.so/Approval-strategy-9c15269bbb184ec9909dfd900bcf0b91?pvs=21) for each request may vary based on several variables:
|
||||
> Note: The [Approval strategy](https://www.notion.so/769ae660ac2240e9b1daf7b3ba4bb49c?v=ed50eb29a825492eab8623f9973d7886&pvs=4) for each request may vary based on several variables:
|
||||
> - **Category/sub-category**: Different sets of approvers may be required based on the category/sub-category of the request. For example, PeopleOps partners need to review requests for learning & development but not for consulting fees or software & licenses.
|
||||
> - **Amount**: In some cases, a simplified approval strategy may be triggered if the amount is below a certain threshold.
|
||||
> - **Project**: The Budget Owner is determined based on the selected project in the request. If the Budget Owner is the one raising the request, the L2 Budget Owner will be required to provide approval.
|
||||
@@ -34,4 +35,4 @@ If you are unsure about the categories or how to proceed with your specific case
|
||||
6. When Finance processes your payment requests or third-party invoices, they will check for approved requests in SpiffWorkflow. If there are no approved requests or if the amounts differ, they may request additional approval from the Budget Owner and Service Units.
|
||||
|
||||
|
||||
If you are a Budget Owner or a member of the Service Units team, you may find the [report](https://superset.infra.status.im/superset/dashboard/p/W351qlbzmdj/) useful.
|
||||
If you are a Budget Owner or a member of the Service Units team, you may find the [report](https://superset.bi.status.im/superset/dashboard/p/BzMqY16qXGd/) useful.
|
||||
|
||||
@@ -5,7 +5,7 @@ Superset is an open-source data exploration and visualization platform powered b
|
||||
|
||||
Step 1: Accessing Superset
|
||||
|
||||
- Open your web browser and enter the URL Superset is hosted. https://superset.infra.status.im/superset/welcome/
|
||||
- Open your web browser and enter the URL Superset is hosted. https://superset.bi.status.im/superset/welcome/
|
||||
- Enter your Github username and password to log in to Superset. If this is your first time using Superset it will create a brand new user for you
|
||||
- If this is your first time, you'll need access to dashboards you need. You can contact laloanaya through discord or at lalo@status.im to get access to these resources.
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
- [Journey to your first contribution](./contributing-to-status/journey-to-your-first-contribution.md)
|
||||
- [Value-creating Behaviours](./contributing-to-status/value-creating-behaviours.md)
|
||||
- [Laptops and devices](./contributing-to-status/laptops-and-devices.md)
|
||||
- [Collaboration](./contributing-to-status/collaboration.md)
|
||||
- [Coworking allowance](./contributing-to-status/coworking-allowance.md)
|
||||
- [Location independence](./contributing-to-status/location-independence.md)
|
||||
- [Events and meetups](./contributing-to-status/events-and-meetups.md)
|
||||
@@ -38,11 +39,18 @@
|
||||
- [Offboarding](./offboarding/index.md)
|
||||
- [Device Logistics](./offboarding/device-logistics.md)
|
||||
- [Playbooks](./Playbooks/index.md)
|
||||
- [2023 self-evaluation guide](./Playbooks/2023-Self-Evaluation-Guide.md)
|
||||
- [How to request goods and services](./Playbooks/How-to-request-goods-or-services.md)
|
||||
- [Spiffworkflow](./Playbooks/Spiffworkflow.md)
|
||||
- [Superset](./Playbooks/Superset.md)
|
||||
- [Team Lead Manual]()
|
||||
- [Candidate Tasks](./Team-lead-manual/Candidate-Tasks.md)
|
||||
- [Evaluation Guide](./Team-lead-manual/2023-Self-Evaluation-Guide.md)
|
||||
|
||||
|
||||
*****
|
||||
|
||||
- [Contributing to the Contributors Guide](./contributing-to-this-guide.md)
|
||||
- [License](./LICENSE.md)
|
||||
<!-- # This is hidden using custom.css file. -->
|
||||
- [2023 Lead evaluation guide](./Playbooks/2023-Lead-Evaluation-Guide.md)
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ This guide has been created to assist you in providing constructive and meaningf
|
||||
There are two questions in the evaluation process designed to be more freeform qualitative questions to give you the opportunity to provide specific feedback to the core contributors in your team - these are:
|
||||
|
||||
1. What is (at least) one thing the contributor does well?
|
||||
2. What is (at least) the one thing the contributor could improve on?
|
||||
2. What is (at least) the one thing the contributor could improve on?
|
||||
|
||||
With these questions, we suggest.
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
# Candidate Tasks in Recruitment
|
||||
|
||||

|
||||
|
||||
## 1. What is a task:
|
||||
It is a practical assessment to evaluate candidate skills.
|
||||
|
||||
## 2. Why do we use tasks in the hiring process?
|
||||
We use them to:
|
||||
- Get a better assessment beyond CVs, portfolios, github repos and interviews.
|
||||
- Gain a deeper understanding of someone's abilities (technical & non-technical) for the role at hand.
|
||||
- Give candidates a chance to showcase their working style & communication, it’s common to set up a Discord chat so the candidate & task reviewers can chat, ask/answer questions and also provide updates.
|
||||
|
||||
## 3. How to design a task
|
||||
Step 1: Understand the role's requirements.
|
||||
|
||||
Step 2: Design a task that aligns with the expected output of the role.
|
||||
|
||||
Step 3: Clearly communicate task instructions, expectations, and deadline.
|
||||
|
||||
What does a good task look like:
|
||||
- Has clear instructions & expectations
|
||||
- Has a deadline that’s realistic (usually 1 week is enough)
|
||||
- Has a recommended timeframe in which to complete the task i.e 2-4hrs (this keeps all candidates 'fair' in terms of time dedicated to the task)
|
||||
- Is aligned with the day-to-day responsibilities of the role
|
||||
- It is tackling a real problem the team face, some teams use a bounties approach
|
||||
|
||||
Examples:
|
||||
- UX/UI Designer: Create a mobile app prototype/feature based on the target audience.
|
||||
- Sales: Create a presentation on selling a complex product to a potential client.
|
||||
- Engineer: Assess problem-solving skills by tasking them with debugging code.
|
||||
- Customer Support: A simulated chat interaction to assess their communication skills.
|
||||
- Financial Analyst: Analyze an investment portfolio to gauge forecasting abilities.
|
||||
- Content Writer: Create a blog post on a specified topic.
|
||||
|
||||
## 4. Time restrictions & compensation:
|
||||
We want to see a glimpse of what they can do within the allocated time, this shouldn’t be seen as their full potential since they are not integrated into the working styles of the team or the full context of the team.
|
||||
|
||||
A simple and effective approach is:
|
||||
- A flat rate for completion of the task; ie. $200
|
||||
- A set time allowing completing the task; ie. 2-4hrs (some teams have longer, rule of thumb is allow enough time for the task to be completed)
|
||||
… The longer the task, the more time you/your team have to spend reviewing it
|
||||
|
||||
## 5. Materials for Candidates:
|
||||
Ensure candidates have all the reference materials needed to perform and succeed on the task.
|
||||
|
||||
Examples:
|
||||
- A digital marketer may need access to Google Analytics data.
|
||||
- A data scientist may need to be provided a dataset and access to statistical software.
|
||||
- A content creator may need a brand style guide and existing content for reference.
|
||||
- A Mobile UI Engineer will need access to Figma
|
||||
|
||||
## 6. Evaluating Tasks:
|
||||
Setting clear evaluation standards is important so everyone is assessed fairly and we don’t let personal biases get in the way of hiring people who perform well during tasks. We should determine the criteria for task evaluation prior to seeing the first task submitted by a candidate.
|
||||
|
||||
Examples:
|
||||
- Evaluate a coding task based on criteria like code quality, efficiency, and adherence to project requirements.
|
||||
- Assess customer service interactions based on responsiveness, problem-solving, and professionalism.
|
||||
- Evaluate a design task considering creativity, usability, and alignment with brand guidelines.
|
||||
|
||||
|
||||
## 7. Effective Communication:
|
||||
Maintain transparent and professional candidate communication.
|
||||
|
||||
- Clearly inform candidates of the evaluation timeline and when they can expect feedback.
|
||||
- Use the Discord chat to interact with the candidate throughout their task
|
||||
|
||||
## 8. Feedback and Improvement:
|
||||
Use candidate feedback to refine task instructions and evaluation criteria.
|
||||
|
||||
## 9. Sample Tasks:
|
||||
|
||||
- Engineering: [Vac Pair Programming Task](https://notes.status.im/Jvd03lPKSMiDI_eo9Dq9xw)
|
||||
- Communications: [Activist Event Manager](https://drive.google.com/file/d/1TsIbMduelr_TjbwfEcT-AnXnVco1GejC/view?usp=sharing)
|
||||
- Recruitment: [Sourcing Task](https://docs.google.com/document/d/1ICiYpsvT6sh6akyM6RxQX1tu_D3tq3bVgLWEIpj1aOM/edit?usp=sharing)
|
||||
- Pops: [People Ops Partner](https://docs.google.com/document/d/1nLFu6sQvfqCqfdlWP8kVTBzBDLTIZknNRc8FMCw9vrA/edit?usp=sharing)
|
||||
|
||||
## FAQs
|
||||
|
||||
Q: How long should candidates typically spend on the task?
|
||||
A: We recommend 2-4 hours to avoid impacting the candidate's current job and any family commitments.
|
||||
|
||||
Q: How long should the task take to complete?
|
||||
A: 1-week max (unless the candidate has let us know they have something that won’t allow them to complete the task, ie. health conditions, family, personal, ect.)
|
||||
|
||||
Q: What happens if a candidate encounters issues during the task?
|
||||
A: You can communicate with them via the discord chat created by the recruiter.
|
||||
|
||||
Q: Is there room for negotiation on compensation for exceptionally well-performed tasks?
|
||||
A: No.
|
||||
|
||||
Q: What if I can’t think of any tasks?
|
||||
A: Then check out the tasks templates above as inspiration or/and think of a daily task someone in your team does that you would expect this candidate to be competent with, for example, in recruitment we would expect someone to show their competency & creativity sourcing candidates, so that is what the task is based around.
|
||||
|
||||
Q: My team doesn't have time to review every task, what do we do?
|
||||
|
||||
A: The number of tasks to review should be minimal as you don’t need to send a task to every candidate, only the good ones that stand out as potential hires.
|
||||
|
||||
|
||||
_If that is still too much, revert to a technical discussion, so long as you’re confident you can accurately assess a candidate's suitability this way._
|
||||
|
||||
@@ -59,7 +59,7 @@ Usually, the earlier you plan your trip, the cheaper and better it's going to be
|
||||
### Commuting rates and guidelines
|
||||
|
||||
* Sometimes it's more convenient to travel by train or bus within Europe. So keep that in mind as an option when you're looking at routes.
|
||||
* We travel in economy class with carry-on luggage included. You can add one checked luggage for trips longer than 5 days or when you're carrying additional baggage for Status.
|
||||
* We travel in economy class with carry-on luggage included. You can add one checked luggage for trips longer than 5 days or when you're carrying additional baggage for Status. For flights that are 12+ hours, premium economy is permitted but please ensure that the overall cost is still reasonable (if the price is more than 2x the economy price please do consider alternate options).
|
||||
* For moving around, choose the most affordable ground transportation option. In some places, traffic is unpredictable, and public transport is more reliable. In others, car rental, and ride-sharing, such as Uber or local equivalents, are better to move from/to the airport and share the ride with others travelling with you.
|
||||
|
||||
> 💡 Pro-tip: in-flight entertainment might be limited. You might want to bring a book or download media, music, or documents offline beforehand. For some people, commutes are a great way to disconnect or do some reading or focus work.
|
||||
@@ -97,3 +97,4 @@ International prepaid SIM cards:
|
||||
* [Holafly](https://holafly.com)
|
||||
* [Airalo](https://www.airalo.com/)
|
||||
|
||||
If you are a Budget Owner or a member of the Service Units team, you may find this [Travel report](https://superset.bi.status.im/superset/dashboard/p/Mgvrd5R3Z4Q/) useful.
|
||||
|
||||
+11
-11
@@ -29,7 +29,7 @@ Your invoice should include:
|
||||
You can create an invoice by downloading/copying [this template](https://docs.google.com/spreadsheets/d/1FbH0CxLqar0ZyjhiMEA5ceToL2ikv5C-Rv-qCwBNeRA/). Please remember to download the finished invoice as a PDF before sending it and that the exported PDF is on a single page.
|
||||
|
||||
Address the invoice to the Status legal entity with which you have your agreement. The primary Status legal entities are:
|
||||
* Status Holdings Pte. Ltd., 160 Robinson Road, #24-09, Singapore 068914
|
||||
* IFT Studio Pte Ltd, 160 Robinson Road, #24-09, Singapore 068914
|
||||
* Status Research & Development GmbH, Baarerstrasse 10, 6302 Zug, Switzerland
|
||||
* Status Research & Development Deutschland GmbH, ℅ Cormoran GmbH, Am Zirkus 2, 10117 Berlin, Germany
|
||||
|
||||
@@ -98,18 +98,18 @@ Please use the working days shown below for your calculations:
|
||||
|
||||
| Month | Working days |
|
||||
|:---:|:---:|
|
||||
| January | 22 |
|
||||
| February | 20 |
|
||||
| March | 23 |
|
||||
| April | 20 |
|
||||
| January | 23 |
|
||||
| February | 21 |
|
||||
| March | 21 |
|
||||
| April | 22 |
|
||||
| May | 23 |
|
||||
| June | 22 |
|
||||
| July | 21 |
|
||||
| August | 23 |
|
||||
| June | 20 |
|
||||
| July | 23 |
|
||||
| August | 22 |
|
||||
| September | 21 |
|
||||
| October | 22 |
|
||||
| November | 22 |
|
||||
| December | 21 |
|
||||
| October | 23 |
|
||||
| November | 21 |
|
||||
| December | 22 |
|
||||
|
||||
### Expense Reimbursements
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 308 KiB |
@@ -70,12 +70,7 @@ There's a lot to do before you leave so please follow the steps assigned to you
|
||||
|
||||
* ### Letter of reference
|
||||
|
||||
We’ll be happy to provide a letter of reference confirming your contributions to Status. Should you ever need a reference letter, please email people-ops@status.im at any time, and we’ll get a letter to you within 5 - 10 working days.
|
||||
|
||||
* ### Holiday (For core contributors only only)
|
||||
|
||||
You are entitled to be paid out for any accrued but not taken holidays. Your People Partner will calculate the payout amount and pay this out to you with your final payment. You can choose to take any accrued holiday as time off during your notice period - if you want to do so, please book the time in BambooHR.
|
||||
|
||||
We’ll be happy to provide a specific (i.e addresses to a specific person or organisation) letter of reference confirming your contributions to Status. Should you ever need a reference letter, please email people-ops@status.im at any time, and we’ll get a letter to you within 5 - 10 working days.
|
||||
|
||||
## "Offboarding" chats
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@ The Status app was created to:
|
||||
* Help anyone, anywhere, interact with Ethereum, requiring no more than a phone.
|
||||
* Foster links with the wider Ethereum DApp community and showcase what the ecosystem has to offer.
|
||||
|
||||
Check out Jarrad & Carl’s [State of Us podcast](https://our.status.im/state-of-us/), and catch up on our awesome [blog posts](https://blog.status.im/we-are-the-state-of-us-2f0fc20b26d3).
|
||||
|
||||
## 🔭 Vision
|
||||
|
||||
Today, when you are first exposed to the Status app, you might see an instant messenger and wonder, "What's the big deal? After all, it’s just another instant messenger, right? What makes the Status app different and more importantly why should I bother working on it?"
|
||||
|
||||
Reference in New Issue
Block a user