Back to search
Anthill Linkedin · Posted 25d ago

AI Engineer

Copenhagen

Linkedin
Continue to application Add your email once, then Caio opens the original posting.

Indexed description

Copenhagen, on site. Permanent, full time.

Anthill builds the software pharmaceutical companies use to create, approve and run their digital communication. At some of the world's largest pharma companies, commercial and medical teams rely on our products to produce and distribute regulated content. We're around 70 people, headquartered in Copenhagen, with four products: Activator, Arcane, Amplify and Anthill Cloud. Our products are already delivering GenAI-powered capabilities to Enterprise customers around the world.


We're growing fast, and it's a good time to join. In our Copenhagen office, engineers, designers, product people and strategists all sit in the same room. We're 15+ nationalities, so English is the official and everyday language in the office and in the codebase.


We are hiring an AI Engineer for our AI and Data chapter.


Why the role exists

This isn't a maintenance job. We want someone who makes the AI layer measurably better, and helps deliver powerful features for a sector where being able to validate AI responses and trust our outputs is a standard.


What you will actually work on

The AI and Data chapter owns the AI capability across Anthill Cloud, enabling content discovery and analysis, creation of content pieces like emails and slides, dynamic referencing of sources that have to stand up to regulatory review as well as the guardrails and architecture that deliver this safely at scale.


The stack today:

  • Python and FastAPI
  • AWS Bedrock for inference, Langfuse for observability and prompt management
  • Langchain and LangGraph for the AI architecture
  • Docker and AWS services including ECS and Lambda, with Terraform for infrastructure as code
  • SQL and NoSQL
  • CI/CD with automated unit and integration testing
  • Index and retrieval pipelines feeding Veeva and Aprimo integrations


What the work looks like:

  • Build and improve the AI features: retrieval, generation, referencing, content assist.
  • Own the evaluations. Decide what good looks like for a given feature, build the sets that measure it, and hold the line when a model change looks better in a demo and worse on the numbers.
  • Work on the parts of AI that regulated industries actually care about: provenance, citation accuracy, guardrails, auditability, and being able to explain to a pharma client why the system produced a given output.
  • Write production-grade Python with the testing to match, and keep it running. Monitoring, logging, latency, and quick resolution when something breaks in front of a client.
  • Take an AI feature from a product conversation through to something running in front of clients, rather than handing off at a boundary.
  • Keep the vendor and model choices honest. Cost, latency, hosting region and license terms are part of the engineering decision here, not someone else's problem.


What we are looking for

  • Several years building production systems in Python, and real experience shipping LLM-based features rather than prototyping them.
  • Depth in at least one of: RAG and AI tooling, evaluation methodology, MCP, or data engineering.
  • Writing scalable infrastructure as code. We use Terraform and AWS.
  • You have opinions about model selection and can defend them with something other than benchmarks.
  • Comfortable being part of a small team. In a chapter this size, nobody is left behind the scenes and we work together to carry features from ideation to delivery.
  • You can work with a domain you do not know yet. Nobody arrives understanding pharmaceutical content creation and review, and the people who do well are curious about it rather than treating it as a requirement list.


Useful, not required:

  • Life sciences, medtech, finance or another regulated domain.
  • AWS Bedrock, or equivalent depth in another managed inference platform.
  • Observability and tracing for LLM systems.
  • Some TypeScript or JavaScript. Our AI work reaches into product backends that use it, and it helps not to be blocked when it does.
  • An interest in eventually leading. Not required, and not a condition of the role, but a chapter of 3-4 needs more than one person who could step up.


The levels

We are hiring at junior, mid and senior level and will fit the role to the person we meet. What changes between the levels is scope rather than the kind of work. A junior owns a component and grows into a feature. A mid owns features and lives with their consequences. A senior owns decisions that outlast the mission they were made in. Tell us where you think you sit, and we will tell you if we see it differently.


You do not need to tick every box below. Some of this is learned here.


How we work

Engineers belong to a chapter and work in missions. The chapter is your professional home and where your craft is developed.


Missions are time boxed, cross functional teams pointed at one outcome. When a wave closes, missions rotate and a new set forms. The rotation is the point. Over a couple of years you work with most of the engineering team and across most of the product surface, instead of spending three years in one squad on one corner of the codebase.


Product decisions run through HIVE, our gate model. Nothing gets built because someone senior liked the idea. Initiatives pass through evidence, solution framing and a funding decision before engineering starts, and they are not closed until the outcome is validated rather than when the code ships. As an engineer this means you get told why something is being built, and you are expected to argue if the reasoning is thin.


We work trunk based on Anthill Cloud and review each other's code. We expect the person who built something to be able to explain how it runs, and we hold the line on security and access because our clients audit us and we hold their data.


You would report to the AI and Data chapter lead, who would be your manager, and work alongside one other engineer in the chapter and with backend, frontend and product across missions.


What we offer

  • A permanent Danish employment contract, pension and health insurance.
  • A remuneration package that matches your tasks and qualifications.
  • Five days a week in our Copenhagen office, with two work from home days a month as the default. We are on site because most of what engineers learn from each other happens in conversation at someone's desk.
  • Colleagues who have shipped software into pharma and know how demanding that audience is.
  • Clients whose problems are specific and constrained, which is more interesting than it sounds.
  • Occasional office dogs, who expect to be petted.


Applying

If you can recognise yourself in just some of these requirements or skills and simply want to learn the rest, we would love to receive your application. We offer an open environment with freedom under responsibility, where you have the opportunity to grow professionally.


Apply through LinkedIn, or get in touch directly if you would rather have a conversation before a formal application. We read everything ourselves.


If there is a repository, a component library, a design document or a postmortem that tells us more than a cover letter would, send that too.


We review applications continuously and close the role when we find the right person.


No recruiters, please.

Free. 20 seconds. No password. See every match in this search.

Create a free Caio profile to unlock more results and save your role and location preferences.

Unlock free search
Want help applying to roles like this? Search Caio for free. If repetitive applications get heavy, Managed Job Search adds supervised execution for $99/month.
View Managed Job Search