Indy Singh

Indy Singh

Software Engineer

United Kingdom - since birth

Background


About

About

Delivering robust and reliable critical platform features. Interested in doing things once and right. Performance is my wheelhouse. The scientific method above all else. Lover of KISS, not-so-much of DRY. Especially attracted to problems at and of scale.

Work Experience

Work Experience

  • Lead Software EngineerCodeweavers

    Jun, 2020 - Present

    Involved with high level quoting for new business and getting ahead of any showstoppers.

    • Personal highlight: Diagnosed and solved a long standing performance issue with one of our core applications that resulted in memory savings of 50%.

    • Tender: Helped get a large contract over the line when an external audit highlighted that internal staff using only username and password authentication was less than desirable. Solution involved migrating our source of truth to be Google SSO based and enforcing mandatory 2FA. This solution also simplified HR on-boarding and off-boarding.

    • Security: Red team exercise to see how vulnerable our password hashing was; ended up cracking 20% of all passwords within the platform and since then have seamlessly migrated to a key stretching algorithm. Also used the same data to nudge users to choose better passwords leveraging Dropbox's Zxcvbn.

    • Sustainability: Our costs in the cloud had spiralled out of control over a twelve month period; reduced AWS costs by 65% and GCP costs by 76%.

    • Scalability: Built a BigQuery (GCP) analytics pipeline that collected 300 million events per day, that has since scaled to 800 million events per day without any additional maintenance.

    • Continuous Deployment: Increased deployment throughput by 100% - taking our 'deploys per day' metric from 100 to 200.

  • Senior Software EngineerCodeweavers

    Jun, 2018 - Jun, 20202 years

    Started to work on the underlying platform as opposed to client facing projects. Naturally moved into a role where I was brought into teams to advise and help unblock particularly difficult problems. Officially responsible for performance, security, and optimization of the platform.

    • Personal highlight: Helped improve the "debugging on production" workflow by designing and creating call tree in joint ownership with the Director of Development

    • Security: Integrated into 'Have I Been Pwned' to improve end user security by detecting previously compromised passwords.

    • Maintainability/disaster recovery: Migrated our entire AWS configuration that was not platform-driven to be declared in Terraform and under version control - done without any negative impact to the platform.

    • Sustainability: Due to the nature of the data we process (e.g. bank details) many of the lenders we communicate with, insist upon client certs during initial connection negotiation. This was identified as a pain point when it came to annual renewal. Worked with senior management and key stakeholders at lenders to use Let's Encrypt to automate the entire process removing the burden from us and them.

    • Open source: Identified and resolved a late-night memory leak that would impact our SLA for our most important clients. The root cause was in our chosen serialization library.

    • Compliance/legal: Worked on making the company compliant with GDPR. Special focus was given to the aspect of keeping personally identifiable information (PII) data only as long as absolutely necessary

    • Auditing: Built a Cassandra backed immutable audit trail of who viewed what PII data, when, and why

    • Client projects: Experian, Barclays, Confused.

  • Software EngineerCodeweavers

    Jun, 2016 - Jun, 20182 years

    The platform features that I built in these years are still in use today to inform changes on hot-paths within the code base to maintain high performance code.

    • Personal highlight: debugged a previously unsolved problem that plagued our development and continuous integration (CI) machines that caused tests to run slow. This is where I really started to develop and hone my diagnostic skill set.

    • Monitoring and observability: designed, built, and architected a seam within the platform that collected metrics such as number of requests and time taken.

    • Platform functionality: pioneered the use of AWS SNS and SQS within the platform tier that empowered teams to leverage event based architecture to solve cache related problems.

    • Seductive adoption: designed the SNS/SQS seam so it was easy to use (so much so that other teams came to me almost demanding to use it), and consumers never had to worry about anything other than writing the abstraction.

    • Open source: identified and resolved a memory issue with the AWS .NET SDK.

    • Client projects: Close, Peugeot, Citroen, BMW and Mini, Blackhorse.

  • Placement Software EngineerCodeweavers

    Jun, 2015 - Jun, 20161 year

    Joined Codeweavers as a placement student whilst doing a top-up degree at Staffordshire University.

    • Personal highlight: being offered a full-time role only three months into my year-long placement!

    • Confidence building: delivered the Glasses project end-to-end to help drive a wider selection of vehicles for lenders that relied on that data set. This project was fundamental for me from a confidence point of view.

    • Client projects: Borderway, Cumberland, Anchor, JBR Capital, McLaren, Toyota, ADP Dealer Services, Blackhorse.

Skills

Skills

  • C#

    .NET

    Cassandra

    Postgres

    SQL Server

    AWS

    GCP

    Azure

Education

Education

  • Computing Science (Top Up Degree), Bachelor of Science Honours, Staffordshire University

    Sep, 2014 - Apr, 2016

  • Computing and Systems Development, Higher National Diploma, Walsall College

    Sep, 2012 - Apr, 2014

Server side logging

Client side logging