From the way I read it he is a contractor hired for a specific project - in which case there is an expectation that he will leave at some point.
There's also a couple of serious red flags in describing a contract as "In my contract, I had to work ALONE in order to build a complete software alone, with my own programming principles. I was recruited BECAUSE the team has no skills at all in the demanding fields."
Which means there's no use of code reviews, even as an opportunity to educate someone else. There appears to be no process for knowledge transfer at all, so how is the company going to gain these skills? Separate principles again suggests not writing code in the same way as everyone else.
Plus if you're concerned after 2 previous incidents of this happening to you and you find yourself months into a project being left on your own then some pre-emption might be useful. Write lots of comments in your code, talk colleagues through it, suggest training videos on the languages technology - make yourself useful and available.
I'm not saying that this was handled well from either side, but as a contractor you are hired to deliver a product to a company; if that product is effectively useless once you are done with your product you have not delivered what you were contracted to do.
A contractor that would produce some fully functional, and even elegant in it's own way but convoluted piece of code is doing a poor job regardless if it's because the code is so smart that almost no one can understand it or because it's utterly inconsistent internally and is an unreadable mess.
You aren't selling a binary product here, a company isn't buying off the shelf software, they are contracting you to further develop their IP if what you produce is not useable to them you effectively wasted their time and money.
There's also a couple of serious red flags in describing a contract as "In my contract, I had to work ALONE in order to build a complete software alone, with my own programming principles. I was recruited BECAUSE the team has no skills at all in the demanding fields."
Which means there's no use of code reviews, even as an opportunity to educate someone else. There appears to be no process for knowledge transfer at all, so how is the company going to gain these skills? Separate principles again suggests not writing code in the same way as everyone else.
Plus if you're concerned after 2 previous incidents of this happening to you and you find yourself months into a project being left on your own then some pre-emption might be useful. Write lots of comments in your code, talk colleagues through it, suggest training videos on the languages technology - make yourself useful and available.