- PVSM.RU - https://www.pvsm.ru -

Программист ли я, или просто хорошо гуглю?

Программист ли я, или просто хорошо гуглю? - 1

Письмо Скотту Хансельману

«Иногда в моей голове звучит вопрос — действительно ли я разработчик или просто хорошо гуглю. Я не знаю правильного ответа — я гуглер или разработчик. Скотт, пожалуйста, помоги мне выяснить»

От переводчика

Всем привет, с вами Максим Иванов, и сегодня мы поговорим об одном из постов Скотта Хансельмана [1] (Scott Hanselman), который он написал по причине довольно серьезного и хорошо сформулированного письма к нему. В общем-то, меня вдохновила одна из статей на нашем ресурсе под названием Google-oriented programming [2]. Больше всего мне понравилось то, что в программистах порой может появиться синдром самозванца. Конечно, труды Хансельмана не единственны в этом мире с точки зрения психологии, но он дает четко нам понять, что это нормально. Как он пишет: «Но вот в чем дело. Мы все иногда чувствуем себя обманщиками. Мы все обманщики. Это часть роста. Мы попадаем в ситуации, которые немного сложнее того, с чем мы можем справиться. Но мы справляемся с ними, мы не обманщики, и мы двигаемся к следующему испытанию.» Так давайте же разберемся, какие решения и выводы Скотт предлагает нам в своем посте. Приступим.

Простые правила

Вопрос, который был адресован мне, заслуживал ответа. Я написал об этом в блоге [3] и ответил этому человеку на почту ссылкой.

На самом деле, я чувствовал то же самое, когда садился играть в видеоигры. Вам тяжело прогрессировать, когда уровни становятся сложнее. Каждый мой уровень был на волоске, и я всегда спрашивал себя: «разве я заслуживаю того, чтобы пройти этот уровень? Я не уверен, что смогу сделать это снова.»

Такое ощущение, что ты немного не в себе, когда слишком много думаешь. Кажется, что вода попала тебе в нос, однако ты вовсе не тонешь.

Во-первых, помните, что вы не одиноки. Я уверен в том, что мы растем, когда выходим за пределы своей зоны комфорта. Если это не ломает нас напрочь.

Во-вторых, все, что вам нужно это хорошо практиковаться. Есть Code Katas [4] (упражнения в программировании, которые помогают программисту отточить свои навыки с помощью практики и повторения). Есть проект Эйлера [5], там появляются нерешенные проблемы чуть ли не каждую неделю.

В-третьих, попробуйте программировать в течение дня без погугливания. Затем два дня, может быть, неделю. Оцените, как вы себя чувствуете. И помните, что было такое время, когда мы программировали без копирования своей работы.

В-четвертых, думайте о проблеме глубже [6]. Читайте об алгоритмах, читайте лучшие книги по программированию и проектированию [7]. Вместо того, чтобы бездумно копировать код со Stack Overflow или копировать код крутого программиста.

В-пятых, принимайте участие в конференциях [8]. Присоединяйтесь к социальным группам пользователей, встречайтесь с теми, кто двигает технологии вперед. Будьте гибкими.

А что вы думаете?

Популярные комментарии на habrahabr

koceg [9]:

Я стараюсь много читать, причём книги из самых разных областей программирования. У меня нет цели запомнить всё или начать использовать эти знания на следующий день. Моя цель — расширять кругозор, чтобы когда появится необходимость, я знал в какую сторону копать. А сам этот процесс всегда начинается с поисковика.

splatt [10]:

Я программирую вот уже почти 10 лет, и я признаюсь вам честно — за все это время я не дочитал ни одной книги по программированию. Я просто начинаю засыпать, когда читаю их, и усвоение материала начинает стремиться к нулю. В результате начинаешь просто пролистывать и искать то, что тебе более интересно и понятно. Мне кажется, это личное предпочтение. Лично мне вот не нравится сам формат книги, но я с удовольствием посмотрю видеоуроки и полистаю официальную документацию, что бы «включиться» в новый фреймворк или технологию. Для меня это тоже самое, что и книга, но гораздо быстрее. Ну и да — никакая книга не заменит вам практику, технику «просто возьми и начинай что-то делать (тестовый проект, todo list, и тд), решая задачи по мере поступления».

