Skip to content

Commit bec3bde

Browse files
github-actions[bot]Notion Sync
andauthored
Regenerate handbook content from Notion
Co-authored-by: Notion Sync <notion-sync-action@invalid>
1 parent 832d7d0 commit bec3bde

6 files changed

Lines changed: 22 additions & 183 deletions

File tree

docs/README.md

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,7 @@ This excludes data categorized as being of no value or already publicly availabl
8989
In addition:
9090

9191
- Software Developers are required to set up [Secure Work Environment](workstation-setup/developer-environment-setup.md) on their workstations.
92-
- All other roles (e.g. managers) are required to use [Storage Encryption](workstation-setup/storage-encryption.md).
93-
94-
Setting up Full Disk Encryption might initially appear daunting, but rest assured that it is fairly straightforward process.
95-
If you want to learn more about available options, please refer to the [Storage Encryption](workstation-setup/storage-encryption.md) document.
92+
- All other roles (e.g. managers) are required to use at least volume encryption.
9693

9794
### Mobile devices
9895

@@ -122,13 +119,15 @@ Q: Do I still need to set up service-specific 2FA if I use Google SSO?
122119
A: No.
123120
Google SSO (with 2FA enabled on your Google account) already covers this, as long as password-based login is disabled.
124121

125-
### External LLMs
122+
### LLMs
123+
124+
Most clients explicitly agreed to the use of LLMs.
125+
Ask a lead developer on the given project what tools you can use for which type of work.
126126

127-
Most clients explicitly agreed to the use of non-local LLMs.
128-
Ask a lead developer on the given project what tools you can use for which type of work - there are a couple of modules which should never be shown as context for an external LLM.
127+
Some clients also require that their code isn’t used to train the models, so make sure you have “Help improve our AI models” setting in all your LLMs turned off.
129128

130129
We pay for the AI tools used by our staff members.
131-
See [AI tool funding agreement](policies/agreements.md) for more details.
130+
See [AI tool funding agreement](policies/agreements.md#74fb63b4ef1e8255a58e81855b8a6921) for more details.
132131

133132
## What does "high performance" mean?
134133

@@ -144,27 +143,28 @@ We employ several techniques to output a lot of value in a unit of time:
144143
We don't like that part of the project, so we invest in automation to minimize its impact.
145144
4. Design systems in such a way that they are easy to think about and implement.
146145
5. Design systems in such a way that they are durable and, whenever possible, self-healing.
147-
6. We prefer candidates who are not an order of magnitude slower than others.
148-
For example, a program that reverts a small file can take less than a minute to implement, but some candidates need more than 10 minutes.
149-
Someone might have a problem with this, but we just don't hire the slowest developers on the market.
150-
7. If there is doubt on whether something should be done or not, we stop and ask.
146+
6. If there is doubt on whether something should be done or not, we stop and ask.
151147
This theoretically increases Time To Market, but in practice, it only does so for the last task of the iteration (so a hint for planning is that the last task in the iteration should be low-risk).
152-
8. We are allergic to waste.
148+
7. We are allergic to waste.
153149
This drives many of our actions, including good communication with the client who knows what must be done.
154150
While some software houses lose \~30% of their performance (due to miscommunications, etc.), we stay way below 1% (the exact number is hard to measure when the amount of waste is so low).
155151
As mentioned above, we tend to pause work on a ticket when we are not sure, choosing a small delay on a particular task over potentially having to discard work due to a bad assumption.
156152
Our clients prefer it this way.
157-
9. Use modern IDEs.
158-
PyCharm, Cursor, Windsurf or Visual Studio with a LLM plugin.
159-
Some people are trying to use Vim with plugins for LLMs, but nowadays it's mostly Cursor/Windsurf/PyCharm.
160-
10. Use LLMs (ChatGPT, GitHub Copilot, Claude etc) to speed up the work on the code, though watch every single byte of the diff like it's been written by a party you shouldn't trust.
153+
8. Use LLMs
161154

162155
# Code Review
163156

164-
At Reef we do code review for almost all pull requests.
165-
We treat this like friendly help, with the reviewer offering suggestions on how to improve the given code.
166-
It is intuitive to most people, but not for everyone.
167-
[This document](engineering/code-review.md) explains in detail how we approach reviews and why.
157+
At Reef, code reviews are optional.
158+
In the age of LLMs, it makes little sense to ask another engineer to feed your code to an LLM and relay the suggestions back to you—you can do that yourself.
159+
Human input is much more valuable one level above the code.
160+
If you are unsure about the architecture, design, user stories, assumptions, or scope, ask someone for a sanity check.
161+
The goal is not to approve every line of code, but to catch expensive mistakes early and get a second perspective where human context and judgment actually matter.
162+
163+
1. The developer who needs their code reviewed posts to the `#review` channel on Slack with a `@here`, `@engineering-team-1` or `@engineering-team-2` mark, the TiMaS tracker smart link to the task, and a link to the PR.
164+
2. When you start a review add a reaction to the author’s message:
165+
👀 (`:eyes:`) – “I am reviewing your code now”.
166+
3. After you finished reviewing someone’s code, react to the review request with ✅ (`:white_check_mark:`) – “I have reviewed your code” (warning:
167+
it only means “review is finished” and NOT “code is ready to be merged”).
168168

169169
# Time-tracking
170170

docs/engineering/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
[Code & general development conventions](code-general-development-conventions.md)
22

3-
[Code Review](code-review.md)
4-
53
[Maturity Levels](maturity-levels.md)
64

75
[Release Process](release-process.md)

docs/engineering/code-review.md

Lines changed: 0 additions & 123 deletions
This file was deleted.

docs/workstation-setup/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
[Developer Environment Setup](developer-environment-setup.md)
22

3-
[Storage Encryption](storage-encryption.md)
4-
53
[VeraCrypt installation](veracrypt-installation.md)
64

75
[Virtual machine configuration](virtual-machine-configuration.md)

docs/workstation-setup/developer-environment-setup.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
For Secure Work Environment we recommend a Virtual Machine or dual-boot.
44
This ensures a clear segregation between your professional and personal digital spaces, preventing accidental cross-access or data leaks involving customer data.
5-
In any case, [Full Disk Encryption](storage-encryption.md) is required.
5+
In any case, Full Disk Encryption is required.
66

77
Our requirement for FDE arises from its ability to securely store Docker images, potentially containing client code, which often can land outside your home directory.
88
Solely encrypting the home directory would leave these sensitive data vulnerable.

docs/workstation-setup/storage-encryption.md

Lines changed: 0 additions & 34 deletions
This file was deleted.

0 commit comments

Comments
 (0)