West Coast Consulting logo
West Coast ConsultingPosted 1 month ago

Software Engineer - Senior

$114,400–$124,800 year

HybridWestbrook, Maine, United States

ContractSenior Level

Job Summary

Design and implement a declarative predicate and invariant framework using AST-level analysis to verify Python code against data contracts. Build contract classes, the verifier, and CI integration while shaping the vocabulary of predicates with the architect. Extend the annotation data platform by evolving Avro schemas, adding adapters for new labeling platforms, and maintaining validation utilities. Investigate verification failures to determine whether fixes belong in the contract, code, or source system, documenting your reasoning. Work closely with a senior architect on initial designs, then independently own implementation in your areas.

Required Qualifications

  • Comfort with formal and abstract structures — logic, type systems, program analysis, algebraic thinking — demonstrated by working software you built from them
  • Deep production Python: decorators, descriptors, metaclasses, type hints, and the standard library
  • Strong analytical reasoning: comfort working from ambiguous or underspecified ideas and finding structure
  • Ability to communicate technical ideas clearly in writing (design docs, code reviews, documentation, async messaging)
  • Independence in scoping and delivering work, with the judgment to escalate complex design questions

Desired Qualifications

  • A computer-science degree, or any particular number of years of experience
  • Prior data engineering or ML experience (the role is adjacent to ML, not part of model training)
  • Experience with our exact stack (Avro, Databricks, Spark, dbt, etc. can be learned on the job)
  • Contracts and verification
  • Design-by-contract tooling (icontract, deal, Eiffel, JML, Dafny) or other program-verification exposure
  • Property-based testing (Hypothesis or similar)
  • Code-as-data work
  • Parsing or analyzing source code (Python ast / libcst, tree-sitter, or equivalents); codemods; mypy plugins or typing internals
  • Code generation, templating, or compiler back-ends — especially if you've maintained a code generator in production
  • Rule and constraint systems
  • DSLs, OPA/Rego, rule engines, or knowledge-representation/constraint languages (OWL, RDF, SHACL, Datalog)
  • Translating declarative business rules into executable validation logic
  • Schema and validation tooling
  • Avro, JSON Schema, OpenAPI/Swagger, LinkML, CUE, or similar; Pydantic, Marshmallow, or attrs with validators

Hiring someone like this?

Get your role in front of qualified candidates on Sorce.

Get started

Apply to this job in one click with Sorce

Apply on Sorce