I was hired at the beginning of April by a Swiss company as Senior WPF engineer, and because of COVID-19 lockdown was unable to be registered as permanent, so they hired me as a contractor for two months until June when hopefully lockdown would be lifted, and from that point, I would work as permanent and have a contract already signed.
Me and one other candidate, let's call him U is a person in his fifties, were hired to two Senior WPF Engineer positions, through the process of: Programming homework, then extending that homework in front of CTO who is a go programmer and claims to know little about .NET, meeting with HR person who did the character assessment, then PM who was agile scrum master and is now in charge of the project we are working on, and final meeting with CEO.
In the company, we do work akin to lean startup with maximum focus on quarterly OKRs. In a team of four, us the new hires and two contractors, we work in agile with biweekly sprints.
Due to sprint and daily scrums, it becomes quite visible how well people perform, and U started talking about doing things with lots of pre-planning while it does against the companies work methodology, I privately sent him a link and suggested to read about
lean startup he replied he knew it well, yet for a few weeks was suggesting things that were opposite. In another two weeks, it also became apparent that he produces code, very slowly and very little of it and we aren't talking 'lean' code we are talking, old .NET3.5 kind of code like adding strings with +, zero linq, and introducing exceptions like opening the file and then trying to delete it in the next line and getting IO. exception.
First clash between us was when he didn't like source control and wanted to work directly on the master branch. He started working on it anyway and I and contractors went to PM to step in and we convinced him to do every user story on its own branch. After this, I was very busy with introducing new modules into the app so we interacted very little.
The next clash was when he tried to add 3rd party source code project to our solution when I suggested importing .dll, he argued that we might need source code in case we need to fix a bug in 3rd party control, this time PM said he is not .Net developer and that I should bring this with CTO. So I did and CTO convinced him again.
After this, I spoke to PM and CTO that he puts OKR at risk and that he is not a Senior WPF Engineer. I have been prooving them in various metrics that he is heavily underperforming and doesn't know the stuff that seniors should. Both PM and CTO would say that they are not experts in .Net and that I and U are experts and we should sort it ourselves out. At this point couple of weeks ago, I simply backed off and started focusing on working like crazy to hit OKR.
Since my contract is expiring in two weeks and borders are still closed I reached out to HR to ask what do we do in regards to contracts. When happened next, I got a meeting with HR, CTO, and PM and have been given a written warning and two-week pending performance review in regards to lack of collaboration. They said that we need to work together more closely and come up with decisions together.
Normally I would be out of the door, but I have invested a lot of myself into the product being released and succeeding, I like the job itself and the company is working with the latest methodologies and other teams are performing very well, also the corona crisis makes another remote job harder to find.
I can't understand, why would PM sabotage his own project since up until meeting we were meeting OKR and this warning is a huge risk if I leave. Also, why CTO would not 'see' that U is constantly suggesting weird things like API instead responding with version string (e.g 1.01) sending a file with a current program version inside. Even without any .Net knowledge, one capable programmer can smell another a mile away and I think CTO is quite good at least in regards to the system design. Company is up to 50 employees and I have direct access to CEO
What do I do? Should I bring this up with the CEO, or I am better off shutting up and collaborating and how do I go about it?
UPDATE:(epilogue) Initial 2-month contract got extended, but then they sacked me 3 hours prior to product release, with 10 days left of the contract.
Collaboration doesn't fly if you have to also deliver...