My Biggest error
So far
Intro #
I have been quite lucky to find fulfilling work in the recent time of tech industry austerity.
I have been maybe even more fortunate to have been able to work on solutions that help me grow as a developer by challenging my preconceived notions and pushing me to new heights.
In working on these solutions that push my boundaries I have been critiqued and honed, improving my code performance and succinctness. My errors been pointed out at various stages of the SDLC(Software Development Lifecycle) and I have been made better for it. Today I want to discuss my most impactful error and what I have learnt from it.
The Project #
In my company I have had the chance to work on projects that truly run the gamut, from learning platforms, to bespoke content management systems, to major artificial intelligence solutions.
This project was the development of a financial application for a client utilising FastAPI for nearly the entire backend. For this project, as it was a vital piece of infrastructure within a major financial industry player, it required thorough infrastructure planning, and by the time i began onboarding onto the project much of the foundation had been built up.
Due to my late arrival some of the more minute ground-rules that had shaped how the project would function had been passed over.
The Issue #
Working with, organising, and acting upon huge amounts of important data requires rigour in code quality and testing. I had, at this point been creating checks and tests across the solution for a number of weeks on categorical and some numerical data informing the client of any issues with their inputted data or resulting output.
Often I had been working with Qualitative datasets and representation of large sets of normal numbers.
Along came the day when I had to create a solution within the project to preform checks on large floating point values matrices with complex relationships I continued as I had for so many preceding days. Only this was different, while I should have known better, and should have asked, I continued using the variables retrieved from the database not thinking anything of it. I finish up, all tests pass.. great! Initial code review; all positive.
My code is deployed to a testing environment with dummy data along with other changes from that sprint, all is well. A week later, an issue is raised, a discrepancy of a couple thousand dollars in an account. Fortunately its only a test branch, some of the code is reviewed.
Turns out I made one of the most basic mistakes I could have made in python and I’m sure as you may have guessed it was the fact i did Not use pythons decimal module, and because of this nearly had a catastrophic issue published.
Conclusion / What I learned #
I should have known, I should have asked, I knew it. I’ve done so many math and data modules utilising python in college and had really started getting back into the swing of it for this project. I honestly went scarlet at the time when I was informed of the issue. It’s very easy to become casual in your approach to activities that feel routine. This has given me a push to understand further the libraries and modules I utilise when developing and not become complacent.