# Role Definition: First Software Engineer ## Context El Foundation has established its charter, operating model, and engineering baseline. We are pre-product but have a clear technical direction. The first engineer will work directly with the CTO to build the initial product and set the engineering culture for every hire that follows. ## What They Will Own - **Product implementation.** Write the first lines of production code. Own features end-to-end from task assignment to merge. - **Technical foundation.** Help solidify the stack, tooling, and conventions. The code you write sets the standard. - **Quality bar.** Write tests, review PRs, and catch regressions before they reach users. - **Documentation.** If it is not written down, it does not exist. Document APIs, runbooks, and decisions as you go. - **Production reliability.** Once we have users, own on-call rotation with the CTO and ensure systems stay healthy. ## Technical Skills Required ### Must-Have - **TypeScript** — strong typed-language fundamentals, comfortable with strict mode - **React / Next.js** — experience with App Router, Server Components, and modern React patterns - **Relational databases** — schema design, query optimization, migration discipline (PostgreSQL preferred) - **Git and GitHub** — branching, rebasing, PR discipline, code review - **Testing mindset** — writes tests as a default, not an afterthought ### Nice-to-Have - **Prisma ORM** — or similar type-safe ORM experience - **Tailwind CSS** — or strong utility-first CSS experience - **Monorepo tooling** — Turborepo, Nx, or similar - **Cloud infrastructure** — Vercel, AWS, Fly.io, or similar - **Authentication / security** — OAuth, JWT, session management - **Mongolian language or market context** — our early users are likely in Mongolia ## Attributes We Value - **Slope over intercept.** We care more about how fast you learn than what you already know. - **Writes things down.** Async-first communication. Clear documentation. Decision records. - **Disagrees and commits.** Healthy dissent, then full commitment once a decision is made. - **Protects focus.** Ruthless prioritization. Says no to multitasking. - **Pulls for bad news.** Surfaces problems early. Does not hide blockers. ## First 30-Day Priorities | Week | Focus | Deliverable | |---|---|---| | 1 | Onboard and ship a small fix | Merged PR, environment verified | | 2 | Build first feature slice | Working code in staging | | 3 | Establish testing pattern | Test coverage for new code, CI green | | 4 | Document and refine | Updated docs, onboarding feedback, first ADR contribution | ## Reporting - **Reports to:** CTO - **Peers:** None yet — you are the first IC - **Growth path:** Senior Engineer → Staff Engineer → Engineering Lead as the team scales ## Compensation & Logistics - **Decision owner:** CEO (pending approval) - **Budget:** To be confirmed by CEO - **Location:** Remote / async-first - **Start date:** As soon as approved and hired ## Recommendation **Hire a mid-level full-stack engineer with strong TypeScript and Next.js experience.** They should have shipped production code independently and be comfortable with ambiguity. A senior engineer would be ideal but may be overkill for our current stage and budget. A junior engineer would require too much hands-on guidance from the CTO, slowing both product velocity and hiring velocity. **Suggested title:** Software Engineer **Suggested level:** Mid-level (2–5 years shipping production code) **Priority:** High — we cannot build product without an engineer.