I started a new job 3 months ago. During the interview process, I was told I could pick whatever language I want to use to do the project. A couple of weeks ago we started the project, and I was told I must use Node.js, typescript,event driven programming, and express, none of which are things I know.
The project has only one other developer, and he has used these technologies extensively. How can I contribute to this project effectively? I don't want to "make him" do everything, but that is sort of what is happening - I try to help in small ways and often struggle to produce anything useful. I explained to him the situation, and he sort of avoids me now and just kind of does everything on his own. I have tried to do "catch ups" with him, short little chats to talk about the project progress, but it sort of feels like I'm forcing him to explain everything he's done to me. Probably, it is annoying to him.
We have a full agile team of 11 people which includes 2 software engineers (including myself) and a tech lead. My boss (who I interviewed with and knows what I know/don't know) is not on the agile team.
Only the other software engineer knows that I don't know the underlying technologies (the tech lead does not know what I know or don't know). I did not intentionally omit this to anyone - I genuinely thought up until today that I could learn the tech very quickly and it wouldn't matter (I have learned other techs quickly before - c# was very easy for me since I knew java).
A second approach is: just ask the other dev how best to help him, do what he says, stay out of his way, and don't annoy him. This might include devops stuff, quality assurance, code refactors/removing code smells, whatever else I can do. Well, if I do this approach, then I may be perceived as contributing minimally to the project, and I may end up getting a bad performance review or maybe even fired.
A third approach is: tell the tech lead that I don't know the underlying technologies. Best case scenario is that he adjusts his expectations downward and gives me more leeway to contribute what I can as I learn, or I could get placed onto another team/project. Worst case scenario - I get kicked off the team or even fired.
At the moment, I am trying a combination of the first two approaches. Is this my best route? Is there an approach I'm not aware of? Which approach should I take here?
I am aware I can't "hide", since anyone who looks at the code repository (such as the tech lead) could see that I am not really contributing. And it will be obvious based on what I say I accomplished or did not accomplish during daily scrums and other catch ups. On the other hand, it seems counter productive to "loudly announce to everyone that I don't know any of this stuff".