воскресенье, 2 сентября 2012 г.

Не будите программиста!

dilb1

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

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

Ну вобщем хватит предъистории. Как работает программист.

Работа программиста - это СОН.

Звучит нелепо, правда?

Если вы хотите представить что именно делает программист во время работы, то легче всего это представить именно так. Он спит!

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

Это вы думаете что программист взял задачу, написал программу и задача решилась. Всё не так.

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

Для решения задачи программисту приходится стать в своём сознании и лабиринтом, и искомым выходом, и заблудившейся девочкой, и тем перстом что ведёт её куда-то, и теми камушками которые она разбрасывает по дороге чтобы узнавать уже пройденные места. Всё это СНИТСЯ программисту во время работы.

Я не фигурально выражаюсь. Это БУКВАЛЬНО снится. Программист при решении задачи виртуально живёт в создаваемом мире химер, похожих каким-то образом на условия решаемой задачи.

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

Большинство людей процесс засыпания воспринимают как определённый ритуал. У кого-то он довольно короткий, а у кого-то довольно сложный и длинный. У кого что. Кому-то надо непременно почитать перед сном, кто-то не засыпает если тридцать приседаний не выполнит перед тем как лечь. Так или иначе отход ко сну у каждого происходит по своему и это не просто ЧИК - и заснул. Хотя бывает у некоторых и так.

Вот тоже самое и в работе программиста. Процесс начала работы это тоже самое. Программист не может просто сесть и начать работать точно также как вот вы не можете сказать себе "СПИ УЖЕ СКОРЕЙ!" и отключиться. И общего какого-то способа тоже нет, как нет его в ритуале засыпания.

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

Это ведь ещё и меняется со временем. Сегодня вот вы легли спать и всё - уже сладкие грёзы. А завтра ворочаетесь час, два, три и ну никак. Тоже самое и в работе программиста. буквально тоже самое.


Ну и что делать всвязи с этим?

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

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

Представили?

Вот это именно так выглядит для нас - программистов. БУКВАЛЬНО ТАК.

Это вам со стороны кажется что вы просто подошли и спросили который час.

А давайте я вас подойду и спрошу в три часа ночи который час?
Чего страшного-то? Ну и что такого что вы только что заснули?
Я просто спрошу, вы ответите и спите дальше. Чего такого-то?

Так легче понять я думаю будет. На таком примере.

Вот вы представляйте что от вашего сна зависит ВСЁ! Всё при всё. Вот от того как вы сегодня поспите зависит будет завтра чего дома жрать или нет. Зависит будет ваша дочть замужем или нет. Вырастет ваш сын неудачником или добьётся чего-то в жизни. Всё это зависит от того как продуктивно вы сегодня поспите.

Представили?

И вот вы собираетесь начать этот сон. Этот вот самый сон от которого ВСЁ зависит и вы это отчётливо осознаёте.

Скажите вот теперь. Как насчёт спать и одновременно немножко, краем глаза разговаривать, чуть чуть помогать сыну решать арифметику, немножко подглядывать в телевизор и чуть чуть так совсем немного съездить в магазин? Не на долго...

Как спится, сладко?

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

Вы бы так смогли КАЖДЫЙ ДЕНЬ?

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

Хотите?

Призодите работать программистом в нашу контору. Получите в полной мере!

Хотя не всё так трагично. Конечно есть люди которые способны кимарить просто постоянно. Водители такие бывают что чуть-ли не на каждом сфетофоре способны чуток вздремнуть. Ну вы знаете - им чуть бибикнуть приходится чтобы вернуть к жизни. Наверняка вы знакомы с такой ситуацией.

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

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

Ну потому что отвлекают постоянно. Потому что БУДЯТ же бля постоянно! Потому что люди не понимают что ты же спишь и что их ебучая менеджерская "организационная" активность она на самом деле только мешает работать. Большинство людей НЕ программистов этого не понимают.

Я надеюсь что осознав аналогию работы программиста со сном может быть люди лучше поймут как надо обходиться с программистами и откуда вообще берутся хорошие программы. Поймут наконец что вот этот ебучий ЖЖ - это то что пишу и читаю ПЕРЕД СНОМ. Вот также как вы. Вы не можете спать пока неначитаетесь или пока телевизор не насмотритесь. Не можете ведь?

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