Scf [11]:

С позиции опытного разработчика:
Гуглить что?
Чаще всего я гуглю тексты ошибок и куски стектрейсов
Затем — тёмные или подзабытые места фреймворков типа "hibernate declare composite key". Если мне нужно начать использовать новый фреймворк, я предпочту потратить день и прочитать официальную документацию.
И никогда — чужой код. Чужой код при решении проблем нужен только для того, чтобы изучить те API, которыми он пользуется для решения проблемы.
Исключение — это реализация достаточно сложных алгоритмов типа BCrypt, но и там не стоит брать первый попавшийся кусок.

Вкратце: гуглить надо прежде всего чужой опыт и чужие впечатления. Знания лучше по-возможности получать из документации, а код — писать самому или брать известные библиотеки.

vlreshet [12]:

Старый анекдот:

Физику, математику и инженеру дали задание найти объём красного мячика.
Физик погрузил мяч в стакан с водой и измерил объём вытесненной жидкости.
Математик измерил диаметр мяча и рассчитал тройной интеграл.
Инженер достал из стола свою «Таблицу объёмов красных резиновых мячиков» и нашёл нужное значение.

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

Комментарии к оригинальному посту

Советую перейти по ссылке [13], там вы найдете содержательные и качественные комментарии разработчиков по данному вопросу нашей с вами темы.

К прочтению:

1. Является ли гугление плохой практикой? [14]
2. 10 лучших сайтов с головоломками для программистов [15]
3. Коаны о программировании [16]
4. Питер Молинье о своей карьере [17]
5. Is Googling a bad practice for doctors? [18]

Автор: splincodewd

Источник [19]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/programmirovanie/121910

Ссылки в тексте:

[1] Скотта Хансельмана: http://www.hanselman.com/

[2] Google-oriented programming: https://habrahabr.ru/company/geekbrains/blog/301306/

[3] в блоге: http://www.hanselman.com/blog/AmIReallyADeveloperOrJustAGoodGoogler.aspx

[4] Code Katas: http://codekata.pragprog.com/

[5] проект Эйлера: https://projecteuler.net/

[6] думайте о проблеме глубже: http://www.hanselman.com/blog/ProgrammingsNotForYouHowAboutThinkingBeEmpowered.aspx

[7] лучшие книги по программированию и проектированию: http://www.hanselman.com/blog/SixEssentialLanguageAgnosticProgrammingBooks.aspx

[8] принимайте участие в конференциях: http://getinvolved.hanselman.com/

[9] koceg: https://habrahabr.ru/users/koceg/

[10] splatt: https://habrahabr.ru/users/splatt/

[11] Scf: https://habrahabr.ru/users/Scf/

[12] vlreshet: https://habrahabr.ru/users/vlreshet/

[13] перейти по ссылке: http://www.hanselman.com/blog/CommentView.aspx?guid=bcef7dc7-9ed9-4eb4-ac06-242ad91f855a#commentstart

[14] Является ли гугление плохой практикой?: http://programmers.stackexchange.com/questions/191524/is-googling-every-code-a-bad-practice

[15] 10 лучших сайтов с головоломками для программистов: https://new.vk.com/wall-101965347_13897

[16] Коаны о программировании: https://habrahabr.ru/post/147148/

[17] Питер Молинье о своей карьере: https://vc.ru/p/peter-molyneux

[18] Is Googling a bad practice for doctors?: http://lw-consult.com/healthcare-it-consulting/is-googling-a-bad-practice-for-doctors/

[19] Источник: https://habrahabr.ru/post/301674/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best