Senior AI Engineer
Role details
Job location
Tech stack
Job description
- Design, build, and ship AI-powered automation tools and internal applications that transform manual business processes into AI-first workflows
- Architect and maintain LLM-based systems, including prompt pipelines, agentic workflows, tool-calling integrations, and retrieval-augmented generation (RAG) setups
- Build and maintain data pipelines that connect source systems (Snowflake, internal APIs, SaaS tools) to AI workflows, ensuring data quality and reliability
- Partner with Process Analysts to understand how business functions work today, translate requirements into engineering specifications, and iterate based on real user feedback
- Own production reliability for the systems you build - monitoring, alerting, and iterating on AI outputs to maintain quality over time
- Evaluate and integrate emerging AI tooling (models, frameworks, APIs) to ensure Metropolis is always leveraging the best available capabilities
- Contribute to internal standards for AI development: prompt management, evaluation frameworks, model selection, and system architecture, * Languages + Frameworks: TypeScript, React, Scala (principally), Java (limited)
- Datastores: MySQL, PostgreSQL, Snowflake
- Cloud: AWS
- Version control: Git & GitHub
- AI Tooling: Copilot on GitHub and Claude Code
- Observability: Datadog
4 Days in Office: Metropolis values in-person collaboration to drive innovation, strengthen culture, and enhance the Member experience. Our corporate team members hold to our office-first model, which requires employees to be on-site at least four days a week, fostering organic interactions that spark creativity and connection, When you join Metropolis, you'll join a team of world-class product leaders and engineers, building an ecosystem of technologies at the intersection of parking, mobility, and real estate. Our goal is to build an inclusive culture where everyone has a voice and the best idea wins. You will play a key role in building and maintaining this culture as our organization grows. The anticipated base salary for this position is $170,000.00 USD to $200,000.00 USD annually. The actual base salary offered is determined by a number of variables, including, as appropriate, the applicant's qualifications for the position, years of relevant experience, distinctive skills, level of education attained, certifications or other professional licenses held, and the location of residence and/or place of employment. Base salary is one component of Metropolis' total compensation package, which may also include access to or eligibility for healthcare benefits, a 401(k) plan, short-term and long-term disability coverage, basic life insurance, a lucrative stock option plan, bonus plans, and more. #LI-CM1 #LI-Onsite
Metropolis may utilize an automated employment decision tool (AEDT) to assess or evaluate your candidacy for employment or promotion. AEDTs are used to assist in assessing a candidate's application relative to the required job qualifications and responsibilities listed in the job posting.
As part of this process, Metropolis retains data relevant to your candidacy, including personal information, for a period that is reasonably necessary for the use of the tool. If you are hired for the position, your data may become part of your employee records.
Requirements
- 6+ years of software engineering experience, with 2+ years of hands-on experience designing, building, and deploying LLM-based or AI-powered applications in production
- Strong Python skills - you write clean, maintainable code and are comfortable building APIs, data pipelines, and backend services
- Practical experience with LLM APIs (OpenAI, Anthropic, or similar), prompt engineering, and agentic patterns (function calling, multi-step reasoning, tool use)
- Familiarity with data engineering fundamentals: SQL, data transformation, working with cloud data warehouses (Snowflake preferred)
- Experience with workflow orchestration tools (e.g., Airflow, Prefect, or similar) and cloud infrastructure (AWS preferred)
- A strong instinct for product quality - you care about whether the tools you build are actually useful, not just technically functional
- Ability to work autonomously in a fast-moving environment, manage competing priorities, and ship iteratively rather than waiting for perfection, * Experience with vector databases, embeddings, or semantic search is a plus