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

Мой опыт.

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

Кратко, как было у меня. Изначально, кажется в 2009-ом году, когда нужно было много ездить по разным встречам, я предпочитал небольшие ноутбуки. В частности, у меня был 13-дюймовый ноутбук (BenQ T31) с достаточными на тот момент характеристикам для компиляции и запуска IDE. Продержался я на нем не так долго, т.к. на маленьком экране и компактной клавиатуре не очень удобно работать. Выходил из положения подключением внешнего монитора (кажется 21-дюймовый Samsung) и клавиатуры.
probook
Через некоторое время я заменил BenQ на HP Probook 4720s и отправил старый ноутбук на дачу. Новый ноутбук был полноценной боевой машиной весом больше трех килограмм с 17-дюймовым экраном и нормальной полноразмерной клавиатурой. В целом машиной был доволен, но пришлось приобрести специальный большой компьютерный рюкзак.

Работать на выезде у заказчика и в поездках стало почти также комфортно как и за рабочим столом. Приблизительно в это же время я перестал работать дома и переехал в коворкинг (на ДЗ Флакон) с фиксированным рабочим местом. При этом от стационарного монитора и клавиатуры я не отказался. Правда я заменил Samsung на ViewSonic чуть большей диагонали.

Через некоторое время я взял новый ноутбук ASUS G550JK серии ROG (Republic of Gamers).asus Старый ноутбук я отдал племяннику, он на нём учится программировать. Новый ноутбук хоть и был из игровой серии (Asus ROG) именно эта модель получила много негативных отзывов от геймеров, поскольку в нем не самая мощная видеокарта. Для моих задач, как программиста это было не важно, главное было то, что в нем стоит неплохой процессор (i7) и 16 Gb памяти.

Через некоторое время я сменил внешний монитор ViewSonic на DELL с 24". Замена мне понравилась. Старый ViewSonic показал себя не с лучшей стороны, первые полтора года отработал без проблем, но потом пару раз сломался, даже пришлось обратиться в гарантийным отдел. Я редко обращаюсь в сервис, обычно не чиню, а просто покупаю новое оборудование и перестаю пользоваться изделиями этого бренда, просто у этого монитора оказалась очень длительная гарантия, но тем не менее, думаю в ближайшее время ViewSonic-ами пользоваться не буду.

Что касается периферии - мышек и клавиатур, то я меняю их достаточно часто (раз-два в год). Любимые бренды - A4Tech, Logitech и Microsoft. Кстати кто не знает, у микрософта в линейке клавиатур и мышек всегда имелись неплохие модели. Сейчас работаю на Microsoft Wireless Comfort Desktop 5000, уже больше года. Пока это для меня самая удобная клавиатура.

В такой конфигурации я проработал около года, потом опять всё немного поменялись и я перестал таскать с собой ноутбук на встречи, клиенты стали чаще приезжать сюда в коворкинг. Спустя несколько месяцев у меня оказалась без дела рабочая станция на DELL и я решил переехать с ноутбука на стационарный компьютер. Для того чтобы принять это решение пришлось себя немного "поломать". Сложно было принять рациональное решение, тем не менее из плюсов - еще лучше железо, больше свободного места на столе и самое главное, не нужно вечно таскать как черепашка-ниндзя на своей спине рюкзак с ноутбуком. После этого у меня началась настоящая "Dolce Vita!" для программиста.

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

Вот так выглядит мое рабочее место.
desktop

Мои друзья.

Безусловно такое непостоянство в смене компьютеров возможно является следствием моего темперамента или типом личности. Например, мой друг купивший где-то в конце 2000-ных(!) Thinkpad T520 остается ему верен до сих пор. Безусловно это отличная модель, с хорошими характеристиками, четким линиям и выразительными чертами в дизайне. Второй его ноутбук, это Asus ROG, стилизованный под спорткар Ламборгини, обладает ещё большей маскулинностью. Это тяжелая брутальная заряженная машина сделанная в черно-матовом дизайне. Он тяжелый, массивный и очень резвый.

Если взять другой пример, например вы хрупкая девушка-программист, которая пишет мобильные приложения под iOS и выбираете ноутбук, то в таком случае нужно брать MacBook (или какой-нибудь другой компьютер от Apple). Это будет самый правильный способ и если не хочется каких-то острых извращений, то для эффективной разработки iOS-приложений компьютеры Apple будут самым нормальным решением. Плюс конечно, макбуки это просто красиво и у них действительно неплохая аппаратная платформа. Хотя ничто не идеально, сломаться может всё что угодно, а ремонт мака может обойтись существенно дороже обычного pc.

Другими словами, всегда нужно выбирать компьютер "под себя".

Про успешные компании.

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

Пришлось перелопатить интернет. Нашлось несколько форумов и сайтов, на которых обсуждают в каких условиях работают программисты в Google и других софтверных компаниях.

Если кратко, в Google - стационарные компьютеры с 24 или 30 дюймовыми мониторами. Операционка - Linux (Ubuntu). Если ноутбуки - то МакБуки (Apple) или ThinkPad-ы (Lenovo).
В фейсбуке - макбуки + внешний монитор (DELL).
В Микрософте хорошо заряженные рабочие станции (HP или DELL) с большими мониторами.

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

Тем не менее, нужно всегда соотносить свои желания с реальными возможностями. Как мне сказала одна знакомая, после очередного собеседования в московской конторе: "Я понимаю, когда Гугл или Микрософт спрашивает дебильные вопросы про круглые канализационные люки и у них многоэтапные собеседования.. Но эти ...!? Они же ни разу не гугл, не яндекс и не касперский. Это какая-то шарашка, которая живет на подачки от какого-то инвестора или пилит какой-то безумно мутный проект а-ля 'фейсбук только для белых пушистых животных'. Тем не менее на собеседовании — пафос, понты и идиотские вопросы. Почему так?".

Суть в том, что всегда нужно смотреть сколько есть денег, для чего нужен компьютер и действительно стоит ли он этого? Другими словами стараться не забывать, кто Google, а кто совсем "не Google". Почти всегда, даже на бюджетный компьютер со скромными характеристиками, можно поставить Xubuntu (Ubuntu + XFCE) и работать.

Советы.

Итак, при выборе ноутбука следует обратить внимание на следующие характеристики:
Память. Например 8 Gb, желательно 16 Gb.
Хороший процессор. Например i7.
SSD-диск. Если нет - ничего страшного, но если есть - лучше брать с ним.

(!) Естественно это актуально на момент публикации. Через некоторое время это будут уже устаревшие данные. Для веб-разработки видеокарта не так нужна. Для GameDev - только если разрабатывать определенного вида игры. Если писать под iOS - нужно брать мак.

Если берете ноутбук нужно обратить внимание на клавиатуру. Иногда некоторые кнопки (например Ins) могут требовать дополнительного нажатия Fn-кнопки, в итоге пользоваться некоторыми горячими клавиши (Alt-Ins, Ctrl-Ins и тд) будет неудобно, они из двух буквенных становятся трех буквенными (а это неприятно).

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

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

Вместо послесловия.

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

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