About Garnish
Garnish builds the complete growth and ordering stack for independent restaurants. On the ordering side: customer website, staff admin, in-store POS, and mobile app, backed by Postgres, Stripe Connect for payments, a pos integration for menus and tickets, and a courier API for delivery.
The role:
We're looking for a Mid-Level Full Stack Software Engineer who is comfortable working across both the frontend and backend.
You'll work on real product features from end to end: building UI, implementing APIs, working with Postgres, integrating third-party services, fixing production issues, and improving existing parts of the platform.
You don't need to be an expert in every part of the stack. We're looking for someone who is strong enough across the stack to get things done, can learn quickly when they encounter something unfamiliar, and knows when to ask for help or when a problem needs deeper investigation.
You'll work closely with the senior engineers and product team, taking ownership of individual features and tasks while contributing to the broader platform.
What you'll work on:
Your work will span both frontend and backend, depending on what the product needs.
- Build and maintain features across our customer-facing applications and internal admin tools
- Build backend APIs and services using TypeScript and Node.js
- Build and improve frontend experiences using Next.js and React
- Design and work with Postgres tables, queries, indexes, and migrations
- Integrate with services such as Stripe, Toast, courier platforms, and other third-party APIs
- Work with webhooks, background jobs, and asynchronous processes
- Debug issues across the frontend, backend, database, and external integrations
- Write tests for the code you ship and fix regressions when they occur
- Review pull requests and give thoughtful feedback to other engineers
- Improve existing code when you encounter problems rather than simply working around them
- Help investigate and resolve production issues
- Work with the team to break larger features into manageable pieces and ship them incrementally
How we expect you to work
We're a small team, so you'll have meaningful ownership over the work you take on.
We don't expect you to know everything. We do expect you to be able to figure things out.
If you're primarily a backend engineer who can comfortably work in React, that's fine. If you're primarily frontend-focused but can build APIs and work with databases, that's fine too. The important thing is that you're willing and able to move between the layers of the application when the task requires it.
You'll be expected to
- Take a feature or task and drive it through implementation, testing, and release
- Understand how your changes affect the rest of the system
- Ask good questions when requirements or technical details are unclear
- Investigate problems rather than immediately escalating them
- Write code that is straightforward for the rest of the team to maintain
- Think about failure cases, not just the happy path
- Be comfortable working in an existing codebase
- Learn unfamiliar technologies and systems when the job requires it
Must have:
- Based in Egypt
- Fluent English
- 2 years of professional software engineering experience, or equivalent experience demonstrating the same level of ownership
- Strong TypeScript experience
- Production experience with Node.js and backend APIs
- Experience building frontend applications with React and/or Next.js
- Solid understanding of Postgres or another relational database
- Comfortable working with REST APIs and third-party integrations
- Familiarity with Git and modern development workflows
Nice to have:
- Startup experience highly encouraged.
- Graduates of AUC, GUC, Cairo University, and Ain Shams University are highly encouraged to apply.
- Previous POS or F&B (food & beverage) industry experience highly encouraged
- Experience with Stripe or another payment platform
- Experience with webhooks and background jobs
- Experience with multi-tenant SaaS applications
- Experience with Docker and CI/CD
- Experience working with cloud-managed infrastructure
Benefits
We're a startup in our revenue and growth phase, which means real ownership from day one; you'll shape decisions that most engineers don't get to touch until much later in their career. You'll learn fast, working directly with founders and seeing the direct impact of your work on the business. We offer a competitive salary based on experience.