I am a developer at a company and have worked there for 3 years. The net size of the team I work on is typically 2 developers big: myself and another developer. Other devs I have worked with (I will call them Developer A and B) have either left the company or move to a different project involving a different team. Right now, the team is just me and another dev who has only worked at this company for 1 year (I will call him Developer C). This is the 3rd dev co-worker who I have been working with. Formally, there is no "team lead".
We have a large application where there are two domains/slices managed. Historically because there is no team lead, I am informally the lead for one slice (Slice 1) where the other developer is informally lead for the other slice (Slice 2); effectively, there are 2 leads on the app. However, since I have worked at the company for the longest compared to the other dev co-workers, I have the most knowledge about the entire app (both slices) which lets me make correct judgment calls. However, I didn't get my knowledge because of my manager because he always kept me in the dark; instead, I took the initiative to gather information by talking to other co-workers and departments.
My goal is to move up to Senior role, purely because I want to have the formal authority to make business decisions related to the app. Last December, Developer B who used to the be the dev lead of Slice 2 was moved to a different project which left Developer C and myself. I thought for sure this was going to be a chance where I could advance up to Senior. However, my manager keeps focusing only on Developer C, allowing him to participate in critical business meetings, getting all the important news and making decisions that even impact me on the Slice 1 side. Meanwhile, I am kept in the dark like always because neither Developer C nor my manager tells me anything. I talked to my manager about this and he said he would think about including me more on info; nothing has changed though. As a result, I constantly get agitated and stressed because decisions and tasks spring out of nowhere without my input.
The main thing that does really make me angry is how my manager is clearly playing favorites with Developer C. Examples include:
- We have a issues/tasks board for our app. When my manager creates a task, he assigns it to him immediately. The ratio of tasks he gets compared to me is about 10:1.
- My manager relies on graphs from that board to determine our time usage. Because I rarely get tasks from him, I have to create my own tasks to inflate my own numbers.
- We are supposed to CC each other on replies on emails that other departments send so that "all of us are on the same page". My manager and Developer C never CC emails to me.
- When my manager gets an email question, he only forwards the email to Developer C, even though both of us are more than capable of answering the question.
- When we do production releases that contains both Developer C and my work, Developer C is the one that does the release and almost always gets all the credit.
- While in this working from home state thanks to the coronavirus, my manager assigns Developer C to record what I do each day so that Developer C can report it to our manager.
- etc.
Given the progression and Developer C playing the pseudo-lead role, I feel whatever I do will just be a tool to one-up Developer C so that he will get promoted to official lead because what my manager will see this as Developer C being capable of "leading" me and the app. However, I absolutely disagree with him as being the lead because I personally feel he doesn't have the qualities to be a leader and is unsuitable for it (I have reasons and evidence for this).
So my questions are:
- How do I compete against Developer C for official lead when my manager plays favorites with Developer C and using me as a tool to one-up him?
- What can I professionally do to stop Developer C one-upping me?
- How do I professionally communicate with my manager that I refuse to accept Developer C as official lead and he's not qualified for it?