Senior Application Developer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
Job description
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.
- 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.
- 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.
- 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.
- 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.
Your secondary focus:
- Annotation data platform evolution.
- Extend a shipped canonical schema (Avro) and adapter layer that normalize ML annotation data from multiple commercial labeling platforms into a shared representation.
- Add adapters for new platforms, evolve the schema under a versioned spec and ADR process, and keep validation utilities and Python typing overlays in sync with the schema., * Design and implement the predicate/invariant framework: contract classes, the AST-based verifier, and CI integration.
- Turn abstract contract concepts into APIs and diagnostics that working engineers adopt willingly - making the ideas graspable is part of the job, not an afterthought.
- Extend and evolve schemas, adapters, and validation layers for the annotation platform under its established change process.
- Investigate verification and validation failures and determine whether the fix belongs in the contract, the code, or the source system, documenting your reasoning.
- Document the framework thoroughly and transfer knowledge continuously - by the end of the engagement, the team must be able to own and extend it without you.
- Work closely with a senior architect on initial designs, then independently own implementation in your areas.
Requirements
We’re flexible on background, but you should be able to demonstrate:
- Comfort with formal and abstract structures - logic, type systems, program analysis, algebraic thinking - demonstrated by working software you built from them. Vision and execution together; neither alone is enough.
- 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.
Benefits & conditions
3.63.6 out of 5 stars Remote $55 - $60 an hour - Contract
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
Is Software Engineering Over-Saturated?
Why Upskilling And Reskilling is Important For Developers
What is Agentic Programming and Why Should Developers Care?
Dev Digest 120 - Apple and peers