вторник, 19 января 2016 г.

Опять про опыт использования

Читая форумы регулярно возникает ощущение, что начинающим программистам очень важна технология, которая (как им кажется) резко повысит их уровень при приеме на работу. Отчасти это так - знание  широко используемых инструментов является важным. Но почему-то часто за рамками остается такой крайне важный вопрос, как опыт использования. Мало уметь просто хорошо забивать гвозди - следующим (и крайне важным) шагом является понимание КУДА эти гвозди надо забивать.

На мой взгляд, отличие опытного программиста от начинающего заключается в первую очередь в умении использовать инструменты в НУЖНОЕ время и в НУЖНОМ месте. Просто знать все возможности пакета мало.
Не думаю, что я вспомню все API того же Hibernate или Spring. Да и написать с нуля аннотации для EJB я без подсматривания вряд ли смогу. Но что важно - я точно понимаю где тот или иной инструмент будет давать мне удобство и существенный выигрыш при разработке, расширении и поддержке продукта.
Техническая документация часто является обычным справочником и достаточно хорошо отвечает на вопрос "что есть в пакете ?", но ответ на вопрос "как использовать это умение ?" в технической документации достаточно часто остается за скобками - вам надо самим понять, "куда забить оказавшийся у вас в руке гвоздь".
Опытный программист легче принимает и запоминает новые возможности за счет того, что он видит, где эти возможности он мог бы использовать. Задачи и сложности, которые он когда-то решал, показывают сильные и слабые стороны новых инструментов. Хотя и не всегда.
Поэтому крайне важно накапливать свой опыт - такие знания крайне сложно набрать путем чтения документации. Единственный надежный путь - что-то делать самостоятельно, набирать опыт. Удачи.

Комментариев нет:

Отправить комментарий