I've been working in this company as a .NET developer for 3 months.
When I came here the product was a total mess. Everyone worked on the same branch in TFS. The projects lacked structure. No coding standards. No CI or CD. Bad database management and so on.
The technical lead of this team is a very bad developer but he's been acting like he knows the solution to every problem (by providing the absolute most straightforward path that works 20 percent of the time). No one notices how absurd these solutions are because they either lack experience or they are worse than him.
I was really excited initially when I started here because there were so many things to improve.
The team wanted to migrate one of the APIs to .NET Core to save money by deploying on a Linux machine but the technical lead had labeled this as "impossible" since he had tried it before but couldn't get it to even build. They also wanted to implement continuous integration and deployment for which the same person worked a full month and couldn't even get to build the application properly.
So I took on the migration task and it worked flawlessly. Then I improved the project structure. Then I refactored a huge part of the code. Then I introduced git and set up the whole CI and CD pipeline + deploying automatically on an on-premises machine (which was again labeled "impossible" before that). I introduced code reviews and a solid branching strategy. I integrated a critical payment system that has been working without a single bug found by the QA or a runtime exception. Mentored juniors, and many other things.
I've been busting my ass for these 3 months.
Anyways, the previous week our boss came from Ireland and all of these things were presented as if the technical lead did them. Of course I didn't hear anything from that, but this morning I received an email by the boss explaining to every employee how big and innovative the changes we've made are and that
"we ran into roadblocks, but with the innovative mind and leadership of tech lead name we managed to achieve it*.
This got me so frustrated, since he is the person that did the least in these last 3 months. How should I react about it? What should I say? I feel like I've wasted my time and everything I did was stolen.
I wouldn't mind in any way if the email just said that the team did it, but mentioning this specific name got me extremely nervous.
And an important thing I should note. Only the technical and software development leads communicate with Ireland. The rest of the team is pretty much presented by whatever they say.
Edit: I just overheard that they called the tech lead "a genius" so it's pretty clear that he's been taking credit for the team's work for some time
Edit 2: This question is different than Handling Credit-takers since it is related to this specific situation.
Edit 3: The "tech-lead" is a developer by position and not a direct manager to anyone. (I'll edit the question to make it clearer later)
Edit 4: I'm thinking of going with Raf M.'s answer and so far I've put up this email
Hi boss name,
It's exciting to know that you share the same enthusiasm as we here do for improving the product in every possible way.
I just want to address your mentioning of credit-taking guy. While he's an amazing person and very knowledgeable about the business logic and the domain specific parts, making such statements really makes it sound like there is one person coming up with all the innovative solutions (which is absolutely not the case) and puts the rest of the team in a bad light. We have an astonishing manager here in the face of software development lead and we have 6 other great developers working hard every day and contributing their best.
From my understanding all you have as a point of contact here are software development lead and credit-taking guy. By communicating with the same people every day it's probably easy to forget that our company's recent great achievements (which far exceed the simple migration to .NET Core) were actually accomplished at the team level and not a single person contributed more or less than the rest.
This is why I would like to propose having short periodic meetings (every few days/weekly) with the whole team where everyone can give an update on whatever it is they work on currently. These meetings will pay off in the following way:
- You'll get to know each team member better
- You'll be able to get a better view of the software development process
- You'll be constantly up to date with the status of the development
- You'll be able to directly communicate the latest business requirements and >the person who would be responsible of implementing them would be able to >directly ask questions
- Each team member is going to improve their ability of explaining things on >the business level rather than on the technical
- The team's motivation to achieve greatness is going to increase as each member would know that his work is going to be presented to the business directly by him and would therefore carry personal responsibility for it
The cost of these meetings is miniscule over the amazing benefits they provide and how much they would improve the collaboration between Ireland and Bulgaria. We can easily run these in less than 20 minutes.
Best regards, John
Edit 5: I was called today by the said "tech-lead" (I researched and found out that he's on the same position as mine - senior software developer) and we had a serious fight on another unrelated to this post issue. It seems that this whole thing is not going to work. I have taken the day off and will reflect on whether the problem is in my behavior or this guy is simply going crazy.