You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.md
+21-21Lines changed: 21 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -89,10 +89,7 @@ This excludes data categorized as being of no value or already publicly availabl
89
89
In addition:
90
90
91
91
- 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.
96
93
97
94
### Mobile devices
98
95
@@ -122,13 +119,15 @@ Q: Do I still need to set up service-specific 2FA if I use Google SSO?
122
119
A: No.
123
120
Google SSO (with 2FA enabled on your Google account) already covers this, as long as password-based login is disabled.
124
121
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.
126
126
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.
129
128
130
129
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.
132
131
133
132
## What does "high performance" mean?
134
133
@@ -144,27 +143,28 @@ We employ several techniques to output a lot of value in a unit of time:
144
143
We don't like that part of the project, so we invest in automation to minimize its impact.
145
144
4. Design systems in such a way that they are easy to think about and implement.
146
145
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.
151
147
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.
153
149
This drives many of our actions, including good communication with the client who knows what must be done.
154
150
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).
155
151
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.
156
152
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
161
154
162
155
# Code Review
163
156
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”).
Copy file name to clipboardExpand all lines: docs/workstation-setup/developer-environment-setup.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
For Secure Work Environment we recommend a Virtual Machine or dual-boot.
4
4
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.
6
6
7
7
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.
8
8
Solely encrypting the home directory would leave these sensitive data vulnerable.
0 commit comments