Бинарник вообще не бинарник

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

Как говорит Роберт Фрост, неизбранный путь изменил все (возможно, на данный момент это клише). Но Роберту Фросту следовало бы стать программистом, и его стихотворение, вероятно, получилось бы немного по-другому. Что-то вроде: «Я взял тот, по которому меньше ездили, и все равно получил 403». Это может показаться каламбуром, но бинарный подход к решениям никогда не является реальным решением.

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

Вот что я заметил в них:

  1. Отсутствие ошибок: если код не работает, это не всегда является нарушением, а иногда это может быть даже не человеческая ошибка. Кто знает? Вы могли бы узнать что-то.
  2. Если сначала у вас не получится…: Может быть, попробуйте еще раз завтра, и это может решиться само собой (нет, правда)
  3. Логическое мышление — это хорошо, но креативность — лучше.

Почему Winging – это правильный подход

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

Вот тут-то я и обнадежился. Нужно ли мне, спрашивал я себя, внезапно стать гением математики и логики? Ну да и нет. Думать о структурах проблем и эффективном решении вплоть до простейших паттернов — это еще не все, что вам нужно. Как только вы усвоите это, дело в том, что при работе человек создает свои собственные проблемы, которых даже не было с самого начала. И единственный способ считаться с ними - это быть творческим.

Когда я начинал, я понятия не имел, что такое командная строка или оболочка. Я и понятия не имел, что с компьютерами можно разговаривать на их родном языке. Я знал это в теории, но заставить машину что-то делать для меня или со мной отличалось от всего, что я испытывал раньше. В этом есть что-то уникальное: машина не работает на вас и не работает вместе с вами. Вы работаете с этим. И это то, что каждый должен испытать однажды (я не говорю о колледже). Я понятия не имел, что такое CSS и HTML, не говоря уже о JavaScript, React или практически о чем-то еще. Я не знал разницы между фронт-эндом и бэк-эндом: не то, что они делали, для чего они были.

Однако я не растерялся. Передо мной была очень определенная дорога, то есть она была заранее определена для меня. Моя цель состояла в том, чтобы отредактировать руководство на 300 страниц, объясняющее программирование среднего уровня. Справился ли я с заданием? Мне некому было ответить на этот вопрос, кроме меня самой. У меня синдром автоматического самозванца, который я оставлю на будущее.

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

Какого хрена я это делаю?

Правда, может быть очень, очень трудно не воспринимать знания старшего разработчика как должное, и именно здесь я вступаю в игру. Я вместе с компанией (и моими товарищами по команде) хочу записать это путешествие и рассказать вам, читатели, со мной через кропотливое искусство кодирования. Да, я сказал «искусство». Я делаю это, потому что знаю, что нужно для понимания абстрактных концепций и как концептуализировать конкретные приложения. Я считаю, что понимание является таким же правом, как и образование. Я также делаю это, потому что это просто весело.

Я научился играть на фортепиано в семь лет. Когда я совершал ошибку, я так злился и расстраивался, что стучал кулаками по случайным клавишам. Пока однажды я не сломал один из красивых ключей моей бабушки из слоновой кости. Ноты я научился читать через год, в восемь, и в том же году написал свое первое музыкальное произведение (называется оно «Осенние листья» — не спрашивайте).

Несколько лет спустя, в 27 лет, я уже не плачу, не нервничаю и не стучу по своей дорогой аналоговой клавиатуре. Я просто перехожу к StackOverflow, потому что могу поспорить, что кто-то уже получил такое же сообщение об ошибке из двадцати строк, которое выглядит так, как будто оно нуждается в экзорцизме.

_____________________________________________________________
Если вы хотите присоединиться к веселью, прочитайте об этом здесь, на сайте MathisonLearns.