Files
swe-hiring/README.md
2026-07-06 06:00:10 +06:00

64 lines
2.4 KiB
Markdown

# Omukk — Software Engineer Work Sample
Welcome! This is a small, time-boxed work sample made of **four independent
parts**. It is not a puzzle hunt and there are no algorithm brainteasers —
each part looks like a slice of ordinary engineering work.
## Ground rules
- **Time budget: about 1-1.5 hour total.** It is fine to leave things
imperfect. If you run out of time, write down what you would do next in
`NOTES.md` — that counts as part of your submission.
- **Use your normal tools.** AI assistants (Claude, Copilot, ChatGPT, etc.)
are explicitly allowed, the same way they would be on the job.
- **Work in this repository.** `git init` and commit as you go — small
commits with honest messages. The commit history is part of your
submission.
- **Don't modify the test suites.** Fix code, not tests.
- **`NOTES.md` is yours.** Decisions, observations, anything you would raise
with a teammate at work — write it there. We read it carefully.
- If anything in this repository seems wrong, surprising, or contradictory,
treat it the way you would at work: make a call and document it.
## The parts
Do them in order. Each part has its own README with the actual task.
| Part | Directory | Language | What it is |
|------|-----------|----------|------------|
| 1 | `part1-pricing/` | Python | Implement a billing rule against an existing test suite |
| 2 | `part2-logstats/` | Python | Debug a small CLI tool until its tests pass |
| 3 | `part3-taskcli/` | Go | Fix three failing tests in a language you may not know |
| 4 | `part4-debrief/` | — | A short written debrief (no code) |
Several test suites **fail out of the box** — that is the starting state, not
a packaging mistake.
## Running things
Python parts (from inside the part's directory):
```bash
pip install -e ".[dev]" # or: uv run --extra dev python -m pytest
python -m pytest
```
Go part (from inside `part3-taskcli/`):
```bash
go test ./...
```
## Submitting
1. Zip this whole folder, including the `.git` directory.
2. Upload the zip to a Google Drive folder and make the folder publicly
viewable ("Anyone with the link can view").
3. Submit the folder link through the form linked in your email.
Before you zip, make sure `NOTES.md`, `part3-taskcli/WRITEUP.md`, and
`part4-debrief/DEBRIEF.md` reflect your final state of mind, not your first.
Good luck — and remember, we are more interested in *how you decide* than in
how much you type.