Хотите хороших программ?

Хотите чтобы ваш муж-программист был успешен и заработал все деньги?

Хотите чтобы ваши подчинённые программисты наконец-то сделали всё как надо?

Тогда вот вам простой рецепт:

НЕ БУДИТЕ СЛИШКОМ ЧАСТО ПРОГРАММИСТА!


PS взято отсюда

понедельник, 20 августа 2012 г.

А насколько ваш agile настоящий?


Познавательный чек лист который позволяет оценить насколько проектный agile сходится с истинным agile'ом (который естественно никто никогда не видел).

вторник, 31 июля 2012 г.

пятница, 27 июля 2012 г.

Самая востребованная профессия в US по сумме критериев– IT Architect

best_job

2010

Нашел забавный рейтинг профессий от 2010 года упорядоченный по сумме критериев high pay, quality of life, job growth. Итак что же мы видим? По деньгам лидируют медики, а вот по сумме критериев (включающих удовлетворение от работы) – Айтишники.

list1

2011

Еще похожий рейтинг перспективных профессий за 2011.

2012

И рейтинг самых востребованных IT позиций (в основном WEB) за 2012й. 3е место – неплохо..

Digital-Creative-Jobs-Salary-Guide

вторник, 24 июля 2012 г.

G1 GC включен в стандартную JRE 7.0

garbage-collectors

Начиная с версии 1.7.0_04-b22 мы получаем хороший функциональный сборщик мусора который “меньше” тупит, имеет хорошую производительность и не замораживает приложение. Для высокопроизводительных серверов он наверно не подойдет, но как generic алгоритм он очень хорош.

 

Вот выдержка из презенташки.


Старые алгоритмы GC:

Serial GC
- последовательная сборка молодого и старого поколений

Parallel GC
- максимальный throughput
- параллельная сборка молодого и старого поколений

Concurrent Mark-and-Sweep
- предсказуемость
- частичная сборка в фоновом режиме

Новый G1
- собирает всю кучу а не только ее части
- способен тратить предсказуемое количество времени для полной сборки
- может выполняться в несколько потоков
- не подвержен фрагментации

 

 

Еще по теме

 

 

 

JUG.ru 31.05.2012 - Владимир Иванов - Garbage-First Garbage Collector from Alexey Fyodorov on Vimeo.

вторник, 27 марта 2012 г.

Популярные языки разработки

Судя по статистике самый мейнстрим это Java, С#, C++, PHP.

Но всегда интересно посмотреть на детали.

 

TIOBE Software рисует такой топ-20.

language-popularity

 

На Github’е только “модные” языки в топе

languages-on-github

 

F(stackoverflow , github)

А эта картинка самая интересная: по вертикали статистика вопросов по языку на http://stackoverflow.com , по горизонтали популярность на http://github.com .

Хорошо заметно “пустоты” разделяющие мейнстрим ( а следовательно и $$$ ) от нишевых \ редких языков программирования.

edd645c58791a0dcbbe956bb39a441c1

четверг, 22 марта 2012 г.

Сказка О Проекте Века


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

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

Для надежности Начальник решил выполнять оба плана, и каждому назначил руководителя проекта. Руководитель Долгого проекта начал каждый день оттягивать яйца, тщательно записывая данные о длине оттяжки. Первые три недели все шло прекрасно, яйца оттягивались на 3 миллиметра дальше каждый день, и руководитель Долгого проекта уверенно рапортовал, что проект будет закончен досрочно, за два с половиной года. Почему-то после четырех недель прогресс замедлился и яйца начали оттягиваться сначала всего по миллиметру, а потом и вообще перестали. Начальник был недоволен, но не хотел менять руководителя проекта и терять с таким трудом оттянутые сантиметры.


С Быстрым проектом все обстояло еще хуже. Первый руководитель проекта погиб в первом же тестовом испытании стула. Руководитель, назначенный ему на смену, немедленно забраковал стул и начал искать новый. После трех месяцев поисков стула, Начальнику закралась мысль о некомпетентности руководителя и он стал искать замену. Дело это оказалось совсем непростым. Внутренние кандидаты отказывались под различными предлогами, с трудом найденный внешний кандидат уволился через неделю, найдя менее оплачиваемую работу подальше от дома. Ссылаясь на недостаток талантливых руководителей, Начальник скрепя сердце закрыл Быстрый проект и перекинул все силы на Долгий.

