Senior Backend Developer
Enregistrez cette offre et organisez votre recherche
Créez un compte gratuit pour enregistrer des offres d'emploi, créer des alertes et revenir à cette liste depuis votre tableau de bord.
Soil Capital is on a mission to regenerate over 10 million hectares of land by 2030, addressing our environmental and food security challenges through regenerative and low-carbon agriculture. As a leading expert in this field, we have developed the first payment for ecosystem services program for farmers in Europe.
Through our certified programme and our platform, Soil Capital leads the food and ag sector transformation by engaging with blue chip organisations who seek to deliver on their environmental commitments and build supply chain resilience. These business purchase regenerative units, acting as an incentive for farmers to measure and earning improve their agricultural practices.
Our technology supports farmers by allowing them to efficiently and accurately measure farming practices, as well as the GHG balance of their farm which we then audit and certify to generate certificates. This helps farmers understand the levers to accelerate their adoption of regenerative practices.
In the past ten years, Soil Capital has established as a thought leader and a driver of change at scale in France, the U.K. and Belgium. Pursuing its ambitious growth trajectory, it is now expanding geographical and product scopes.
Interesting to learn more about our history? You can watch the video of Chuck & Nico, our co-founders, here.
About The Role
The Soil Capital developer team is currently facing two interesting challenges: future-proofing our current platform and transforming it into a strong data-driven solution, backed by AI capabilities.
Our existing platform was built with focus on providing immediate business value, but the existing architecture is showing its age: two codebases, thin separation of concerns, and business rules spread across both stacks.
We are in the process of migrating to a cleaner foundation on Node.js, applying Clean Architecture, Domain-Driven Design, bounded contexts, and event-driven patterns to ensure a more testable and trustworthy core for our business-critical computations, and to support the next wave of features, integrations and data work we have in front of us. We are focusing on on refactoring core elements in parallel with shipping select features and maintaining the existing codebase in line with business needs. Most of your time will be spent on the new foundation; the existing codebase is still actively maintained, and being effective there is also part of the role.
Going forward, we want to leverage the primary data collected from farmers to generate the best-in-class insights to support the agricultural transition. The development team will be working closely with our data team to productise the science and models they have developed around agricultural transition.
We are looking for a Senior Developer who can be a credible technical voice on this trajectory: someone who has experience with these patterns, knows when to apply them and - just as importantly - when not to, and who is familiar with applications that visualise and interact with large data sets and complex models.
What you'll do
Build and consolidate the new architectural foundation
- Design and implement bounded contexts, domain layers and use cases on the Node codebase, in line with the Clean Architecture and DDD direction the team is taking.
- Migrate critical business rules from our legacy PHP codebase to Node, with a strong focus on testability and correctness. These are the calculations our certifications and payments depend on.
- Contribute to the normalized client facing API, data model, and the event-driven mechanisms that will underpin future internal and external integrations.
Support the development of data driven platform
- Work with the Data and development team to develop state-of-the art data visualisation & simulation tools.
- Productise, maintain and evolve underlying data and AI models to support these tools.
Help consolidate our engineering practices
- Reinforce the architectural and engineering practices we are putting in place (separation of concerns, dependency inversion, testing strategy, domain modeling) through code, code review and design discussions.
- Beyond theoretical knowledge, bring concrete expertise in using these patterns. Pragmatism matters: knowing when something is genuinely worth abstracting and when it's premature.
- Contribute to a technical culture where the bar rises through example and communication, not through gatekeeping.
- AI-assisted coding is part of how we work, and team members are expected to leverage it. As with architecture patterns, what matters is judgment: knowing when it accelerates the work and when it doesn't, and owning what you ship regardless of how it was written.
Keep the lights on, pragmatically
- Maintain and iterate on existing functionality in both the