Почему неуверенность в себе делает вас лучшим программистом?

0
1247
views

Есть много статей о том, как разработчикам, особенно начинающим, бороться с синдромом самозванца. То есть, с состоянием, когда им кажется, что сами они как специалисты так себе, в отличие от окружающих. Но возможно, неуверенность в себе, как составляющая этого синдрома, не столь уж вредна? Итамар Тернер-Трауринг в своей статье «Why lack of confidence can make you a better programmer» доказывает, что недостаток уверенности в себе лучше, чем избыток. Приводим перевод статьи.

Неуверенность в себе может идти на пользу

Что, если вы чувствуете, что вы не суперпрограммист? Если уверены, что другие люди работают дольше и/или усерднее, чем вы, а их проекты лучше ваших? Можно ли добиться успеха без уверенности в себе? Я считаю, что да. Больше того: я думаю, что недостаток уверенности в себе на самом деле способствует совершенствованию в профессиональном плане.

Проблема самоуверенности

Быть уверенным в себе человеком лучше, чем неуверенным. Уверенность в собственных силах позволяет вам браться за новые вещи и помогает убеждать окружающих в вашей значимости. Людям кажется, что уверенный в себе человек точно представляет собой нечто особенное. Разве был бы он так уверен, если бы на самом деле не был стоящим специалистом?

Но на практике необоснованная уверенность в себе может приносить вред. Программы обычно бывают гораздо сложнее, чем нам кажется, и создавать их труднее, чем можно было бы подумать. Если мы слишком самоуверенны, мы можем решить, что наша программа работает, даже если это не так.

Когда я был молод, я страдал излишней самоуверенностью. Писал нерабочие или плохо спроектированные программы, а недостатки в них видел только тогда, когда становилось слишком поздно их исправлять. Плодами моих трудов были программы, падавшие в 4 утра, патчи в open source проектах, которые вообще не работали, проваленные проекты, из которых я не извлекал полезных уроков.

Как программист я стал лучше только тогда, когда научился сомневаться в себе и в создаваемых мной программах.

Хорошие программисты и неуверенность

Почему хорошие программисты не уверены в себе

Почему сомнения в своих силах и недостаток уверенности в себе делают вас лучшим программистом?

Когда мы пишем программы, мы практически всегда выходим за рамки той сложности, при которой можем полностью удержать в голове все аспекты нашего ПО. Это означает, что мы всегда сомневаемся в своей способности выловить все проблемы и найти самое лучшее решение.

Поэтому мы обращаемся к коллегам за советом, пишем тесты, делаем ревью кода. Все это делается с целью предотвратить провалы, которые без подобных действий были бы неизбежны:

  • «Дизайн у меня не слишком хорош», — думаете вы и идете обсудить свой дизайн с коллегами, чтобы вместе найти лучшие идеи.
  • «В моем коде могут быть баги», — говорите вы и пишете тесты, чтобы найти эти баги и предотвратить появление новых.
  • «Возможно, в моем коде все еще есть проблемы с пользовательским интерфейсом», — предполагаете вы и начинаете вручную тестировать свое веб-приложение, проверяя все edge cases.
  • «Я мог о чем-то забыть», — кажется вам. Вы отдаете свой код на ревью и получаете рекомендации коллег, помогающие улучшить ваш код.

Эти вопросы, обращенные к себе, сомнения в своих действиях и решениях дают вам возможность стать лучшим профессионалом и браться за все более сложные программы. Тесты, ревью кода и все прочее должны всегда быть нашими спутниками, потому что наши способности к пониманию ограничены.

Конечно, вы можете страдать и от излишней неуверенности в себе и слишком строго судить себя. Но, поскольку все мы люди, мы склонны допускать ошибки. И если вы хотите, чтобы ваши творения были успешными, лучше проявлять недостаток уверенности. Тестируйте ваш код, ищите, не пропустили ли чего, и принимайте помощь от окружающих.