Founding Software Developer
Day-to-day at Baker is 50% Spanish, 50% English.
About Baker
Hi, it makes us really happy that you are reading this. It means there is at least some interest in working with us, or maybe it is just curiosity. We are David and Jacin, founders of Baker, the project of our lives. We are building an agentic platform to automate 100% of performance marketing. Imagine Instinct or Muse, but for companies and focused on performance marketing. Baker is a paid media agent. It runs a company's whole paid channel, from campaign management and creatives to landing pages, does the work all the way through, and the company's team, or its agency, approves it. In the first week one of our engineers implements it so it understands the company. Every client uses Baker, and some also hire our team to run it for them. The vision: thanks to AI agents, most marketing will be automated. The mission: let any marketing team run its whole paid channel on Baker, with Baker doing the work. And make it proactive. We implement an account and everything happens on its own. We chose performance marketing because it runs on numbers and repetitive operational work, exactly what agents solve best. The bet is that software will keep getting easier to build and worth less, and what will last is the data: which ads, landing pages and campaigns actually turned into customers, across thousands of accounts. The more teams run on Baker now, the harder we are to catch. The window of opportunity is open now and nobody knows how long it will last. That is why we decided to jump in with everything. We want most of the world's paid media to run on Baker. Or at least to be the system marketing teams work best with. It sounds delusional, we know it will be hard, but in the worst case we will have tried, and we are having fun on the way.
The role
You will be the first engineer at Baker after the founders, who are engineers too. Until now the two of us have built the product. It works: our team uses it every day to run real client accounts, and other clients use it on their own. But it is nowhere near what it should be. What we build is not an app with a chat on top. It is the harness around an agent that lets it do a performance marketer's job: research, build landing pages and forms, make creatives, launch campaigns, wire tracking into the client's CRM, and report. All of it autonomously. The goal is for the agent to get it right the first time, with nobody correcting it. Every time it fails, we don't patch it for that client: we fix it at the root so it never happens again for any of them. We call it building a wall, and it is what makes the product get better on its own over time. Our vision is not a user logging into the platform and asking for things. We think that in the future it will be a living, proactive agent that does the work, and we humans only review it. That is what we are building. Your users will sit right next to you. Our performance marketers use Baker all day and will bring you problems that are well described, with the name of the client who has them. And since anyone at Baker can propose changes to the product, you will review a lot of code you didn't write. You will have total freedom to change whatever you think is wrong. As long as you convince us.
Our technical vision
This is the most important part of this post. Our technical vision is very specific, and if you don't share it we are going to clash. Better to know now. We have changed our minds on some of these ideas more than once, and we will again. You can change our minds, but you will need solid arguments. We have one agent. The performance marketing work is done by a single agent, not a system of agents handing work to each other. Every handoff loses context and multiplies errors, adds latency and cost, and makes it nearly impossible to debug where something broke. Splitting marketing into a Meta agent, a Google agent, a copy agent and a CRO agent is a lot of architecture with no gain in quality. The value is in the harness, not the agent. Whether Claude Code, Codex or OpenCode runs underneath matters less than it seems. What makes the difference is what we build around it: the CLI, skills, hooks, tests and validators. Today the agent spins up in a sandbox, but that doesn't have to be the final form. If we want it to be proactive, the sandbox may become something that only spins up when needed. CLI over MCP. Almost everything the agent can do is a command in our own CLI, baker, which it runs from Bash. It returns structured JSON, and when it fails, the error comes with the fix so the agent can recover on its own. Just-in-time context. The context window is the scarcest resource we have. Almost everything lives outside it: skills that load only when the task needs them, and each client's memory, which the agent looks up when it needs it. Today that memory is Markdown with semantic search, and we are not fully convinced by it. We are open to other options. Marketing is going to look like programming. That is why each client lives in their own Git repository: landing pages, forms, creatives and reports. The agent works on them as if it were programming, because that is where models are best trained. Every session is a branch, and nothing reaches production, or an ad account, until it is published. And we do what good developer experience teams do: make the only way to do things the right way. Where they add linters and CI, we add verifiers and scripts that run in hooks. The superpowers programmers have today are coming to performance marketers, and we want to be the platform that brings them. Today the stack is almost all TypeScript: Next.js for the dashboard, Convex as backend and database, Astro for each client's landing pages, E2B sandboxes where the agent runs, Cloudflare Workers to serve what gets published, and Tinybird for analytics.
Why we ask that you coded by hand
At Baker we don't write code by hand. We ask for this as a filter. In the past, people who aren't engineers have applied as engineers because they know how to use Claude Code or Codex. The truth is that, for us, engineering isn't generating the solution. Engineering is understanding the fundamentals of a problem extremely well, and only then solving it. And problems are much easier to understand when you have technical knowledge. When the fundamentals are clear to you. Knowing how to code with AI is worth 0. Programming with agents is an accordion: you generate entropy with AI, then compact it with AI. You need to be comfortable not understanding every line, working at a high level and letting the agent guide you through the details. What you do need to understand deeply is the problem. But careful: if today you write most of your code by hand and don't trust agents, this isn't for you either.
You're a fit if
You have been programming for years, a good part of them without AI. You have shipped code to production and lived with the consequences. Today you build with coding agents every day, whether Claude Code, Codex or similar, and you have your own opinions on how to get the most out of them. Ideally, you have built something with LLMs that goes beyond calling an API: agents, tools, context management or evals. You are comfortable in TypeScript. You start from the problem, not the technology. Before building anything, you can say what problem it solves and for whom. You care about cost. A token is money too, and something working doesn't make it profitable. You read the technical vision nodding along, or itching to argue a couple of details, but not the substance. You speak Spanish and English fluently. Code, pull requests and Linear are in English. You are optimistic about AI and believe the future is going to be amazing and exciting. You are hungry and want to grow as much as we do.
You're not a fit if
You think the answer is a team of specialized agents coordinating with each other. You want to build your own agent framework before solving a client's problem. You need a finished spec before you can start working. It bothers you when someone from marketing opens a pull request on your code.
How we work
We are async by default. We communicate on Slack. No recurring meetings, no fixed schedule, no hour tracking. We measure the value you deliver. We are a very small team, horizontal, with no middle management. This is a list of things that defines how we think and work: - Never do anything anyone tells you to do if you don't understand why. - If you disagree, argue it. Either you convince us or we convince you. - Don't pretend to know things you don't. Let's all put our cards on the table. This isn't a battle of egos, it's all of us together against the market. - If you see something broken, fix it. You don't need permission. If you see something broken and it isn't part of your job, fix it anyway. - You can break things as long as you learn why you broke them. - We expect you to give feedback. We will mess up many times. You won't hurt our ego, quite the opposite, you'll push us to get better. - You will receive feedback. It doesn't mean you're doing badly, not at all. It means our main goal is to grow together and feedback is the best mechanism for it. - The starting point will usually be problems, not solutions. How to solve them is up to you. - Let's never lie to each other. A single lie can break trust and make it impossible to keep working together. - Cost matters a lot and it's often the forgotten variable. Something being good doesn't make it profitable. - Transparency creates efficiency. Trying to hide things takes effort. - It's fine to bang your head against the wall 2 or 3 times. But on the 4th, ask for help. - There will be moments when you feel frustrated. Tell us. We'll get through them together. - Manage your time however you want. We are not going to monitor anything. What we expect isn't hours, it's value delivered. - Have fun. Work is a high % of our life, we'd better enjoy it.
Compensation and benefits
For this role, the salary is between €50,000 and €60,000 a year. The fixed band is a starting point. We grow people as fast as the company grows. After 6 months, once we see the fit is very good on both sides, we sit down to discuss phantom shares. 23 working days of vacation, plus December 24th and December 31st. We prefer Barcelona or Valencia, but it can also be fully remote.
The fit test
You know why handing an agent an MCP with forty tools usually works worse than handing it a CLI, and you'd know how to design the command so the agent corrects itself when it fails.
About us
We are a very small, brand new company. The window for AI-native businesses is open now and we want to be aggressive while it lasts. It is going to be hard. We think this is the opportunity of our lifetime, and we want it to be yours too.
What's the process?
The process is the following: 1. A one-hour interview with Jacin, where we see if there is a cultural fit. It's a relaxed conversation, with questions about your interests, what you have done and whether there is a match. 2. A one-hour technical session with David and Jacin. We open Baker's codebase and solve a real problem together, with agents, the way you would on any given day. We care more about how you think and how you review than about what you write. 3. That's it. If you are a fit, we send you an offer letter.