Как сотрудничать в команде javascript, если вы не знаете Javascript?

Я устроилась на новую работу 3 месяца назад. Во время собеседования мне сказали, что я могу выбрать любой язык, который захочу использовать для работы над проектом. Пару недель назад мы начали проект, и мне сказали, что я должен использовать Node.js, машинописный текст, программирование, управляемое событиями, и экспресс, ничего из этого я не знаю.

Я никогда раньше не работал в какой-либо разновидности javascript , но у меня многолетний (> 5) опыт работы с python/java, а также небольшой опыт работы с flask. Поскольку у меня есть разнообразный опыт программирования, я предположил, что могу просто учиться на ходу.

У проекта есть только один разработчик, и он активно использует эти технологии. Как я могу эффективно участвовать в этом проекте? Я не хочу «заставлять его» делать все, но именно это и происходит — я стараюсь помогать понемногу и часто изо всех сил пытаюсь сделать что-то полезное. Я объяснил ему ситуацию, а он меня сейчас как бы избегает и как бы все делает сам. Я пытался «наверстать упущенное» с ним, короткие короткие беседы, чтобы поговорить о ходе проекта, но мне кажется, что я заставляю его объяснять все, что он сделал со мной. Наверное, это его раздражает.

У нас есть полная agile-команда из 11 человек, в которую входят 2 инженера-программиста (включая меня) и технический руководитель. Мой босс (с которым я беседовал и который знает то, что я знаю/не знаю) не входит в agile-команду.

Только другой инженер-программист знает, что я не знаком с лежащими в основе технологиями (технический руководитель не знает, что я знаю или чего не знаю). Я не упускал это намеренно для кого-либо - до сегодняшнего дня я искренне думал, что смогу очень быстро изучить эту технологию, и это не будет иметь значения (ранее я быстро изучил другие технологии - С# было очень легко для меня, так как я знал java).

С одной стороны, самый простой подход : «просто изучите javascript, typescript, экспресс и программирование, управляемое событиями». По оптимистичным оценкам, на это уйдет не менее нескольких месяцев. Однако проект должен быть готов через 3 месяца. На самом деле не знаю, насколько реалистичен этот подход.

Второй подход : просто спросите другого разработчика, как лучше ему помочь, делайте то, что он говорит, держитесь подальше от него и не раздражайте его. Это может включать в себя devops, контроль качества, рефакторинг кода/удаление запахов кода и все остальное, что я могу сделать. Что ж, если я буду использовать этот подход, то меня могут воспринять как человека, вносящего минимальный вклад в проект, и я могу получить плохую оценку производительности или, возможно, даже быть уволенным.

Третий подход: сказать техническому руководителю, что я не знаю базовых технологий. В лучшем случае он снизит свои ожидания и даст мне больше свободы действий, чтобы я мог внести свой вклад по мере того, как я учусь, иначе я мог бы попасть в другую команду/проект. В худшем случае меня выкинут из команды или даже уволят.

На данный момент я пробую комбинацию первых двух подходов. Это мой лучший маршрут? Есть ли подход, о котором я не знаю? Какой подход я должен использовать здесь?

Я знаю, что не могу «спрятаться», так как любой, кто просматривает репозиторий кода (например, технический руководитель), может увидеть, что я на самом деле ничего не делаю. И это будет очевидно, исходя из того, что я сказал, что сделал или не сделал во время ежедневных схваток и других наверстываний. С другой стороны, кажется контрпродуктивным «громко объявить всем, что я ничего из этого не знаю».

«Во время собеседования мне сказали, что я могу выбрать любой язык, который захочу использовать для работы над проектом». Причастен ли человек, который сказал вам это, к текущему проекту каким-либо образом?
@ sf02, этот человек — мой босс, и он не участвует в текущем проекте.
Может быть, вам стоит поговорить с ним и напомнить ему о ваших знаниях и о том, что вам рассказали на собеседовании.
Много молчаливых отрицательных голосов по этому поводу - кто-нибудь хочет объяснить, почему отрицательные голоса? Это плохой вопрос о рабочем месте?

Ответы (1)

Вы забыли четвертый подход, а это все 3. Сначала вы говорите со своим техническим руководителем и рассказываете ему о своих недостатках. Вы даете им понять, что знаете, что вы не идеальны в проекте, и что вы готовы сделать все, что вам нужно, чтобы внести свой вклад и сделать проект успешным. Во-вторых, вы говорите с другим разработчиком и идете прямо к честности. Принимайте «дерьмовые» части проекта везде, где можете, и освобождайте их, чтобы внести максимальный вклад. Получайте их мнения и советы во время проверки кода и всегда будьте восприимчивы к отзывам об этом. В-третьих, разберитесь и начните учиться. JavaScript — это (IMO) довольно простой язык, и с опытом программирования вы сможете выполнять большинство задач, как только освоите основы.

Честность и позитивный настрой – ваши друзья здесь. Признайте свои недостатки в этой области и сделайте все возможное, чтобы компенсировать их, либо научившись превращать их в сильные стороны, либо забирая банальные задачи у других разработчиков и делая их более продуктивными. Позитивный настрой больше помогает большинству команд, чем высокоразвитые навыки. Появляйтесь, вносите свой вклад везде, где можете, и будьте готовы принимать отзывы и учиться.