<aside>
✅
Senja is a fast-moving bootstrapped business. If you don’t like getting your hands dirty and shipping in the first few days, please don’t apply. Our team member onboarding process requires sync work.
</aside>
Details
- $9000/month
- Profit share from month 4 onwards
- In person in Cape Town
- Or remote applications from Europe, UK, east coast US, Canada
- Applications close 04 March 2026
Why work at Senja ✨
You’ll be taking our product from 3,000 → 10,000 paying customers, and directly shaping how a profitable SaaS scales:
- An intentionally small (3 person), high-leverage team
- Fully remote, work from anywhere
- No recurring meetings [1-2 one-off calls a week as necessary]
- Regular-shipping culture: weekly sprints, ship fast, at quality
- PLG: we're product led, product is our business, we're crafting the best
- Our business is profitable, bootstrapped, no investors, no politics, and the best ideas win
- Radical transparency, see impact of work on metrics and revenue
- Option to join a monthly engineering mastermind and connect and learn from peers
What we need
- Full time contract engineer to fix bugs and launch new product features at Senja
- First-hand experience with our tech stack, see below
- Or, ability to ramp up fast in Svelte
- Use AI to assist by engaging agent directly on Linear as well as locally
- Minimum availability is 40 hours / week
- Interested, apply below
A note about documentation at Senja
<aside>
✅
Everyone at Senja documents their work on Linear as they go. This allows us to reduce interruptions and check ins from others, and maintain a 0-recurring meeting culture. We understand this is not for everyone and want to be 100% transparent about it.
We believe that strong autonomy comes from informing others of what you’re doing and why, rather than letting them come to you.
</aside>
- Proactive communicator
- We need someone who naturally documents their Linear issues as they go, closes loops without being chased, and flags blockers fast.
- This matters as much as code quality
- Example documentation:
- Reproduced the bug locally
- Found the issue: image resizer not handling SVGs correctly
- Tried a CSS fix first before touching the component
- PR ready to review and merge here: x
Our tech stack
This is what we use to build Senja