Как отличить хорошего программиста от новичка? Может быть, стоит посмотреть на его работы или заглянуть в резюме? Практика показывает, что некоторые айтишники не способны меняться даже с годами. Вот тут и возникает главная проблема – как отличить профессионала от обычного сисадмина.
Узнать о проблеме
Когда ты еще молодой и только начинаешь свой путь, все проблемы решаются очень просто. Вообще, отличить реального программиста от новичка достаточно просто. Для этого нужно посмотреть на алгоритм его работы.
Итак, как работает плохой программист:
· Выявляет проблему.
· Пытается ее локализовать.
· Если не получается – находит решение в интернете.
· Пытается пофиксить проблему.
Вы заметили, насколько простой и малоэффективный алгоритм работы? В определенных ситуациях его можно оправдать, если проблема локальная. Печально, когда так начинает работать специалист с опытом не менее пяти лет.
Настоящий профессионал не только постарается найти проблему и локализовать ее, но и попробует уточнить, что вызвало неисправность. Как сделать так, чтобы проблемы больше не было. Только после этого можно фиксить ошибку и выходить на конечный результат.
К чему все это написано?
На самом деле все очень просто. Хороший программист может писать медленнее новичка, но он всегда вникает в корень проблемы. Опытный айтишник имеет больше способностей к абстрактному мышлению. А вот это уже интересный показатель, который практически нельзя выработать с годами и опытом.
Опять же, специалист всегда пишет более надежные и сложные программы. Хотя это не показатель и даже гуру программирования совершают ошибки. Тут главное — понять, может ли айтишник учиться на собственных ошибках, находить оптимальные пути решения из самой закрученной ситуации.
И самое главное – хороший программист в несколько раз производительнее нормального специалиста. Кроме надежности и опыта, он имеет еще один значимый показатель: высокий уровень коммуникации. Он тратит меньше времени и сил на поиск проблемы, но больше внимания уделяет ее решению.
Выходить за рамки теории, использовать на практике весь полученный опыт – вот еще одна важная составляющая хорошего программиста. Именно такие люди пишут программы, которые становятся не просто известными, а приносят реальную пользу. Написать обычное приложение может каждый, а оставить след в истории только единицы.
Всегда решайте проблемы комплексно, стараясь выходить за рамки. Не уходите от проблемы в поисках быстрого решения, а ищите связанные и похожие ошибки. Вот тогда вы сможете стать настоящим гуру.