A few days ago, I almost broke production.
Our company doesn’t have any formal CI/CD protocols. When we ‘push to production’ that would mean testing code on our local computers, then going onto our single production machine, clone our changes, test on the production machine, then merge to main. The dev team was incredibly small, but this process started failing when more people worked on the codebase.
My manger strongly prefers merging one large feature all at once as opposed to merging changes bit by bit. Even though I pushed for the ‘one diff, one thesis’ approach, he pushed back on it. He would rather clone my entire feature all at once over making small changes.
A week and a half ago, I finished my main feature. My code successfully worked on the production machine, but my manager kept pushing back on actually landing the code to production. I kept pushing for my manager to push my code but he kept extending the due date. Now that I’m close to my internship, he is asking me to push code.
The issue is that and another dev were trying to push their features to production. The other developer went first since his feature was smaller, then it was my turn. When it came to merging my code, I made errors in resolving merge conflicts, which resulted in errors. I tried ‘undoing’ the commits by reverting changes (when I should’ve done a reset), which caused the commit history to become longer and more complex, making the situation worse. After rolling back commits, somehow even the old code wasn’t working.
My team and I are working to resolve the issue, but I was really upset throughout the whole process. I’m frustrated at my own incompetence with version control, but I’m also frustrated with my manager for not listening to my suggestions, as I think this would’ve been prevented if I had integrated my code earlier and in smaller chunks.
My team knows that it was a version control issue (as opposed to a code issue), especially since I showed them on two different occasions that my code works.
How should I handle this situation? I definitely feel like I should apologize but how can I make up?