● Сначала я работал над самыми важными элементами, например выяснил, как протестировать программу на своем компьютере, как разместить готовое приложение на рабочем сервере и тому подобное.
● Я использовал примеры из справочных пособий, чтобы приступить к делу и приобрести некоторую уверенность, затем пробовал разные подходы, выясняя, как запрограммировать нужные мне функции.
● Если я что-то делал неправильно, программа прекращала работу, выдавая мне сообщение об ошибке, что обеспечивало быструю обратную связь.
● Сделав ошибку, я пробовал несколько способов ее исправления. Если я не мог решить проблему самостоятельно, то обращался за помощью.
● Я продолжал придерживаться подхода «кодирование/тестирование/отладка» до тех пор, пока программы не были окончательно готовы.
Общее время составило около 20 часов. 10 часов заняли исследования, а оставшиеся 10 — создание двух приложений, которые в данный момент закончены и используются.
Планы на будущее
Завершив эти два начальных проекта, я продолжил писать интернет-приложения, сосредоточившись на программах, которые могли облегчить мне ведение бизнеса.
Теперь я с гордостью могу заявить: весь мой бизнес использует программное обеспечение, созданное мной самим. Мои приложения способны принимать оплату с кредитных карт, оформлять подписку, отправлять письма по электронной почте и управлять доступом клиентов к интернет-сайту. Научившись программировать, я стал владельцем собственной маленькой армии роботов, выполняющих мои приказы.
Сколько времени у меня ушло на создание всех этих программ? Приблизительно 90 часов, включая те 20, которые подробно описаны в этой главе.
А вот еще дополнительное преимущество: когда я сталкиваюсь с каким-то повторяющимся или скучным аспектом своего бизнеса, то начинаю думать в терминах программирования. Как будет работать программа, решающая эту проблему? В большинстве случаев это помогает систематизировать процесс, что значительно облегчает мне жизнь.
Кроме того, я научился некоторым новым трюкам, например настраивать свой компьютер, чтобы ускорить процесс программирования. Я запомнил комбинации «горячих клавиш» текстового редактора, позволяющие сэкономить время, а также обновил программу Terminal до iTerm2 и Z-Shell, чтобы немного облегчить программирование.
Я все еще учусь, и меня ни в коем случае нельзя назвать специалистом. Мне приходится доходить до всего своим умом, и требуется определенное время, чтобы найти правильный путь и устранить ошибки. Зачастую это вызывает раздражение.
Тем не менее я пишу программы, которые решают реальные задачи, просто и надежно. И только это имеет значение.
Я сражался с компьютером и победил.
6
Печать слепым методом
Урок: старые привычки не обязательно живучи
Хорошее дело стоит того, чтобы сначала помучиться.
Рей Конгдон
До сих пор я приобретал новые навыки в тех областях, где практически не имел опыта. Естественно, отсутствие опыта поначалу было препятствием, но мой мозг, по крайней мере, не вмешивался в процесс обучения.
А что происходит, когда вы осваиваете новый навык, а ваш мозг восстает против этого?
Можно привести поистине драматические примеры переучивания. Известно, что знаменитый гольфист Тайгер Вудс трижды менял свой свинг (удар), уже достаточно эффективный [1]. Иногда стоит научиться делать нечто важное по-новому, еще лучше — даже если это приведет к кратковременной неэффективности и раздражению.
Современные технологии меняются так быстро, что переобучение стало привычным делом. Что произойдет, к примеру, если изменится программное обеспечение, которое вы используете для работы, или появится новая программа, позволяющая решать задачу эффективнее? Что если вы устроились на новую работу, требующую нового инструментария? Зачастую быстрое переучивание не менее важно, чем обучение чему-то новому.
Мне интересно: что я буду чувствовать, заново обучаясь делать нечто важное?
Я составил список того, что уже умею делать, а затем выбрал из него навыки, удовлетворяющие двум условиям: 1) я ими достаточно хорошо владею, и 2) они предлагают несколько методов для достижения одного и того же результата. Мне не потребовалось много времени, чтобы найти подходящего «кандидата».
Навык? Печать вслепую.
Жизнь за клавиатурой
По словам Дэвида Аллена, автора бестселлера «Как привести дела в порядок», если ваша работа требует использования компьютера, то обучиться печати вслепую будет самым существенным шагом к повышению собственной производительности.
Критический порог составляет приблизительно 250 знаков в минуту. Если вы не в состоянии печатать вслепую со скоростью хотя бы 200 знаков в минуту при небольшом количестве ошибок, то серьезно снижаете производительность своей работы. Чем меньше усилий вы затрачиваете на набор текста, тем больше времени и энергии у вас остается на более важные задачи.
Я печатаю вслепую уже лет семнадцать, если не больше. В седьмом классе школы нам преподавали курс машинописи, и я помню, как это было скучно. Я уже умел печатать вслепую, поэтому выполнял задания за несколько минут, а остальное время тратил на то, чтобы заставить текстовый редактор отобразить всякие необычные символы, такие как знаки абзаца (¶), параграфа (§) или различные лигатуры.
Печатью вслепую я овладел в основном потому, что в свободное время много сидел за компьютером. Мое обучение было спонтанным, а не намеренным: я не занимался специально, чтобы повысить скорость или уменьшить количество ошибок. Я просто работал на компьютере и в процессе работы научился печатать вслепую.
Мою технику никак нельзя было назвать совершенной. Мои руки летали над клавиатурой, вместо того чтобы большую часть времени висеть над основным рядом клавиш в ее центре. Мой метод не был правильным, как в учебнике, но позволял справляться с задачей — и это меня устраивало.
Да, я печатаю непрофессионально, но зато функционально. По роду деятельности мне приходится много времени проводить за компьютером, а моей скорости и точности печати вполне достаточно для работы.
Тем не менее время от времени мне попадаются статьи об альтернативных раскладках клавиатуры: расположении клавиш, отличающемся от QWERTY, так называемой стандартной раскладки, которой снабжается большая часть англоязычных клавиатур, ежегодно выпускаемых в мире [2].
В этих статьях утверждается, что раскладка QWERTY очень неэффективна — а если точнее, просто ужасна. Существуют другие способы расположения букв на клавиатуре, которые позволяют печатать быстрее, с меньшим количеством ошибок и с меньшими затратами сил.
Тут очень важен кумулятивный эффект: печатание может вызвать или усугубить такие медицинские проблемы предплечий и запястий, как травмы, обусловленные постоянной нагрузкой, и кистевой туннельный синдром. Я еще не замечал у себя никаких симптомов, но у меня есть несколько друзей с подобными проблемами. Я бы хотел по возможности избежать этих болезней.
Я собираюсь еще много лет писать книги и программировать, и если распознавание речи или чтение мыслей вскоре не станут главными способами общения с компьютером, то в обозримом будущем мне придется продолжать набирать текст на клавиатуре. Возможно, мне пойдет на пользу, если я научусь печатать самым эффективным из возможных методов, даже если придется пережить временное снижение производительности и дискомфорт.
Прощай, QWERTY: я собираюсь переучиваться печати вслепую.
Как раскладка QWERTY стала «универсальным» стандартом
Вопреки распространенному мнению, раскладку QWERTY не придумывали для того, чтобы замедлить скорость печати; это был способ устранения проблем механики пишущих машинок.
В прошлом, до появления текстовых редакторов и компьютеров, текст набирался на механических пишущих машинках, в которых литерный рычаг прижимал маленькую металлическую литеру к бумаге, туго обернутой вокруг цилиндра. Между литерой и бумагой была протянута чернильная лента. Литера ударяла по ленте, которая прижималась к бумаге, оставляя отпечаток символа. Переводной рычаг вызывал поворот цилиндра, бумага перемещалась вверх, и печать продолжалась с новой строки.
К. Л. Шоулз, которому приписывают создание раскладки QWERTY, сконструировал свой первый прототип в 1868 году. Шоулз не был первым изобретателем пишущей машинки — до него эту задачу пытались решить не меньше пятидесяти инженеров, и Шоулз внимательно изучил их работы, применив многое из придуманного ими в своей конструкции [3].
На первом прототипе Шоулза клавиши располагались в алфавитном порядке, что было не лишено смысла. В то время никто не мог вообразить, что люди будут (или даже смогут) печатать вслепую всеми десятью пальцами. Расположение клавиш в алфавитном порядке помогало неопытным пользователям, печатавшим двумя пальцами, найти нужную букву.