We build software that connects hardware to cloud and automation systems. The Python connector libraries underneath are used by the engineering team every day, and the review queue has got ahead of us. The first job is to clear it — properly, not by rubber-stamping.
What good looks like
The review queue is empty, the libraries have tests the team trusts, and cutting a release stops being an event.
What you do
- Work through the open merge requests. Review that looks at correctness, API design, tests and edge cases.
- Then: small features and fixes, driven by what the team actually needs.
- Grow the test suite and keep an eye on runtime.
- Look after CI and the developer tooling.
- Cut proper releases: semantic versioning, a changelog people can read.
- Documentation and usage examples.
What you bring
- 5+ years of production Python: async, typing, packaging, testing.
- Libraries or APIs you designed for other engineers to use.
- Code review that is direct and stays professional.
- asyncio in depth — cancellation, timeouts, the failure modes.
- Typing you take seriously: mypy or pyright in strict mode.
- pytest with fixtures, and a sense for what a test is worth.
- Working in writing, with a distributed team.
Nice to have
- Maintaining a library with real users to support.
- GitLab CI.
- MQTT, REST or serial buses.
- Performance profiling.
Terms
- Freelance, around 20 hours a week for about three months, starting immediately.
- Remote, based in Vietnam.
- Enough overlap with CET to review and discuss in the same working day.
- Working language English.