I joined the company as employee #20, into a small team of 2 people. Our team was responsible for handling all communications from our internal banking system to external third parties such as Banks, Credit Bureaus, Payment Providers, CRMs, and more. We developed and maintained an API that performed a number of tasks such as inbound and outbound payments, direct debits, credit checks, customer communications, etc.
I was tasked with developing new features, performing maintenance on the system, helping investigations during production incidents, assessment and interviewing of new candidates. As the company was quite small, the scope of my role changed often and I took on lots of different tasks and adapted to changes in the organisation around priorities and restructures.
Some examples of projects I worked on include following:
* I designed and developed a testing framework used internally and by our QA team to ‘fake’ responses from our third parties
* added Prometheus metrics to our API and built a Grafana dashboard to view the system health/stats
* implemented an auto-scaling process for our hosted servers based on a Redis datastore to improve cost efficiency
* integrated with AWS Secrets Manager to more securely handle third-party credentials
* designed and implemented new Django REST endpoints for new features and a framework for segregation of accounts using a Postgres Database cache