Python Developer
Guangzhou, GD, CN, 510620
Some careers have more impact than others.
If you’re looking for a career where you can make a real impression, join HSBC and discover how valued you’ll be.
HSBC is one of the largest banking and financial services organisations in the world, with operations in 64 countries and territories. We aim to be where the growth is, enabling businesses to thrive and economies to prosper, and, ultimately, helping people to fulfil their hopes and realise their ambitions.
We are currently seeking an experienced professional to join our team in the role of Python Developer.
Principal responsibilities
- Upgrade and extend Python applications that support actuarial model runs and generating outputs, including refactoring for maintainability, introducing clearer object-oriented structure where it improves readability and testability, and improving performance for data-heavy workloads.
- Build reliable functionality handling components using polars/pandas/NumPy, with appropriate validation and reconciliation checks so outputs are explainable and repeatable.
- Design and maintain automated tests using pytest, apply mocking appropriately, and actively manage test coverage so changes remain safe with robust control over time.
- Strengthen operational robustness by implementing structured logging and sensible exception handling, making failures diagnosable and reducing time lost to “mystery errors” during production cycles.
- Contribute clean, reviewable changes, participate in code reviews, and resolve merge conflicts using PR-based Git workflow.
- Document key design decisions and provide practical runbooks so the team can support the platform during critical production timelines.
Requirements
A degree in Computer Science, Information System, Engineering, Machine Learning, Data Science, Physics, or a related field id preferred (or equivalent practical experience).
Around 7 years of Python application development experience including
- Strong, hands-on Python engineering experience building and maintaining production applications.
- Comfortable working with large datasets and can use polars and/or pandas and NumPy efficiently, balancing correctness with performance.
- Have solid object-oriented programming experience and can apply it practically (clear abstractions, testable components, and maintainable module boundaries rather than “OOP for OOP’s sake”).
- Have strong testing mindset and can build reliable suites with pytest, including mocking and regression tests and understand how to maintain meaningful test coverage as a codebase evolves.
- Implement structured logging and robust error handling, with exceptions that are informative and appropriate for downstream users and support teams.
Prior experience in financial institutions – banking, asset management, or insurance – is a strong advantage.
Actuarial exposure to IFRS17 and/or RBC is a plus, especially for understanding reporting cycles, controls, and audit expectations.
Experience with Ruff (linting and formatting) and pre-commit is helpful for enforcing standards consistently.
Familiarity with modern package and dependency management using Poetry or uv (pyproject.toml-based), reproducible environments, and dependency pinning is also beneficial.
Experience setting up CI/CD pipelines (GitHub Actions, GitLab CI, Jenkins) to automate tests and quality checks will help you raise the team’s delivery speed without compromising control.
Candidate with less relevant experience or skills may be offered a lower Global Career Band than stated above.
Due to the urgent hiring need, candidates with immediate right to work locally and no relocation need will be prioritised.
You’ll achieve more when you join HSBC.
HSBC is committed to building a culture where all employees are valued, respected and opinions count. We take pride in providing a workplace that fosters continuous professional development, flexible working and opportunities to grow within an inclusive and diverse environment. Personal data held by the Bank relating to employment applications will be used in accordance with our Privacy Statement, which is available on our website.