I'm a newly graduate programmer and just got hired before my graduation. In the office, I used to create and revise modules of some applications developed by other programmers in our company. The problems I encountered with their applications are:
Unnormalized database at it's best, they've broken all the rules of database normalization, Codd must be angry.
50% of the content of the database is literally NULL (they should have default value I swear).
One stored procedure is used in all database transactions, full of "if-else" statements.
They are reinventing the application settings in .NET WinForms, they create their own file which contains everything they want. I think they are very fan of VB6 or maybe they don't study really, they're guessing how to achieve something.
No error handling! Clients sometimes report "Exceptions" which they shouldn't be seeing.
Web files and Windows Forms are not organized or grouped according to their use.
Naming convention, there are Camel case, pure lower case, with and without underscores and abbreviations.
Bad programming practices like database transaction in each iteration of a loop.
They developed website with SQL injection in mind, they welcome them.
HTML elements were not used according to their sematics.
CSS are not optimized for different browsers.
They include several versions of jQuery in one HTML!
. . .
N. Many more!
The worst thing is, I felt being blamed for it's fragility. I mean, when I add code, there are times that it ends up with error, sometimes because they did not create constraints or they allowed duplicate data. The system is so fragile and dependent to one another, it's like walking in a field with landmines! (THIS HAPPENS SOMETIMES, THIS IS NOT THE REAL ISSUE)
What should I do?