We are looking for a backend developer with specific experience in Python, SQL and gRPC to support the design & development of a suite of financial, statistical, analytics and operational services.
Our team leads the architecture & development of this environment with a primary goal of enabling business to deliver enriched traditional services at scale to high profile clients; and to deliver a new variety of services by leveraging a suite of modern technologies.
While this role is focused on backend Python, SQL and gRPC development, as a key member of a small developer team you will have the opportunity to contribute to & learn the full stack architecture and implementation of an end-to-end micro-services application hosted in a modern kubernetes cluster. This includes design, frontend development, gRPC API design & integration, backend development, database design, modern kubernetes automated cloud deployment, corporate-level security patterns & testing, formalised Git review & release cycles.
The role:
- Join a small team of developers that is building web applications for a larger business cluster delivering analytics and modelling services to clients.
- Full time and part-time (2-3 days per week) options available. Contractors welcome.
- Focus on backend development with Python, SQL, SQLAlchemy, Pandas and gRPC.
- Frequently collaborate with the broader team & business to discuss ideas and progress. Provide active guidance in meetings with the team & business regarding best practices, alternative options, required effort and possibilities / limitations.
- Apply fundamental computer science concepts such as abstraction, composition and dependency injection to produce well-architectured and robust software components which can be repeatedly used and distributed throughout the application with minimal effort.
- If interested / experienced - contribute to & learn the full stack architecture and implementation of an end-to-end application.
Required experience:
- At least 5 years of experience with Python 3+ development of web applications or integrated services; preferably includes SQLAlchemy, pandas, pytest and gRPC.
- Thorough understanding of principled test-driven development.
- Working knowledge & experience with git collaborative workflows & pull requests
- gRPC and protocol buffers OR a strong background with REST APIs and an interest in learning and applying gRPC
- Ability to apply fundamental computer science topics such as abstraction, composition and dependency injection to produce well-architectured and robust software solutions.
Our core software principles:
- Distributed Development & Microservices - As a core team enabling solutions to be developed across the business, we must provide clear development and orchestration boundaries and relieve the burden of dependency resolution on specific app teams.
- Test Driven Development - We believe that architecting a solution through the lens of a robust test suite creates focus and purpose in the code we create. It is the primary enabler of continuous delivery.
- Strict Typing - Simple: types enable you to catch bugs faster, greatly improves IDE assistance and enables predictable outcomes when using code produced by others.
- Continuous integration - Code that sits on a developer’s machine goes stale fast. Short PRs and software switches enable the team to stay current with one “interesting” version of the code.
Our current stack:
- Python 3.8+
- gRPC APIs
- PostgreSQL
- Typescript
- Angular 9+
- Redux (Angular Ngrx)
- Kubernetes
- Docker
- Istio Service Mesh
- Open Policy Agent
- Azure DevOps repos / pipelines
- Azure Container Registry
- Azure Cloud (storage, database, virtual machine, kubernetes, key vault, etc)
The tools we use:
- PyCharm Professional
- VSCode
- Slack
- Google Enterprise (Gmail, Meet, Chat, Calendar, Sheets, Docs, etc)
- Microsoft 365