Senior Software Engineer
Cloudbeds · San Diego, CA · 3 wk ago
RemoteRemoteEngineering$140k–$180k/yrFull-time
We need to output only HTML fragment, no html/body tags, no markdown fences. Use for section headings: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Include sections only if posting has real specific content. We need to extract content.
Let's parse the posting.
First paragraph: "What Makes Cloudbeds Unique At Cloudbeds, we're not just building software, we’re transforming hospitality..." This is about company. Could be "About the role"? Actually "About the role" is typical heading for description of role. But we have "What Makes Cloudbeds Unique" which is about company. Could be considered "About the role"? Might be better to put under "About the role" or maybe "About the company". But only allowed headings list includes About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. So we need to map content to these headings.
We have sections: "How You'll Make an Impact:" which is responsibilities. Then "Our Core AI Squad:" maybe also responsibilities. Then "What You Bring to the Team:" which is requirements/qualifications/skills. Then "What Sets You Up for Success:" which is qualifications/skills. Then "Compensation:" which is Pay. Then "Work Authorization:" maybe metadata, can be short p. Then "What to Expect - Your Journey with Us" maybe about company/culture, could be part of About the role? Could be separate but not in allowed headings; maybe we can omit or fold into About the role. Then "Learn more online at cloudbeds.com" maybe ignore. Then "Company Awards:" maybe not needed. Then "Discover our Benefits:" which is Benefits. Then list of benefits.
We need to remove boilerplate: EEO, equal-opportunity, scam-warning, etc. Also remove application instructions. Also remove duplicated lines.
We need to preserve all substantive info.
Let's extract content.
Company description: "What Makes Cloudbeds Unique At Cloudbeds, we're not just building software, we’re transforming hospitality. Our intelligently designed platform powers properties across 150 countries, processing billions in bookings annually. From independent properties to hotel groups, we help hoteliers transform operations and uplevel their commercial strategy through a unified platform that integrates with hundreds of partners. And we do it with a completely remote team. Imagine working alongside global innovators to build AI-powered solutions that solve hoteliers' biggest challenges. Since our founding in 2012, we've become the World's Best Hotel PMS Solutions Provider and landed on Deloitte's Technology Fast 500 again in 2024, but we're just getting started."
That's substantive.
Responsibilities: Under "How You'll Make an Impact:" and "Our Core AI Squad:" combine.
How You'll Make an Impact bullet points (actually sentences): "As a Senior Software Engineer on the Core AI Squad, you'll design, build, and operate customer-facing AI platform capabilities that power intelligent product experiences across Cloudbeds. This is a product engineering role focused on production AI systems, agentic workflows, evaluation, and observability - not an internal tooling role. You'll work primarily in Python while collaborating across our broader PHP and Java ecosystem, building systems where correctness, reliability, latency, cost, and model quality are core to the job. Your goal is to help Cloudbeds ship AI-powered customer experiences that are useful, trusted, scalable, and measurable."
Our Core AI Squad: "The Core AI Squad owns the customer-facing AI platform infrastructure, agentic workflows, and evaluation and observability foundations that enable AI-powered experiences across Cloudbeds products. The team builds the production capabilities that let us evaluate models and providers for specific use cases, orchestrate tools and workflows, measure quality over time, and integrate AI safely into real customer journeys. You'll join a senior, product-minded group that values ownership, pragmatic architecture, fast learning, and strong collaboration across product, design, data, and engineering."
We can combine into responsibilities.
What You Bring to the Team: list of bullet-like sentences (actually each line starts with a verb). Let's capture them:
- Design, build, and operate customer-facing AI platform services and product features primarily in Python, while integrating with PHP and Java systems as needed
- Build and evolve agentic harnesses, including agent runtimes, workflow orchestration, tool execution, state management, recovery paths, and evaluation hooks
- Integrate agents and LLM-powered workflows into production systems with strong attention to reliability, correctness, latency, scalability, and cost
- Evaluate models and providers for specific product use cases, using clear success criteria and abstractions that keep the platform flexible as the AI ecosystem evolves
- Own evaluation, tracing, observability, and quality feedback loops for AI features so the team can detect regressions, understand behavior, and improve over time
- Write clean, well-tested, well-documented code and advocate for engineering best practices, test automation, maintainability, and operational excellence
- Collaborate with product, design, data, security, and engineering partners to turn ambiguous AI product opportunities into reliable customer-facing features
- Comfort building, debugging, and operating services that interact with PostgreSQL, SQS, gRPC, and REST APIs, including data models, event streams, service contracts, and versioning
- Contribute as a senior individual contributor through technical leadership, architecture input, pair programming, code reviews, and mentorship
That's responsibilities/skills.
What Sets You Up for Success: list of qualifications:
- 5+ years of software engineering experience building, shipping, and operating production systems
- Strong proficiency with Python in production environments, including APIs, services, tests, debugging, and operational ownership
- Hands-on experience building, integrating, or evaluating agentic systems, agent harnesses, tool orchestration, or LLM-powered workflows
- Experience with agentic frameworks and tooling such as LangChain, LangSmith, LangGraph, or similar platforms (PydanticAI, CrewAI, etc)
- Experience with MCP, vector databases, retrieval patterns, RAG architectures, or AI evaluation platforms
- Comfortable working across a polyglot stack, especially contributing to or integrating with PHP and Java services when the product requires it
- Familiarity with prompt and version management, guardrails, tracing, LLM observability, cost and latency optimization, or human-in-the-loop workflows
- Experience with cloud infrastructure and containerization such as Docker, Kubernetes, and AWS, plus experience working with remote-first, globally distributed teams
- Experience with API-driven design, distributed systems, data modeling, and reliable service boundaries
- Strong knowledge of software best practices, design patterns, performance, security-minded development, and testing across unit, integration, and end-to-end levels
- Excellent problem-solving and debugging skills, especially in complex systems with uncertain or probabilistic behavior
- Good product sense, customer empathy, strong communication, teamwork, ownership, and time management
- Business-level English fluency, verbal and written
Compensation: "Depending on your skills and experience, you can expect your annual compensation to be between $140,000 and $180,000 USD. Please note that we maintain high flexibility, and packages above this range will be considered. (The salary is only for US-based candidates)."
Work Authorization: "Please note that applicants must be currently authorized to work in the location where the position is located without requiring visa sponsorship. At this time, Cloudbeds is unable to provide sponsorship for work visas."
What to Expect - Your Journey with Us: description of team size, languages, etc. Could be considered "About the role" or maybe we can put under "About the role". Since we already have company description maybe we can combine.
Benefits: "Discover our Benefits: Remote First, Remote Always PTO in accordance with local labor requirements Fully Paid Parental Leave Home office stipend based on country of residency Professional development courses in Cloudbeds University Access to professional development, including manager training, upskilling, and knowledge transfer"
We need to output sections only if real specific content. So we will have:
for section headings: About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. Include sections only if posting has real specific content. We need to extract content.
Let's parse the posting.
First paragraph: "What Makes Cloudbeds Unique At Cloudbeds, we're not just building software, we’re transforming hospitality..." This is about company. Could be "About the role"? Actually "About the role" is typical heading for description of role. But we have "What Makes Cloudbeds Unique" which is about company. Could be considered "About the role"? Might be better to put under "About the role" or maybe "About the company". But only allowed headings list includes About the role, Responsibilities, Requirements, Qualifications, Skills, Benefits, Pay, Schedule. So we need to map content to these headings.
We have sections: "How You'll Make an Impact:" which is responsibilities. Then "Our Core AI Squad:" maybe also responsibilities. Then "What You Bring to the Team:" which is requirements/qualifications/skills. Then "What Sets You Up for Success:" which is qualifications/skills. Then "Compensation:" which is Pay. Then "Work Authorization:" maybe metadata, can be short p. Then "What to Expect - Your Journey with Us" maybe about company/culture, could be part of About the role? Could be separate but not in allowed headings; maybe we can omit or fold into About the role. Then "Learn more online at cloudbeds.com" maybe ignore. Then "Company Awards:" maybe not needed. Then "Discover our Benefits:" which is Benefits. Then list of benefits.
We need to remove boilerplate: EEO, equal-opportunity, scam-warning, etc. Also remove application instructions. Also remove duplicated lines.
We need to preserve all substantive info.
Let's extract content.
Company description: "What Makes Cloudbeds Unique At Cloudbeds, we're not just building software, we’re transforming hospitality. Our intelligently designed platform powers properties across 150 countries, processing billions in bookings annually. From independent properties to hotel groups, we help hoteliers transform operations and uplevel their commercial strategy through a unified platform that integrates with hundreds of partners. And we do it with a completely remote team. Imagine working alongside global innovators to build AI-powered solutions that solve hoteliers' biggest challenges. Since our founding in 2012, we've become the World's Best Hotel PMS Solutions Provider and landed on Deloitte's Technology Fast 500 again in 2024, but we're just getting started."
That's substantive.
Responsibilities: Under "How You'll Make an Impact:" and "Our Core AI Squad:" combine.
How You'll Make an Impact bullet points (actually sentences): "As a Senior Software Engineer on the Core AI Squad, you'll design, build, and operate customer-facing AI platform capabilities that power intelligent product experiences across Cloudbeds. This is a product engineering role focused on production AI systems, agentic workflows, evaluation, and observability - not an internal tooling role. You'll work primarily in Python while collaborating across our broader PHP and Java ecosystem, building systems where correctness, reliability, latency, cost, and model quality are core to the job. Your goal is to help Cloudbeds ship AI-powered customer experiences that are useful, trusted, scalable, and measurable."
Our Core AI Squad: "The Core AI Squad owns the customer-facing AI platform infrastructure, agentic workflows, and evaluation and observability foundations that enable AI-powered experiences across Cloudbeds products. The team builds the production capabilities that let us evaluate models and providers for specific use cases, orchestrate tools and workflows, measure quality over time, and integrate AI safely into real customer journeys. You'll join a senior, product-minded group that values ownership, pragmatic architecture, fast learning, and strong collaboration across product, design, data, and engineering."
We can combine into responsibilities.
What You Bring to the Team: list of bullet-like sentences (actually each line starts with a verb). Let's capture them:
- Design, build, and operate customer-facing AI platform services and product features primarily in Python, while integrating with PHP and Java systems as needed
- Build and evolve agentic harnesses, including agent runtimes, workflow orchestration, tool execution, state management, recovery paths, and evaluation hooks
- Integrate agents and LLM-powered workflows into production systems with strong attention to reliability, correctness, latency, scalability, and cost
- Evaluate models and providers for specific product use cases, using clear success criteria and abstractions that keep the platform flexible as the AI ecosystem evolves
- Own evaluation, tracing, observability, and quality feedback loops for AI features so the team can detect regressions, understand behavior, and improve over time
- Write clean, well-tested, well-documented code and advocate for engineering best practices, test automation, maintainability, and operational excellence
- Collaborate with product, design, data, security, and engineering partners to turn ambiguous AI product opportunities into reliable customer-facing features
- Comfort building, debugging, and operating services that interact with PostgreSQL, SQS, gRPC, and REST APIs, including data models, event streams, service contracts, and versioning
- Contribute as a senior individual contributor through technical leadership, architecture input, pair programming, code reviews, and mentorship
That's responsibilities/skills.
What Sets You Up for Success: list of qualifications:
- 5+ years of software engineering experience building, shipping, and operating production systems
- Strong proficiency with Python in production environments, including APIs, services, tests, debugging, and operational ownership
- Hands-on experience building, integrating, or evaluating agentic systems, agent harnesses, tool orchestration, or LLM-powered workflows
- Experience with agentic frameworks and tooling such as LangChain, LangSmith, LangGraph, or similar platforms (PydanticAI, CrewAI, etc)
- Experience with MCP, vector databases, retrieval patterns, RAG architectures, or AI evaluation platforms
- Comfortable working across a polyglot stack, especially contributing to or integrating with PHP and Java services when the product requires it
- Familiarity with prompt and version management, guardrails, tracing, LLM observability, cost and latency optimization, or human-in-the-loop workflows
- Experience with cloud infrastructure and containerization such as Docker, Kubernetes, and AWS, plus experience working with remote-first, globally distributed teams
- Experience with API-driven design, distributed systems, data modeling, and reliable service boundaries
- Strong knowledge of software best practices, design patterns, performance, security-minded development, and testing across unit, integration, and end-to-end levels
- Excellent problem-solving and debugging skills, especially in complex systems with uncertain or probabilistic behavior
- Good product sense, customer empathy, strong communication, teamwork, ownership, and time management
- Business-level English fluency, verbal and written
Compensation: "Depending on your skills and experience, you can expect your annual compensation to be between $140,000 and $180,000 USD. Please note that we maintain high flexibility, and packages above this range will be considered. (The salary is only for US-based candidates)."
Work Authorization: "Please note that applicants must be currently authorized to work in the location where the position is located without requiring visa sponsorship. At this time, Cloudbeds is unable to provide sponsorship for work visas."
What to Expect - Your Journey with Us: description of team size, languages, etc. Could be considered "About the role" or maybe we can put under "About the role". Since we already have company description maybe we can combine.
Benefits: "Discover our Benefits: Remote First, Remote Always PTO in accordance with local labor requirements Fully Paid Parental Leave Home office stipend based on country of residency Professional development courses in Cloudbeds University Access to professional development, including manager training, upskilling, and knowledge transfer"
We need to output sections only if real specific content. So we will have:
About the role
maybe include company description and "What to Expect - Your Journey with Us". Could combine.
Responsibilities
include How You'll Make an Impact and Core AI Squad.
Requirements
maybe combine What You Bring to the Team and What Sets You Up for Success? But we have separate headings for Requirements, Qualifications, Skills. We need to decide which to use. The posting has "What You Bring to the Team" (responsibilities/skills) and "What Sets You Up for Success" (qualifications). We could map:
- Requirements: maybe the "What Sets You Up for Success" (experience, proficiency).
- Skills: maybe the "What You Bring to the Team" (specific tasks).
- Qualifications: maybe not needed if we already have Requirements and Skills. But we could also put "Qualifications" for education? Not present.
Better to follow typical pattern: Requirements = mandatory experience; Skills = technical skills; Qualifications = education/certifications. Since we don't have education, we could omit Qualifications.
Thus we will have sections: About the role, Responsibilities, Requirements, Skills, Benefits, Pay.
We need to ensure we don't create empty sections.
Let's craft content.
About the role: combine company description and "What to Expect - Your Journey with Us". Also maybe include "Learn more online at cloudbeds.com"? Not needed.
Company description paragraph: "What Makes Cloudbeds Unique At Cloudbeds, we're not just building software, we’re transforming hospitality. Our intelligently designed platform powers properties across 150 countries, processing billions in bookings annually. From independent properties to hotel groups, we help hoteliers transform operations and uplevel their commercial strategy through a unified platform that integrates with hundreds of partners. And we do it with a completely remote team. Imagine working alongside global innovators to build AI-powered solutions that solve hoteliers' biggest challenges. Since our founding in 2012, we've become the World's Best Hotel PMS Solutions Provider and landed on Deloitte's Technology Fast 500 again in 2024, but we're just getting started."
What to Expect - Your Journey with Us: "Behind Cloudbeds' revolutionary technology is a team of redefining what's possible in hospitality. We're 650+ employees across 40+ countries, bringing together elite engineers, AI architects, world-class designers, and hospitality veterans to solve challenges others haven't dared to tackle. Our diverse team speaks 30+ languages, but we all share one language: a passion for innovation and travel. From pioneering breakthroughs in machine learning to revolutionizing how hotels operate, we're not just watching the future of hospitality unfold – we're coding it, designing it, writing it, and shipping it. If you're ready to work alongside some of the brightest minds in tech who are obsessed with using AI to transform a trillion-dollar industry, this is your chance to be part of something extraordinary."
We can combine into a couple paragraphs.
Responsibilities: combine How You'll Make an Impact and Core AI Squad.
Let's write as paragraph(s) or list? The instruction: Use - for any list of duties/requirements/benefits, and
for prose. So responsibilities are duties, could be list. But we have prose sentences; we could make a
with each duty as - . However the instruction says use
- for any list of duties/requirements/benefits. It doesn't forbid using
for prose duties. But better to use
- for duties. We'll extract each duty as separate
- . Let's list:
- Design, build, and operate customer-facing AI platform capabilities that power intelligent product experiences across Cloudbeds.
- Focus on production AI systems, agentic workflows, evaluation, and observability (not internal tooling).
- Work primarily in Python while collaborating across PHP and Java ecosystem.
- Build systems where correctness, reliability, latency, cost, and model quality are core.
- Help ship AI-powered customer experiences that are useful,
for prose. So responsibilities are duties, could be list. But we have prose sentences; we could make a
- with each duty as
- . However the instruction says use
- for any list of duties/requirements/benefits. It doesn't forbid using
for prose duties. But better to use
- for duties. We'll extract each duty as separate
- . Let's list: - Design, build, and operate customer-facing AI platform capabilities that power intelligent product experiences across Cloudbeds. - Focus on production AI systems, agentic workflows, evaluation, and observability (not internal tooling). - Work primarily in Python while collaborating across PHP and Java ecosystem. - Build systems where correctness, reliability, latency, cost, and model quality are core. - Help ship AI-powered customer experiences that are useful,
- for any list of duties/requirements/benefits. It doesn't forbid using