Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.
Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.
Вот это главное качество: пытливый ум.
Пытливый ум – это не столько умение, сколько желание разобраться в незнакомой среде, будь то новая технология, новый проект или новые фишки ЯП.
Пытливый ум – это не врожденное, а вполне себе приобретаемое качество. До работы программистом у меня, например, его отродясь не было.
Применительно к нашей работе пытливый ум – это, зачастую, желание разобраться в том, почему же она, сволочь, не работает. Независимо от того, кто написал этот код – вы или кто-то другой.
Если вы посмотрите на любую задачу, решаемую вами или коллегами, то упрощенно она выглядит так: разобраться в проблеме, найти место для правок, внести правки.
Собственно программирование начинается только в конце цепочки, а основная часть – одно сплошное упражнение для пытливости ума. И итоговое качество решения, и скорость его создания зависят не от вашей способности писать код, а от вашего желания побыстрее понять и найти, куда этот долбаный код надо впендюрить.
Как развивать пытливость ума? Ничего сложного. Я много лет назад придумал простую стратегию:
Чтобы пацанам было не стыдно показать.
Если ваше решение не стыдно показать пацанам, то оно – превосходно. Если вы копаетесь в проблеме до упора, и вам не стыдно об этом рассказать пацанам, то вы – красавчик.
Только не превращайте эту формулировку в девиз клуба анонимных алкоголиков. Если вы ни фига не разобрались, или написали говнокод, сдались на полпути, развесили сопли и устраиваете эмоциональный стриптиз типа «я такой тупой, и не боюсь в этом признаться!», выставляя свою никчемность напоказ и ожидая, что вас пожалеют – вы, увы, ни хрена не программист.
Вот вам пример. Недавно один стажер ковырялся с задачей в достаточно сложном механизме – и технически, и методически. Копался, как я понял, целый день. В основном сам, но просил помощи и у коллег. Кто-то из матёрых посоветовал ему лезть в отладчик. Под вечер стажер дополз до меня.
Я, если честно, думал, что стажер смотрит не там и видит не то, а мне придется копаться с самого начала. Корона давила, короче. А оказалось, что стажер в одном шаге от решения. Собственно, этот шаг я и помог ему сделать. Но главное не в этом.
Главное в том, что стажер проявил пытливость ума – настоящую. Знаете, как отличить настоящую пытливость? Очень просто – когда новичок находит, или почти находит решение, двигаясь хрен пойми каким путём, с бубном и танцами, не сдаётся, не ложится кверху лапками, даже если всем вокруг он будет смешон, и «знатоки» будут поучать его советами типа «учи мат.часть» или «смотри в отладчике».
Несмотря на очень низкую эффективность решения задачи в приведенном примере, путь, пройденный стажером, пацанам показать не стыдно. В наши старые времена только такие и выживали – потому что специалистов не было, все технологии до единой были незнакомые абсолютно всем, и спасти могла только пытливость ума.
Пытливость ума одинаково часто встречается и у новичков, и у дедов. Седые волосы, куча сертификатов, многолетний опыт работы – вовсе не показатель пытливости ума. Я лично знаю несколько программистов с многолетним опытом работы, которые пасуют перед каждой сложной задачей. Всё, что они могут – писать код по ТЗ, где всё разжёвано, по полочкам разложено, вплоть до имен таблиц и переменных.
Так что, господа стажеры и новички: ваши шансы – такие же, как у старожилов. Не смотрите, что у старого дяденьки много опыта и сертификатов – пытливость ума от этого не зависит.
Что бы вы ни делали, помните – делайте так, чтобы пацанам было не стыдно показать. Самураи учили так: если ты пишешь письмо, считай, что получатель повесит его на стену. Из этого и исходите.
Стратегия «чтобы пацанам было не стыдно показать» — очень проста и легко применима в любой момент. Остановитесь хоть сейчас, хоть через час, хоть через год и ответьте – то, что вы сделали, не стыдно пацанам показать? То, как вы старались и искали решение, не стыдно пацанам показать? То, как вы каждый день бьетесь над повышением своей эффективности, не стыдно пацанам показать?
Да, и не забывайте, о каких пацанах идет речь. Это не ваш сосед по парте, не ваш менеджер, не ваш клиент. Это – весь мир программистов.
Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.
Вот это главное качество: пытливый ум.
Пытливый ум – это не столько умение, сколько желание разобраться в незнакомой среде, будь то новая технология, новый проект или новые фишки ЯП.
Пытливый ум – это не врожденное, а вполне себе приобретаемое качество. До работы программистом у меня, например, его отродясь не было.
Применительно к нашей работе пытливый ум – это, зачастую, желание разобраться в том, почему же она, сволочь, не работает. Независимо от того, кто написал этот код – вы или кто-то другой.
Если вы посмотрите на любую задачу, решаемую вами или коллегами, то упрощенно она выглядит так: разобраться в проблеме, найти место для правок, внести правки.
Собственно программирование начинается только в конце цепочки, а основная часть – одно сплошное упражнение для пытливости ума. И итоговое качество решения, и скорость его создания зависят не от вашей способности писать код, а от вашего желания побыстрее понять и найти, куда этот долбаный код надо впендюрить.
Как развивать пытливость ума? Ничего сложного. Я много лет назад придумал простую стратегию:
Чтобы пацанам было не стыдно показать.
Если ваше решение не стыдно показать пацанам, то оно – превосходно. Если вы копаетесь в проблеме до упора, и вам не стыдно об этом рассказать пацанам, то вы – красавчик.
Только не превращайте эту формулировку в девиз клуба анонимных алкоголиков. Если вы ни фига не разобрались, или написали говнокод, сдались на полпути, развесили сопли и устраиваете эмоциональный стриптиз типа «я такой тупой, и не боюсь в этом признаться!», выставляя свою никчемность напоказ и ожидая, что вас пожалеют – вы, увы, ни хрена не программист.
Вот вам пример. Недавно один стажер ковырялся с задачей в достаточно сложном механизме – и технически, и методически. Копался, как я понял, целый день. В основном сам, но просил помощи и у коллег. Кто-то из матёрых посоветовал ему лезть в отладчик. Под вечер стажер дополз до меня.
Я, если честно, думал, что стажер смотрит не там и видит не то, а мне придется копаться с самого начала. Корона давила, короче. А оказалось, что стажер в одном шаге от решения. Собственно, этот шаг я и помог ему сделать. Но главное не в этом.
Главное в том, что стажер проявил пытливость ума – настоящую. Знаете, как отличить настоящую пытливость? Очень просто – когда новичок находит, или почти находит решение, двигаясь хрен пойми каким путём, с бубном и танцами, не сдаётся, не ложится кверху лапками, даже если всем вокруг он будет смешон, и «знатоки» будут поучать его советами типа «учи мат.часть» или «смотри в отладчике».
Несмотря на очень низкую эффективность решения задачи в приведенном примере, путь, пройденный стажером, пацанам показать не стыдно. В наши старые времена только такие и выживали – потому что специалистов не было, все технологии до единой были незнакомые абсолютно всем, и спасти могла только пытливость ума.
Пытливость ума одинаково часто встречается и у новичков, и у дедов. Седые волосы, куча сертификатов, многолетний опыт работы – вовсе не показатель пытливости ума. Я лично знаю несколько программистов с многолетним опытом работы, которые пасуют перед каждой сложной задачей. Всё, что они могут – писать код по ТЗ, где всё разжёвано, по полочкам разложено, вплоть до имен таблиц и переменных.
Так что, господа стажеры и новички: ваши шансы – такие же, как у старожилов. Не смотрите, что у старого дяденьки много опыта и сертификатов – пытливость ума от этого не зависит.
Что бы вы ни делали, помните – делайте так, чтобы пацанам было не стыдно показать. Самураи учили так: если ты пишешь письмо, считай, что получатель повесит его на стену. Из этого и исходите.
Стратегия «чтобы пацанам было не стыдно показать» — очень проста и легко применима в любой момент. Остановитесь хоть сейчас, хоть через час, хоть через год и ответьте – то, что вы сделали, не стыдно пацанам показать? То, как вы старались и искали решение, не стыдно пацанам показать? То, как вы каждый день бьетесь над повышением своей эффективности, не стыдно пацанам показать?
Да, и не забывайте, о каких пацанах идет речь. Это не ваш сосед по парте, не ваш менеджер, не ваш клиент. Это – весь мир программистов.