Несколько идей по повышению личной продуктивности веб-разработчика

в 16:14, , рубрики: Веб-разработка, продуктивность, Софт, метки: , ,

Несколько идей по повышению личной продуктивности веб разработчикаПольза, которую человек приносит обществу, с одной стороны, крайне субъективна, с другой — по ней оценивается зарплата, вклад в историю, авторитет и многие другие «аспекты» жизни человека. Причём, конечность времени жизни заставляет нас за то же время делать больше или делать то же за меньшее время. Переходя от философии к практике, я хочу представить несколько идей, которые я попробовал, и которые помогли мне повысить свою продуктивность.

Данные идеи я применял как веб-разработчик, но некоторые из них будут полезны и в других областях — дизайне, работе с данными и т.д.

На протяжении моей карьеры, меня раздражали две вещи:

  1. Медленное железо. Популярные CMS, особенно кривые CMS, особенно PHP-Nuke, с которым я познакомился на заре своей молодости, обычно довольно тормозные. Серверный код тяжёл, страницы слишком велики, скриптов и стилей, в том числе неиспользуемых, мегабайты. Да, такое бывает… И чем слабее железо, тем больший ад работать в таких условиях.
  2. Необходимость переключать окна. Это было раздражающим, когда у меня был ЭЛТ-монитор на 17 дюймов (1024х768), это было раздражающим даже когда монитор стал иметь разрешение 1680х1050, даже FullHD не сильно спасает ситуацию — практически во всех рутинных задачах веб-разработчика приходится переключать окна.

Для того, чтобы решить эти проблемы в разное время я испробовал (и применяю до сих пор):

  • SSD. Я поставил твердотельный накопитель на первое место, т.к. именно от него у меня был наибольший восторг при установке. Работать — именно работать, а не слушать музыку и смотреть фильмы — стало намного комфортнее. Те, кто уже используют SSD, наверняка со мной согласятся, многочисленные тесты показывают — в современной системе (даже Core 2 Duo достаточно) замена процессора не даст такой прибавки к производительности, как SSD. Плюс в данный момент (лето 2012), структура рынка накопителей такова, что в условный домашний компьютер можно докупить SSD как системный или кэширующий диск за относительно небольшие 2-3 тысячи рублей, а на основной носитель информации придётся затратить около 4-х тысяч (цена за 2Тб модель), то есть SSD из дорогой игрушки постепенно трансформируется в системный диск, который используют многие.
  • Мощь. Быстрый носитель информации хорош, но когда дело касается исполнения скриптов, открытия множества программ, хранения большого количества информации, в дело вступают другие компоненты компьютера. Важно, чтобы система не тормозила из-за одного слабого компонента — будь это процессор, объём памяти или даже доступ в Интернет. Важно соблюдать баланс — если компьютер не используется для игр, мало смысла покупать геймерскую видеокарту, лучше эти деньги вложить в другие компоненты — тот же SSD.

    Очень важно следить за объёмом занимаемой оперативной памяти. Нехватка памяти будет вынуждать компьютер использовать своп-файл, который по скорости на порядки ниже оперативной памяти, при этом сейчас ОЗУ стоит копейки — 4Гб можно взять за символические $25, поэтому если RAM не хватает — обязательно докупите ещё плашку-другую, благо сейчас это действительно дёшево.

    И, конечно, процессор. По роду своей работы мне иногда приходится выполнять некоторые долгие операции — генерация миграций, импорт-экспорт базы данных, обработка данных и т.д. Многие из операций (особенно при использовании SSD) упираются в процессор. Однако при выборе процессора также важно соблюдать баланс — если используемое приложение однопоточное, будет мало смысла от многоядерности процессора, да и в многопоточных не всегда всё очевидно, особенно если сравнивать процессоры от AMD и Intel. Также, свежее поколение не всегда настолько лучше предыдущего, сколько за него просят. И, конечно, разгон. Сей интереснейший процесс позволяет выжать максимум из имеющегося в наличии куска кремния. Конечно, к нему необходимо подготовиться, в том числе морально — камень можно просто убить. Впрочем, риск — дело благородное.

  • Два монитора. Это просто супер. Восторга от этого было не меньше, чем от SSD, да и пользы тоже весьма немало. Два монитора позволили видеть одновременно макет в PSD и свёрстанный, код скрипта и результат его работы и т.д. Причём, сейчас практически у всех компьютеров есть возможность подключать как минимум 2 монитора, в том числе ноутбуки имеют возможность помимо основного дисплея подключать 1 внешний. Увеличить количество подключаемых мониторов можно используя современные продвинутые видеокарты (4-6 мониторов), подключая дополнительные видеокарты-затычки (ещё 2-3 монитора), либо используя USB-HDMI видеокарты. В данный момент я использую такую на своём лаптопе. Со временем, когда Thunderbolt обретёт популярность, проблема подключения более 1 монитора к ноутбуку сойдёт на нет, т.к. TB позволяет подключать мониторы цепочкой к одному порту.
  • Выделенный сервер. Если вы работаете на ноутбуке, как я, иногда его мощей может просто не хватать — для этих целей у меня стоит отдельный мощный системник на 4-х-ядерном процессоре с большим объёмом памяти. Это не самое выгодное вложение средств, особенно для разработчика-одиночки, однако при командной разработке, либо при необходимости использования железа более мощного, чем ноутбучное, это практически необходимость.
  • IDE. Просто экономит время.
  • Виртуальные машины. Одна из самых полезных вещей, с которыми я сталкивался. Позволяет тестировать софт в разных окружениях, под разными ОС, в разных ресурсных условиях и т.д. При этом, VirtualBox, например, бесплатен.
  • Быстрый софт. Со временем наши любимые программы имеют свойство зарастать жиром, начинают тормозить, отставать от рынка по фичам и т.д. Такие тулзы приходится менять на что-то более удобное. Первое время, конечно, непривычно, однако со временем привычка приходит, и выбор становится оправданным. Одно время я не хотел менять FF на Chrome, однако решился и не пожалел, аналогично было с переходом NetBeans -> PHPStorm.
  • Continuous Integration. Весьма полезная вещь, особенно для командной разработки — позволяет быстрее увидеть проблемы, настроить единообразное окружение, ускоряет деплой — в общем, в купе с другими штуками типа виртуальных машин, тестов и т.п. позволяет хорошо экономить время на неинтересных вещах.
  • Последнее по списку, но не по значимости — Тишина. Работая в спокойной обстановке, меньше сил тратится на отвлекающие факторы. Однако, совсем закисать тоже не стоит, конечно. И, естественно, тишина полезна программисту в работе над требующей концентрации задачей, но и общаться с коллегами, делиться опытом тоже полезно, главное — чтобы это не занимало всё рабочее время.

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

Автор: Angerslave

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js