Начну с того, что проблема в том, используете ли вы правильную парадигму для работы?
Предположим, вы знаете, как выполнять объектно-ориентированное программирование на C #. Я не думаю, что скачок в Java настолько велик. Хотя вам придется ознакомиться с библиотеками и синтаксисом, идея довольно похожа.
Если в вашем проекте есть процедурные части, такие как синтаксический анализ файлов и различные преобразования данных, ваши макросы Perl / Excel кажутся довольно похожими.
Но для решения ваших проблем, прежде всего, вам понадобится ясность в коде. Поскольку ваши сотрудники используют несколько языков, они не будут знакомы со всеми языками в равной степени. Поэтому убедитесь в этом:
1) Синтаксический сахар объясняется в комментариях. Сахар довольно специфичен для конкретного языка и может быть неочевиден для нового читателя. Например, в VBA я, кажется, помню, что есть свойства по умолчанию, так что TextBox1 = "Hello" - это то, что вы пишете вместо TextBox1.Text = "Hello". Это может сбивать с толку. Кроме того, такие вещи, как операторы LINQ, могут иметь неочевидные значения. Поэтому убедитесь, что у людей есть комментарии для чтения.
2) Там, где два компонента из разных языков должны работать вместе, подробно описать, как это происходит. Например, однажды мне пришлось написать компонент C, который будет вызываться из Excel VBA. Там приведены несколько шагов и возможные ошибки в этом, особенно в отношении флагов компилятора. Убедитесь, что обе стороны знают, как происходит их взаимодействие.
Наконец, что касается найма людей, я думаю, вам нужно найти людей, которые не состоят в браке с определенным языком. Точно говоря, наймите умного человека, который видит проблемы с бизнесом, а не код. Он скоро выучит жаргон.