The company’s management demonstrates a significant lack of competence in overseeing projects effectively.
They exhibit little to no familiarity with established project management methodologies such as Scrum or Agile, and concepts like story points appear to be entirely unknown to them.
Their approach to management involves pressuring employees to provide unrealistically short time estimates for tasks, which are then formalized as rigid deadlines with little room for negotiation.
When unforeseen challenges or complexities arise, management offers no flexibility or support, instead expecting employees to work overtime, often 14 to 16 hours per day without any compensation.
Crucial system components which I had opportunity to work with, could be described in following theses:
1. Severe technical debt, approaching a state of "technical default"
2. Codebase written entirely in a functional style (i would say it's rather sysadmin scripting than programming), with full absence object-oriented programming principles.
3. Absence of documentation or at least comments in the code, which hindering maintainability and further development.
4. No code review process - resulted to inconsistent quality and appearing of hacks and crutches in the code, instead of proper fixes.
5. Absence of automated tests is an open door for defects and regressions.
6. Focus on features and KPIs over code quality only exacerbated technical issues. New features were built on a fragile foundation, causing systemic instability.
7. No use of modern frameworks killed any possibility of scalability. It's easier to start everything from the scratch, than refactor existing legacy code.