64 lines
2.4 KiB
Markdown
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.
|