Продуктивность разработчика обычно ограничивается тем, насколько быстро мысли переводятся в код, но скорость печати — это еще не все.

Скорость набора текста в словах в минуту (слов в минуту) — это, вероятно, первое, что приходит на ум, когда мы думаем о том, как мастер-джедай будет кодировать, но написание кода — это гораздо больше, чем просто набор слов. Большинство языков программирования имеют свой синтаксис, основанный на символах, которые требуют набора нажатий клавиш Ctrl, Alt и Shift, что большинство смертных никогда не считало возможным.

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

Когда разработчик достиг нирваны набора текста, набор текста больше не прерывает мыслительный процесс, поэтому скорость набора текста имеет значение.

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

Если вы осмотритесь в своем офисе, вы также можете заметить, что большинство людей, которых считают хорошими разработчиками, также быстро печатают. Есть исключения, но скорость печати обычно является признаком опыта программирования. Это неосознанный побочный эффект. Чем дольше вы занимаетесь кодированием, тем быстрее вы печатаете. Чем быстрее вы печатаете, тем быстрее вы сможете реализовать свои идеи и получить от них опыт. Успешный или нет.

Но скорость печати — это еще не все, когда речь идет о быстром кодере…

Скорость набора навигации является ключевым моментом!

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

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

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

Эти навыки применимы не только к разработчикам и связанным с ними ролям. Роль, которая в значительной степени зависит от манипулирования электронными таблицами Excel, получит большую пользу от изучения ее ярлыков.

Подсказка. Знаете ли вы, что в браузере вы можете щелкнуть ссылку с помощью кнопки прокрутки, и эта ссылка откроется в новой вкладке? Это означает, что больше не нужно щелкать правой кнопкой мыши ссылку и выбирать «Открыть ссылку в новой вкладке».

Как вы можете стать профессионалом?

Я видел людей, использующих самые странные инструменты (например, Total Commander или Vim), и удивляюсь, почему любой здравомыслящий человек может использовать такую ​​​​вещь… ну, эти люди обычно являются профессионалами, использующими ее. Они быстрее, чем большинство из нас, использующих любой другой инструмент для того же эффекта.

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

Вывод

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

Тем не менее, не судите о разработчике по скорости печати. У Стивена Хокинга, одного из самых блестящих умов нашей новейшей истории, БАС разрушил большую часть его двигательного контроля. В течение многих лет его единственным интерфейсом с компьютером была камера, которая фиксировала моргание, а позже — подергивание щеки. При самой низкой скорости печатания он мог писать примерно 1–2 слова в минуту. Тем не менее, ему все же удалось написать около 20 книг и 200 публикаций.