История о том, что заставило меня изменить свои фундаментальные убеждения в отношении голосования

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

Мне было непонятно, как кто-то мог подумать, что их голос на что-то влияет. Вы - всего лишь капля в море, и когда единственное голосование решало исход выборов? Зачем беспокоиться? Я был уверен, что применил совершенно новую критическую мысль по этому вопросу, которую овца просто не мог понять ... фу, письмо, которое просто заставило меня почувствовать как такая задница от имени моего подросткового «я», мне очень жаль.

Перенесемся на 8 лет вперед - мне 26 лет, и в моей жизни многое изменилось. У меня чудесная жена (привет Оливия!), Дом, очаровательная собачка по кличке Ньютон.

и модная работа старшего ребенка в фирме по разработке программного обеспечения, пишущей код для веб-приложений. Одна вещь, которая не изменилась? Вы угадали - я по-прежнему против голосования в принципе. Я все еще не зарегистрирован, я все еще планирую никогда не регистрироваться. Мало ли я знал, бомж бум буууууумм… Ладно, может быть, это не так уж драматично, но вы понимаете, я скоро передумаю.

В течение 2016 года я сильно вырос как программист. Я пошел по несколько странному пути, чтобы попасть в кодирование, еще одна история, которой я, вероятно, расскажу позже, но достаточно сказать, что я в основном перешел от ничего не знающего о написании кода к тому, чтобы научиться хотя бы прилично в этом вопросе за относительно короткий промежуток времени. В значительной степени это произошло благодаря опеке гораздо более опытного коллеги, ставшего менеджером и другом, который очень рано привил мне важность написания хорошего кода. С этого момента я буду называть его E.

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

В строке 38 у вас нет оператора break в вашем цикле for, поэтому вы в конечном итоге тратите время на итерацию по всей коллекции, даже если вы найдете то, что вам нужно.

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

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

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

Пока мы с E развивали профессиональные отношения как коллеги, а также как наставники / подопечные, мы также становились хорошими друзьями. Мы обедали вместе почти каждый день, и одним из его правил обеденного перерыва было то, что мы не говорили ни о чем по работе, что может быть на удивление трудным, когда вы обедаете в комнате отдыха. К счастью, мы оба всегда чувствовали себя комфортно, говоря практически обо всем, поэтому запрещенных тем для разговоров кроме работы было не так много.

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

Я не раз вспоминаю, как после того, как мы закончили обсуждение архитектуры кода, в которое мы вошли с разными мнениями о том, как что-то должно быть построено, он сказал мне окончательно: «Если бы это был я, я бы сделал это так, но я оставьте окончательный выбор, как это сделать, за вами. Может быть, тебе стоит взять то, о чем мы только что говорили, и поразмыслить над этим некоторое время, прежде чем ты решишь ». Это была такая нелепая фраза, и это стало для нас чем-то вроде затыкания, когда мы посоветовали другому «поразмыслить над этим в своем сердце» более или менее о любом решении, которое должен был принять другой.

Обсуждение причин, по которым я не голосую, в обеденное время было похоже на обсуждение того, над чем E хотел бы я задуматься в глубине души. Неужели я серьезно задумывался над этой темой с подросткового возраста? Насколько вероятно, что мои взгляды останутся прежними, когда изменилось так много всего? - Мне показалось, что, может быть, настало время мне действительно подумать об этом.

В течение следующих 2–3 недель я поговорил со своей женой и E о том, что выбросили мои два разума. С одной стороны, конечно, вы уже являетесь частью системы, так что вы можете сказать свое слово. С другой стороны, я не знаю, мой голос просто аннулируется кем-то, с кем я не согласен, и это все равно не имеет значения. Я просто продолжал придумывать причины для обеих сторон внутреннего диалога, и моя позиция по умолчанию заключалась в том, чтобы ничего не делать… вот что верна нулевая гипотеза? (нет, это не так)

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

Я работал над задачей, в которой я изменял довольно старый код, чтобы расширить функциональность для нового варианта использования, с которым мы столкнулись. Я сидел за своим столом, читал этот устаревший код шестилетней давности и становился все более обеспокоенным с каждым проходящим блоком кода. Какого черта вы скопировали и вставили эту функцию 3 раза, чтобы каждый раз она могла принимать другой числовой тип - о DRY слышал никогда! Какого черта эта переменная называется coinBenAccumDiff ??? Что это вообще значит? О, конечно, вы не писали тестовый класс, зачем вам писать тестовый класс для класса с 2091 строкой ... подождите, черт возьми, в этой штуке 2091 строка! Вы никогда не думали, что это становится неуправляемым и, может быть, вам стоит провести некоторый рефакторинг?

Я просто сидел и пытался обдумать это, чтобы решить, как лучше всего исправить это, прежде чем я даже подумал о добавлении дополнительных функций. Затем меня осенила небольшая мысль: Я просто хочу, чтобы Джо-разработчик-6-летний назад подумал обо мне, когда решил, что копировать и вставлять эту функцию 3 раза было лучшим решением. Почему люди не могут просто потратить немного дополнительных усилий, чтобы по-настоящему задуматься о том, что они делают? чтобы действительно спроектировать решение так, чтобы вся кодовая база была лучше. То, что я чувствовал, как будто я видел, было трагедией общин, когда Джо разработчик-6-лет назад решил сделать с кодовой базой то, что было проще всего для его как личности за счет тех неприятностей, которые это доставило бы мне сейчас.

Однако мои мысли на этом не закончились - в течение предыдущих недель, когда я находился в состоянии покоя, я много размышлял о своих основных убеждениях о голосовании. В этой небольшой вспышке несколько разжигающей ярость мысли о плохо написанном коде мой мысленный контекст слился с осознанием того, что я делал то же самое, что и Джо. Я выбрал то, что было проще, что принесло наибольшую пользу мне за счет группы. Когда я не голосовал и не участвовал в нашей демократии, я внес такой же вклад в Трагедию общин, как Джо сделал с кодовой базой моей компании. Если бы я мог быть возмущен ленью Джо, которая полностью противоречила всему, что я полюбил в коде, работающем под E, то как я мог позволить себе не придерживаться того же стандарта, когда дело касалось голосование?

Я немедленно открыл свой веб-браузер, зашел на страницу регистрации избирателей в Колорадо и зарегистрировался для голосования. За считанные минуты я полностью отменил убеждение, которого придерживалось более десяти лет. Затем я открыл окно чата с E и рассказал ему, что только что произошло. Казалось, что это будет разговор, на который я, возможно, захочу однажды оглянуться, поэтому я сохранил его постфактум, чтобы я мог оглянуться на него:

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

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