Skip to main content
Tallo logoTallo logo

Find Jobs

Find Jobs Near You – Available Work in Your Location

Skip to job details
Apply for this opportunity

To apply for this job, you'll continue to an external website or email application.

Insight Global

Sr. Software Engineer

Career Insights for Software Developer / Engineer

See where this job fits in the broader career landscape. Knowing your career path helps you see what's possible from here.

Scorecard

Based on Maine data

Review key factors to help you decide if this role fits your goals. How is this calculated?

Were these scores useful?

What they do

A Software Developer or Engineer designs or improves computer software. Oversees the entire software development process. Analyzes customer or user needs, designs programs, writes code or instructs computer programmers, tests design, and documents programs. May assist with upgrades or maintenance. May specialize in the design of computer applications or computer systems.

$128,572 / year median in Maine

-0% projected decline

Explore Career

Job Description

Job Description We're looking for a Software Engineer to build a contract-verification framework for IDEXX's AI/ML platform: a system of declarative predicates and invariants that governs how Python code is allowed to change. This is closer to compiler and program-analysis work than to data engineering — you'll turn formal specifications into tooling that verifies code automatically. Your work will help ensure the reliability of the ML systems that power IDEXX's diagnostic products. AI assistants have made writing code dramatically faster. They have not made writing correct code dramatically faster — that gap is widening, and the tooling that closes it matters more than it used to. That's the work this role exists to do. A common thread runs through everything we build: a formal specification — a schema, a contract, a grammar — is the source of truth, and the tooling we write makes other code conform to that specification automatically.

When the specification is the source of truth, code that doesn't match it fails loudly rather than silently — whether that code was written by a human, generated by an AI assistant, or somewhere in between.
Your primary focus:
  •  Predicate & invariant framework for data contracts — the core of the role.
o Design and implement declarative contract classes that attach to Python methods (design-by-contract decorators — no relation to the ML data annotations below) and trigger verification of the code inside, using AST-level analysis. o Predicates enforce data contracts: they state what a method must guarantee about the data it produces or consumes, and the verifier checks the implementation against those statements. o Invariants constrain evolution: they state properties of the codebase that must survive change, so that modifications — human- or AI-authored — that would break them fail at verification time, not in production. o You'll shape the vocabulary of predicates and invariants together with the architect, build the verifier and its diagnostics, and make violation messages clear enough that they teach the contract they enforce. We are a company committed to creating diverse and inclusive environments where people can bring their full, authentic selves to work every day. We are an equal opportunity/affirmative action employer that believes everyone matters. Qualified candidates will receive consideration for employment regardless of their race, color, ethnicity, religion, sex (including pregnancy), sexual orientation, gender identity and expression, marital status, national origin, ancestry, genetic factors, age, disability, protected veteran status, military or uniformed service member status, or any other status or characteristic protected by applicable laws, regulations, and ordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application or recruiting process, please send a request to HR@insightglobal.com.

To learn more about how we collect, keep, and process your private information, please review
Insight Global's Workforce Privacy Policy:
https://insightglobal.com/workforce-privacy-policy/. Skills and Requirements AI assistants have made writing code dramatically faster. They have not made writing correct code dramatically faster — that gap is widening, and the tooling that closes it matters more than it used to. That's the work this role exists to do. A common thread runs through everything we build: a formal specification — a schema, a contract, a grammar — is the source of truth, and the tooling we write makes other code conform to that specification automatically.

When the specification is the source of truth, code that doesn't match it fails loudly rather than silently — whether that code was written by a human, generated by an AI assistant, or somewhere in between.
Your primary focus:
  •  Predicate & invariant framework for data contracts — the core of the role.
o Design and implement declarative contract classes that attach to Python methods (design-by-contract decorators — no relation to the ML data annotations below) and trigger verification of the code inside, using AST-level analysis. o Predicates enforce data contracts: they state what a method must guarantee about the data it produces or consumes, and the verifier checks the implementation against those statements. o Invariants constrain evolution: they state properties of the codebase that must survive change, so that modifications — human- or AI-authored — that would break them fail at verification time, not in production. o You'll shape the vocabulary of predicates and invariants together with the architect, build the verifier and its diagnostics, and make violation messages clear enough that they teach the contract they enforce.
  •  Contracts and verification o Design-by-contract tooling (icontract, deal, Eiffel, JML, Dafny) or other program-verification exposure. o Property-based testing (Hypothesis or similar).
  •  Code-as-data work o Parsing or analyzing source code (Python ast / libcst, tree-sitter, or equivalents); codemods; mypy plugins or typing internals. o Code generation, templating, or compiler back-ends — especially if you've maintained a code generator in production.
  •  Rule and constraint systems o DSLs, OPA/Rego, rule engines, or knowledge-representation/constraint languages (OWL, RDF, SHACL, Datalog). o Translating declarative business rules into executable validation logic.
  •  Schema and validation tooling o Avro, JSON Schema, OpenAPI/Swagger, LinkML