{"id":786239,"url":"https://alion.io/job/openfn-staff-software-engineer-back-end","title":"Staff Software Engineer (Back-End)","company":{"id":684414,"name":"OpenFn","domain":"openfn.org","url":"https://alion.io/company/openfn","size_band":null,"is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"Workable","truth_index":null},"role":"Backend","role_family":"Backend","seniority":"staff","employment_type":null,"work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"posting_text","remote_working_hours":null,"hiring_geo_confidence":"inferred","locations":[],"countries":[],"hiring_countries":["KE","NG","ZA","GH","DE","FR","GB","AT","BE","BG","HR","CZ","DK","FI","HU","IE","IT","NL","NO","PL","RO","ES","SE","CH","EE","GR","IS","LV","LI","LT","LU","MT","PT","SK","SI"],"hiring_countries_total":35,"salary":null,"salary_estimate":{"min_usd":39000,"max_usd":84000,"period":"year","method":"global_role_cell_scaled_by_country","sample_n":2415},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":"Elixir","optional":false},{"name":"GitHub","optional":false},{"name":"Node JS","optional":false},{"name":"Slack","optional":false},{"name":"JavaScript","optional":true}],"status":"live","first_seen_at":"2026-09-10T00:00:00Z","employer_posted_date":"2026-09-10","last_verified_at":"2026-11-05T19:04:20Z","board_verified":true,"closed_at":null,"days_open":56,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":56},"description":"Type: Full-time contractor\nLocation: Remote (Europe/Africa time zones)\nLanguage: Fluent, professional-level English\nTravel: None expected\nOpenFn is a Digital Public Good for public service automation and AI orchestration. Our platform automates data exchange and workflows, helping governments and NGOs connect fragmented systems and deliver essential services across health, humanitarian response, and government programmes.\nOpen Function Group, the platform’s primary steward, is a small, fully remote team of engineers, integration specialists, solution architects, and implementation consultants working across 15+ countries.\nWe build infrastructure that helps governments function, clinics operate, and people access the services they depend on.\nThe role\nConnecting two government systems should get easier every time. Today, it often means starting again: negotiating access, configuring environments, and deciding who can trust whom. Each new connection becomes another project.\nWe’re hiring a Staff Back-End Engineer to help change that. You’ll join our Connections squad, with a clear mission: make it dramatically cheaper for government departments to collaborate.\nYour work will turn the hard parts of each integration into capabilities teams can use again and again. You’ll define how organisations connect their systems and share credentials, and build the workers that execute their workflows reliably at scale. As OpenFn grows to support everything around those workflows, from setup to monitoring and reporting, you’ll contribute significantly to the architectural direction of our backend.\nYou’ll have the opportunity to make substantial technical contributions and the responsibility to see them through. Most of your time will be spent in the codebase, with design discussions, code review, and written proposals helping the team build on your work. This is an individual contributor role with no people-management responsibilities.\nOur stack is Elixir/Phoenix and Node.js. You’ll need Node.js experience; you can learn Elixir here.\nWhat you’ll do\nShip production features\nDeliver features end to end, from technical proposal to production.\nBuild the squad’s core capabilities: connected-system registration and governance, credential ownership and sharing, and high-performance workers that execute workflows reliably at scale.\nShape OpenFn’s backend architecture\nSet architectural direction across OpenFn’s backend, including module boundaries, service interfaces, naming, and conventions.\nEstablish consistent patterns that help engineers navigate and extend the codebase, including when using AI development tools.\nSet engineering conventions through code review, documentation, and your own work.\nStrengthen platform security\nTranslate security findings into architectural changes and carry them through to production.\nStrengthen trust boundaries, isolation, and credential handling.\nRequirements\nWhat you’ll bring\n8+ years of experience building and operating backend services for customer-facing products.\nExperience designing backend service architectures, not only extending existing ones.\nExperience building backend services with Node.js.\nExperience operating services where reliability and scale have direct consequences for users.\nThe ability to work independently and collaborate across time zones in a small, distributed team, using GitHub, Slack, and written proposals.\nClear, professional communication in English and the ability to work effectively across cultures.\nUseful additional experience\nElixir/Phoenix or other languages and frameworks designed for functional programming or concurrency.\nDeveloper tooling or large migration programmes.\nSecuring production systems.\nWork in health, humanitarian response, government digital transformation, or the wider social impact sector.\nWorking proficiency in Spanish or French.\nBenefits\nCompensation and benefits\nCompensation based on experience, following OpenFn’s Equal Pay for Equal Work framework. Our NGO and government customer base means we don’t offer Silicon Valley pay scales; we aim to provide fair, transparent, and competitive pay.\nFlexible working hours.\nFully remote work, with team meetups across Europe and Africa. Our last three were in Kigali, Cape Town, and Dakar.\nSignificant influence on the platform’s architecture and the opportunity to help shape our technical strategy.\nThe opportunity to build open source software that helps ensure everyone worldwide can get access to great digital public services.","description_format":"text","description_chars":4511,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"French","level":"Advanced (C1)","optional":false},{"language":"Spanish","level":"Advanced (C1)","optional":false},{"language":"English","level":"Upper-Intermediate (B2)","optional":false}]},"benefits":["Flexible schedule"],"hiring_locations":[{"name":"Kenya","iso":"KE","kind":"country"},{"name":"Nigeria","iso":"NG","kind":"country"},{"name":"South Africa","iso":"ZA","kind":"country"},{"name":"Ghana","iso":"GH","kind":"country"},{"name":"Germany","iso":"DE","kind":"region"},{"name":"France","iso":"FR","kind":"region"},{"name":"United Kingdom","iso":"GB","kind":"region"},{"name":"Austria","iso":"AT","kind":"region"},{"name":"Belgium","iso":"BE","kind":"region"},{"name":"Bulgaria","iso":"BG","kind":"region"},{"name":"Croatia","iso":"HR","kind":"region"},{"name":"Czech Republic","iso":"CZ","kind":"region"},{"name":"Denmark","iso":"DK","kind":"region"},{"name":"Finland","iso":"FI","kind":"region"},{"name":"Hungary","iso":"HU","kind":"region"},{"name":"Ireland","iso":"IE","kind":"region"},{"name":"Italy","iso":"IT","kind":"region"},{"name":"Netherlands","iso":"NL","kind":"region"},{"name":"Norway","iso":"NO","kind":"region"},{"name":"Poland","iso":"PL","kind":"region"},{"name":"Romania","iso":"RO","kind":"region"},{"name":"Spain","iso":"ES","kind":"region"},{"name":"Sweden","iso":"SE","kind":"region"},{"name":"Switzerland","iso":"CH","kind":"region"},{"name":"Estonia","iso":"EE","kind":"region"},{"name":"Greece","iso":"GR","kind":"region"},{"name":"Iceland","iso":"IS","kind":"region"},{"name":"Latvia","iso":"LV","kind":"region"},{"name":"Liechtenstein","iso":"LI","kind":"region"},{"name":"Lithuania","iso":"LT","kind":"region"},{"name":"Luxembourg","iso":"LU","kind":"region"},{"name":"Malta","iso":"MT","kind":"region"},{"name":"Portugal","iso":"PT","kind":"region"},{"name":"Slovakia","iso":"SK","kind":"region"},{"name":"Slovenia","iso":"SI","kind":"region"}],"hiring_excludes":[],"relocation_offered":false,"industries":["Workflow & Process Automation (RPA, BPM)","Integration & API Management"],"lifecycle":[{"event":"open","at":"2026-09-12T01:59:31Z"}],"visa":[],"liveness":{"score":22,"band":"cold","label":"Long shot","p_open":1,"p_active":0.628,"p_room":0.35,"age_days":56,"expected_fill_days":28,"reasons":["conf:2","win:tail"],"computed_at":"2026-11-05T05:54:30Z"},"pay":null,"html_url":"https://alion.io/job/openfn-staff-software-engineer-back-end","json_url":"https://alion.io/job/openfn-staff-software-engineer-back-end.json","meta":{"generated_at":"2026-11-05T21:43:56Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":1989,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-11-06T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":684414},"rest":"https://alion.io/mcp/rest/get_company?id=684414"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fopenfn-staff-software-engineer-back-end"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fopenfn-staff-software-engineer-back-end"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fopenfn-staff-software-engineer-back-end"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/openfn-staff-software-engineer-back-end\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fopenfn-staff-software-engineer-back-end"}],"agent":{"mcp":"https://alion.io/mcp/jobs","mcp_open":"https://alion.io/mcp/open","next":[{"tool":"get_job","arguments":{"id":786239}},{"tool":"search_jobs","arguments":{"company":"openfn.org","detail":"compact"}},{"tool":"match_people","arguments":{"job_id":786239},"note":"people open to offers who fit this vacancy"}],"note":"The same data through MCP tools: https://alion.io/mcp/open needs no sign-in (compact searches, postings, people); https://alion.io/mcp with an Alion account has everything. Docs: https://alion.io/developers"}}