Some background information: I recently got my first full-time job as a Junior Mobile Developer (23 years old).
I have been working in this industry for the last 4-5 years either as a freelancer or on a part-time contract. My current company gave me the junior position although they did admit that I should be in a higher position (medior/senior) based on the results from the technical assignment that they gave me.
This company recently entered the mobile market and it only has a few mobile developers. Most of the mobile developers are either old or work at the company for years and recently stepped over to mobile development. A few days ago I had to work together with my team on adding new features to an app that they have been working on for the last 2,5 years.
When I saw the code and the design of this app I was shocked - the code violates nearly all programming rules, it's full with errors and the UI design violates all rules from Apple and Android. I couldn't believe that it took 2,5 years to make this app - that's why I decided to recreate the app in my private time from scratch - this took me 2/3 weeks and it was done.
My question is: Should I mention that the application lacks in UI-design and code quality? If so, to whom? The project manager isn't aware of the code quality and the hidden errors. I don't want to put my team in an awkward position and bash on their work but I also don't want to do their dirty work which they will then claim as their own. I find difficult to mention anything to anyone since i'm new and a junior in this company.
Basically:
- If I tell the manager that the app is lacking it will reflect bad on the team.
- If I tell the team they most likely will take my work or use the knowledge I shared and make it their own.
- If I don't say anything I don't see a way to grow in the company and show my skills. I'll end up doing their work which they will take credit for. This has already happened once.