Jobs and Careers
SI
Software Engineer: Python Simulation Modeling
sistemaFuturaUKRemotecontractVerifiedPosted 5 Mar 2025
About the role
This is a remote position.
At sistemaFutura, we combine simulation modeling and behavioral science to study and improve complex problems. We work on a range of issues, from gender-based violence to climate adaptation and financial inequality. Across each model, the concept is the same: we build empirically calibrated, theoretically guided models of a complex problem, which we then analyze for opportunities for meaningful improvement. We then work hand in hand with a range of stakeholders, especially in international development, to act on those opportunities: deploying them in real life, and rigorously measuring their impact.For this role, a simulation background is ideal (especially agent-based modeling) but not required. For the right person, we'll teach you. You will need a background in software engineering either way, though. sistemaFutura works through freelance Affiliates; this is a contract role.
Responsibilities
- Design and build computational models of human systems, including: models of how people adapt to climate change, how they interact with the healthcare system, and how they respond to policies to encourage saving.
- Develop a software architecture for executing and processing millions of runs of the simulation model runs.
- Research and apply academic and practitioner literature about these systems.
- Collaborate with experts to gain their feedback and advice on the model.
- Analyze the models for opportunities for behavioral science interventions.
- Develop and run unit and performance tests to ensure scalability and reliability.
- Review and debug code.
- Develop documentation, diagrams, charts, code comments, and clean code to explain and show solutions.
Requirements
We strongly believe that credentials are useful but less important than what a person can actually do. In our job application, we'll describe how to build a simple model, then ask you to build one (without the help of AI tools -- sorry).That said, it can be useful to provide some benchmarks for candidates, so they'll know if they are likely to succeed. It would be helpful if you have:
- A degree in computer science or related disciplines (physics, operations research, and some economics cover this), or in social science program (e.g., political science) with a strong computational element.
- Significant experience and training in structured programming (i.e. OOP): 3-7 years.
- At least two years of practical experience in Python, since that is our preferred language.
- Practical experience in software design and architecture: how to efficiently and clearly organize concepts across tens to hundreds of thousands of lines of code
- Experience in scientific visualization.
- Experience in agent-based modeling, system dynamics and other techniques, are also helpful. We use a hybrid approach.
- Experience in computational optimization and with digital twins is very useful, but rare.
- A strong interest in behavioral economics, behavioral science, and/or psychology.
- Ability to adopt new technologies effectively and quickly.
- Fluency in English is required; Spanish is a strong plus.
What to expect:
We've worked in small and large firms, start-ups and established companies, and we are deliberate about the kind of work culture we want to build. Specifically, that culture is:
- Motivated by our work and impact: At sistemaFutura, we care about impact and innovation, not egos or hierarchy. So you'll be a part of a highly motivated, nerdy team excited about developing new methodologies for the nascent field of behavioral systems and delivering social impact
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s