I work as a junior software developer in a mediocore service cum product based company.
I was given an issue to fix urgently.
It took some time for me to analyse the problem; this was acceptable in the start phase, as the issue was very important.
Then I noticed some dependencies on other projects which were handled and modified by seniors.
After verifying things and final discussions with those seniors I fixed the issue, but in the final release it failed due to improper deployment and testing by the QA team.
I was questioned first in front of some of colleagues I looked into the problem and reported the mistake from the QA team. No one raised an objection and QA handled the problem silently.
After release, the client claimed that the fix was only half done and again the team leader questioned me. I replied that whatever issue we found and discussed at the time were covered.
I again looked into the issue, and was expected to resolve it quick as it was a big concern to the clients, but due to the old legacy system and slow tools it took some more time.
The team leader asked me if it would be resolved soon. I replied I would do my best and try to resolve it ASAP.
I again found some dependencies on other projects, for which I didn't have any idea how to fix. I told my senior colleague about it, but he told me to make it work.
I fixed the issue myself so that it should not occur again.
After all this work-around, with the final release, the team leader again told me I didn't do a proper deployment, but again this was also QA's error - I showed them what was wrong.
How can I handle things like this and behave in front of the entire team /seniors? Although I spoke very politely all the time, this kind of treatment is very dangerous for my future work/learnings.