> Markdown version of [/jobs/ext/4315743-principal-software-engineer](https://www.wearedevelopers.com/jobs/ext/4315743-principal-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Principal Software Engineer - **Company:** Northern Lights, Inc. - **Location:** Somerville, MA, United States - **Experience:** Experienced - **Salary:** $175,000.0 - $215,000.0 - **Contract:** Permanent contract - **Skills:** PHP (Programming Language), Artificial Intelligence, Airflow, Continuous Integration, Perl (Programming Language), Information Retrieval, Job Scheduling, Python (Programming Language), Natural Language Processing, TypeScript, Web Crawlers, Rust (Programming Language), ReactJS, Large Language Models, AI Coding Agents, Backend, Agentic-AI, Kubernetes, Terraform, Data Pipelines - **Published:** October 14, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=8ca2a67f08ce6f1a ## About the Role * A track record of delivering production software. Things you built that real users depend on, and that you kept running. * Comfort in code you didn't write. Much of this estate is older than the people working on it. You can read an unfamiliar system, form an accurate model of it, and change it safely. * Strong data pipeline instincts. You build pipelines that are reliable and repeatable, and you can prove a new one matches the old one before you cut over. * Operational comfort. Containers, CI/CD, and enough production instinct to know whether your change is actually live. * An AI-first way of working. You use AI coding assistants, LLMs, and agents every day, and you have ideas about where they can make a pipeline smarter. * Collaborative energy. Small team, big ambitions. You share ideas freely, write down what you learn, and make the people around you better. * Judgment about scope. You know when to fix the root cause and when to ship the narrow thing and record the debt. Languages: No Language Requirement What runs here today is mostly Python, Rust, PHP, and React, plus some long-lived Perl. New backend work is mostly Python and Rust; the portals are PHP and React. We don't require any of these on your résumé. We hire for judgment, for the ability to pick up whatever the problem happens to be written in, and for finishing. If you have been strong in two or three languages, you'll be fine in ours. One honest note: you will read Perl in this job. You don't have to love it. You do have to be willing. Helps, But Not Required * Building with LLMs, embeddings, or AI agents in production * Web crawling and scraping at scale (Scrapy or equivalent) * Search and information retrieval: indexing, relevance, faceting * Durable workflow engines such as Temporal or Airflow * Rust * Kubernetes, Helm, Terraform * PHP * Working with licensed third-party data feeds ## Description * Build and maintain ingestion for new vendor feeds and new customers, from the vendor's delivery quirks through to documents appearing in a customer's search results. * Shape how vendor content is transformed into a consistent, reliable format customers can trust. * Migrate legacy pipelines onto the current stack, including an ongoing Perl-to-Python effort and a newer move toward containerized, contract-bound services. * Help replace convention-driven job scheduling with explicit, durable workflows. * Track down production content problems and fix them at the root. * Bring AI into the pipeline itself, using ML, NLP, LLMs, and AI tooling to classify, enrich, and validate content, and to speed up how we build and migrate. * Work across the full stack, from back-end services to the customer portals (PHP and React/TypeScript), following problems and ideas all the way from the vendor to what the customer sees. Who We Hire: AI-First Builders Who Finish What They Start You can take a task that isn't fully specified, go find the missing context yourself, and drive it until it is running in production, verified against the behavior it replaced, and the thing it replaced is switched off. Not "my part is done." Done. Transforming a mature system takes creativity and energy as much as rigor. We want someone who brings fresh ideas, shares them freely, and makes the people around them better.