Если кто-то «борется» с программированием или же просто изучает что-то сложное, этот пост может дать ему некого рода надежду.
Я обучался компьютерным наукам и могу программировать на нескольких языках, так почему же, когда люди говорят мне, что я классный разработчик, у меня ощущение, что они неправы? Обычно я отвечаю что-то вроде:
«Я не классный, я просто сижу за этим занятием чуть дольше… вы можете делать так же.»
Забавно что те, кто говорят мне, что я хорош, обычно не разработчики. Это напоминает мне историю Джули Чжо «Синдром самозванца», которая, в действительности, перекликается со мной. Она пишет о времени, когда она изучала программирование, и все в ее классе обсуждали, сколько времени у них заняло домашнее задание. Большинство говорили несколько часов максимум, а затем Джули написала, сколько времени это заняло у нее:
«Двадцать часов. Вот сколько времени это заняло у меня. Я не сильна в этом. Неужели я и правда одна из вас?»
Это было в точности, как это было у меня. Я на удивление плох в математике, и программирование никогда не давалось мне с легкостью, в сравнении с однокурсниками — я весь год постоянно занимался без намека на личную жизнь и мучился даже с написанием «Привет мир» и system.out.println() (очень базовыми вещами на Java), не говоря уже о дополнительных заданиях. Я думал, что я покончил с математикой в старших классах и что программирование представляет собой рисование фигур на экране (а не набор текста в черно-белом терминале!)
Было много раз, когда я чувствовал, что это не для меня, но мне нужно было учиться, потому что я любил все эти удивительные вещи, которые воплощает программирование — от построения моих личных проектов и игр до экспериментов с различными эффектами и анимацией.
По факту, вспоминая мою первую работу программистом, я всегда буду помнить, как ведущий разработчик рассказывал мне, как сильно я отличался от рядовых разработчиков. Он говорил как хорошо, что я не заботился о коде, как большинство других программистов, что было чем-то, что я не мог понять до конца. У меня не было никаких сомнений насчет моего кода, говорили мне, я буквально ни о чем не беспокоился. Вот тогда я осознал, что бэкэнд не для меня и бросил эту работу ради фриланса и своих собственных проектов, в которых была моя страсть.
Код был просто посредником, с помощью которого я мог создавать великолепные вещи, каким нельзя было назвать фактическое качество моего кода. Я не говорю, что это не важно, но я не мог заботиться об отступах, использовании camel-нотации или структуре проекта, пока все это позволяло мне сделать что-то интерактивное, что могло привлечь конечных пользователей.
Кроме того, с течением времени ты все-таки замечаешь, как нужно структурировать код, но, честно, это не такая необходимость, о которой я бы беспокоился. То же самое касается и фреймворков, не важно что это react, angular, backbone, polymer или что-то еще. Вам не нужно учить их все, просто знайте о них, и выбирайте тот, который подходит для ваших нужд.
Хотя я изучал компьютерные науки, я до сих пор обнаруживаю, что только тяжелый труд даст вам продвинуться так далеко — в конечном счете вы ударитесь о потолок, где логика и математика ограничат вас технически как инженера, но по крайней мере не творчески.
Похожий принцип, возможно, может быть применен и к другим дисциплинам. Наличие образования в чем-то может означать что вы можете сделать что-либо, но оно не всегда означает, что вы лучший в этом и наоборот. Это может отбить охоту, когда это происходит в программировании, но я бы сказал, любой может программировать на достаточно хорошем уровне, если он действительно хочет учиться, а также имеет причину и мотивацию делать это.
Способность придумать идею, дизайн и набросать эскиз, чтобы затем воплотить это в реальный продукт была для меня причиной, чтобы учиться.
Автор: spendlively