Долгий проект тем временем был полностью переработан. Руководитель Долгого проекта предписал оттягивать яйца всем сотрудникам, все ежедневно замерялись и записывались на доску. Раз в месяц победителю выдававался денежный приз, а второму и третьему месту - купоны в столовую. Несмотря на растущие призы, прогресс к третьему месяцу сильно замедлился. Начальник заходил раз в неделю поорать на руководителя проекта. "Идиоты!", вопил он, "Ничего нелья поручить! Хоть все самому делать!". Руководитель хмуро кивал головой, и понурые сотрудники качали ему в такт полуметровыми яйцами...

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

пятница, 9 марта 2012 г.

Компьютер для программера

Рано или поздно пора покупать новые железки.

Этот процесс сопровождается торговлей с внутренней жабой, которая рано или поздно соглашается что железки то нужны топовые! )))

frog1

frog2

 

итак что вошло в upgrade

 

процессор Intel Core i7-2600K, 3.40ГГц, 8МБ, LGA1155, OEM,

разгоняем до 4.7Ghz попутно подымая напряжение до 1.35В http://www.thg.ru/cpu/overclocking_core_i7_2600k/overclocking_core_i7_2600k-01.html

215981

 

кулер потолще для него же Scythe Mugen 3 Rev B, SCMG-3100, Socket 1155/1156/1366/2011/775/AM2/AM3/FM1

c1c2c3c4

корпус Thermaltake Chaser MK-I, VN300M1W2N, MidiTower, ATX, черный

cas1cas2cas3cas4

видео Palit GTX590, GTX590, 3072МБ, GDDR5, Retail

gtx1gtx2gtx3gtx4gtx5

в планах докупить вторую..  вдохновил вот этот обзор http://www.overclockers.ru/lab/41317/Dve_golovy_horosho_a_chetyre_Sli_i_Crossfire_na_Radeon_HD_6990_i_GeForce_GTX_590.html

блок питания ATX Thermaltake ToughPower Grand TPG-1200MPCEU 1200W

bp1bp2bp3bp4bp5bp6bp7

Материнская плата Gigabyte GA-Z68XP-UD3, Z68, Socket 1155, DDR3, ATX

2x PCIx16, SATA3.0, SATA RAID

mb1mb2mb3mb4

память DIMM DDR3, 16ГБ (4x4ГБ), Kingston HyperX Genesis, XMP, KHX1600C9D3K4/16GX

dimm1dimm2

диск SSD 256ГБ, 2.5", SATA III, Crucial M4, CT256M4SSD2

ss3ssd1ssd2

диск HDD 2ТБ, 3.5", 7200об/мин, 64МБ, SATA III, Seagate Barracuda 7200.14, ST2000DM001

hdd1hdd2

звуковая карта Creative AUDIGY SE Value [SB0570] PCI Retail

audigy1audigy2audigy3audigy4

 

 

поскольку попутно в прошлом году докупалась и разная периферия то вот она ниже

 

клава – самая обычная genius за 5$

kb-1kb-2

правильный монитор на 120hz – Samsung 2233RZ / 120Hz/ 1680x1050 / TFT http://www.fcenter.ru/online.shtml?articles/hardware/monitors/26377

mon1mon2

 

мышь Logitech G5 / Laser  http://www.ixbt.com/peripheral/logitech-g5.shtml

OLYMPUS DIGITAL CAMERA         OLYMPUS DIGITAL CAMERA         OLYMPUS DIGITAL CAMERA         OLYMPUS DIGITAL CAMERA

 

Коврик Razer Goliathus Speed  http://www.razerzone.ru/product/soft_mats/goliathus_speed

goli1goli2goli3goli4goli5

 

гарнитура\уши Razer Carcharias  http://store.razerzone.com/store/razerusa/en_US/pd/productID.169415800

carch1carch3carch4

 

 

 

Собственно вот и всё. Улыбка