Если в дебри не лезть, то человек в исходной теме не отличает статические методы от динамических. Чтобы это поправить достаточно прочитать книжку/прослушать базовый курс по любому ОО языку. Java вполне подойдет.
А вот нужна ли ему фундаментальная подготовка (чтобы грамотно написать например целый новый модуль, с большим количеством классов и нетривиальными расчетами) сильно зависит от обстоятельств. Может он в ПМы уйдет ч/з полгода
P.S. Пионерский / велосипедный код правда бесит. Особенно когда он свой.