I was hired a couple of months ago with a permanent contract as a senior software engineer for a company that operates as a software development agency. They hire engineers who then do work for the agency's clients at a billed rate.
I was briefed on my 2nd day about a project where I was told I am a candidate for the role, but there was a delay of many weeks until I was interviewed by the client who then rejected me for a matter of specific skills I don't have. Another client refused me as a candidate because I lack experience in their specific field (however, my company thought this was not rational as an excuse).
My boss gave me a task I believe to be "busy work," possibly because he felt I was bored. The task was not my domain of expertise, so I had to abandon it.
Right now, I am working on an interesting project with a different manager, but it doesn't feel like a formal arrangement. They are planning to deploy this project, however, as the first version seems promising.
I am very well paid, so I worry that I "cost too much" and I am afraid they will not want to have a senior engineer doing work that is not directly billable to clients for a long period of time.
Should I worry and make a plan B? Or should I trust that they know what they are doing?