Навыки программирования очень сложно оценить. Знание языка, вообще, почти не коррелируют с уровнем программиста. Знание паттернов — тоже. Частота использования гугла — тоже. Я, например, будучи программистом 10 лет, все еще по каждой мелочи пользуюсь гуглом, и так будет всегда.
Хорошего программиста определяет умение качественно решать, различного рода, задачи. Чем лучше программист, тем шире список решаемых им задач, и тем лучше качество решений, но и это все не объективно.
Единственное, что могу посоветовать — поискать ответы на вопросы
такого рода.