Navigating Technical Debt: My First Month in a New Role
I’m officially one month into my new role, and it has been… an eye-opener. While I was excited to jump in, I quickly realized the project is grappling with significant technical debt.
To give you an idea of the landscape:
- TypeScript in name only: The codebase is littered with any types, essentially defeating the purpose of using TS.
- Architecture & Organization: Folders are named numerically (feature-1, feature-2), making navigation a guessing game.
- Lack of Validation: There is zero data validation across both the frontend and backend.
- Monolithic Strain: We are running heavy, complex features on a monolith that wasn't built to scale this way.
I was handed tasks on my very first day, which was a "sink or swim" moment given how tangled the codebase is. It’s a challenge, to say the least.
Has anyone else inherited a project like this? How did you approach cleaning up the "mess" while still meeting delivery deadlines?
1 Answers
To make matters worse, I just discovered that the API returns the user’s hashed password directly in the response. Even though it's hashed, that is a massive security red flag. On top of that, despite being interviewed for Backend, DevOps, and Blockchain roles, I’ve been pushed into doing Frontend work—and I absolutely loathe CSS. It feels like I’m being used as a 'gap-filler' rather than a specialist.
