The Role
- We’re looking for a product-minded engineer who can take ownership from problem to production.
- You must understand how to build the right thing, not just how to build the thing right.
- That means understanding our users, challenging assumptions, helping shape solutions, and having the technical ability to make them real.
- You won’t just work through a predefined backlog. We expect you to ask questions like:
What problem are we actually solving?
Is this the simplest useful solution?
What happens when something fails?
Once we understand the problem, we expect engineers to follow it across whatever parts of the system are necessary.
The Kind of Software We Build
- Realtime by design
- Buttons is not a conventional SaaS application, it's highly reactive and realtime. State moves continuously between browsers, backend services, other users, and connected devices.
- WebSockets and realtime communication are fundamental to the product, so responsiveness, synchronization, consistency, and failure recovery matter throughout the stack.
- Cloud-like architecture, running locally
- Buttons is installed and runs on our customers’ own machines.
- Because we don’t control every environment, the job sometimes extends beyond normal frontend/backend development into Windows, Linux and macOS quirks, networking, processes, filesystems, permissions, upgrades, and packaging.
Our Stack
- Frontend: TypeScript, React, Effect
- Backend: TypeScript, tRPC, Effect, Go
- Data & infrastructure: PostgreSQL, Redis, Kub