Pros
The team exhibits strong intercommunication and a willingness to assist each other, fostering a collaborative environment. There's excellent communication with Quality Assurance (QA) members, who possess extensive knowledge of the overall business process.
Cons
The challenges include a legacy tech stack and micromanagement, compounded by an overcomplicated codebase and a lack of experience. The absence of a structured onboarding process further complicates matters. Despite the availability of stable, external libraries, there's a preference for rewriting all components and utilities in-house. This approach leads to unnecessary reinvention and strains resources, as the team lacks the manpower to maintain these custom-made libraries. Technical debt is high, and there's a closed-mindedness to discussing alternative viewpoints. Programming is done strictly and blindly, often just copying code without a deep understanding of programming principles. Established programming principles like SOLID, KISS, and DRY are not followed. Overall, there's significant dissatisfaction with management and the organization of the codebase.