> Markdown version of [/jobs/ext/1316085-senior-application-developer](https://www.wearedevelopers.com/jobs/ext/1316085-senior-application-developer). 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). --- # Senior Application Developer - **Company:** Compunnel Inc. - **Location:** United States (Remote available) - **Experience:** Expert - **Salary:** $114,400.0 - $124,800.0 - **Contract:** Temporary contract - **Skills:** Application Programming Interfaces (APIs), Artificial Intelligence, Code Review, Software Design Documents, Python (Programming Language), Program Analysis, Verification and Validation (Software), Type Systems, Avro, Virtual Agents, Software Coding - **Published:** July 17, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=4e2791dedebf9eff ## About the Role 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. ## 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. ## Related Videos - [Full Stack Web Apps With Nothing But Python](https://www.wearedevelopers.com/videos/417-full-stack-web-apps-with-nothing-but-python) - [Type Systems You Might Not Know (But Will Love)](https://www.wearedevelopers.com/videos/100067-type-systems-you-might-not-know-but-will-love) - [Are Code Reviews Worth It? Insights from 16 Years of Review Data](https://www.wearedevelopers.com/videos/1135-are-code-reviews-worth-it-insights-from-16-years-of-review-data) - [From event streaming to event sourcing 101](https://www.wearedevelopers.com/videos/91-from-event-streaming-to-event-sourcing-101) - [Get ready to Rustle](https://www.wearedevelopers.com/videos/698-get-ready-to-rustle) - [Build a CI/CD pipeline to automate code reviews and ensure code quality](https://www.wearedevelopers.com/videos/349-build-a-ci-cd-pipeline-to-automate-code-reviews-and-ensure-code-quality) ## Related Articles - [Should senior developers refuse interview coding challenges?](https://www.wearedevelopers.com/magazine/29-should-senior-developers-refuse-interview-coding-challenges) - [Is Software Engineering Over-Saturated?](https://www.wearedevelopers.com/magazine/418-is-software-engineering-over-saturated) - [Why Upskilling And Reskilling is Important For Developers](https://www.wearedevelopers.com/magazine/428-why-upskilling-and-reskilling-is-important-for-developers) - [What is Agentic Programming and Why Should Developers Care?](https://www.wearedevelopers.com/magazine/625-what-is-agentic-programming-and-why-should-developers-care) - [Dev Digest 120 - Apple and peers](https://www.wearedevelopers.com/magazine/455-dev-digest-120-apple-and-peers) - [Dev Digest 121 - AI goes offline](https://www.wearedevelopers.com/magazine/456-dev-digest-121-ai-goes-offline)