<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Блог об IT бизнесе &#187; Время</title>
	<atom:link href="http://victorronin.com/category/vremya/feed/" rel="self" type="application/rss+xml" />
	<link>http://victorronin.com</link>
	<description>Несерьезные мысли о серьезном бизнесе от Виктора Ронина.</description>
	<lastBuildDate>Thu, 11 Mar 2010 00:48:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Продуктомысль.</title>
		<link>http://victorronin.com/2009/11/03/produktomysl/</link>
		<comments>http://victorronin.com/2009/11/03/produktomysl/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 22:13:29 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Деньги]]></category>
		<category><![CDATA[Продукты]]></category>
		<category><![CDATA[Старт бизнеса]]></category>

		<guid isPermaLink="false">http://victorronin.com/?p=346</guid>
		<description><![CDATA[Давным-давно на заре своего блога я написал статью о том, как выбрать какой продукт делать.  Хотя в целом статья правильная, добрая и умная, но сейчас я вижу, как многое было мной сделано допущений и упрощений, учитывая отсутствие реального опыта ведения продукта.
Сейчас, после где-то 9 месяцев (с перерывами) с начала разработки продукта, уже таки набил [...]]]></description>
			<content:encoded><![CDATA[<p>Давным-давно на заре своего блога я написал <a href="http://victorronin.com/2007/12/19/7-punktov-kak-vybrat-produkt-kotoryj-stoit-delat/">статью о том, как выбрать какой продукт делать</a>.  Хотя в целом статья правильная, добрая и умная, но сейчас я вижу, как многое было мной сделано допущений и упрощений, учитывая отсутствие реального опыта ведения продукта.</p>
<p>Сейчас, после где-то 9 месяцев (с перерывами) с начала разработки продукта, уже таки набил достаточно шишек, чтобы более взвешено взглянуть на выпуск продукта.</p>
<p>Так, что комментирую свою же старую статью. Сначала, пытался прокомментировать по пунктам, потом осознал, что у меня к всем пунктам один и тот же комментарий, который я повторяю снова и снова. И таки решил не мучать вас девятикратным повторение.</p>
<p>Просто напишу пункты из той статьи, к которым комментарий относится</p>
<p>>6) Идея должна быть размеров, которые можно потянуть<br />
>2) У идеи должен быть рынок.<br />
>1) Идея должна решать реальную проблему.<br />
>5) Идею нужно иметь возможность сделать лучше чем конкуренты.</p>
<p>Охохонюшки&#8230;.  Я с своим продуктом конкретно влип по всем статьям.</p>
<p><a href='http://victorronin.com/category/dengi/'>Деньги</a> и время, деньги и время, деньги и время&#8230; Блин, эту мантру нужно повторять каждый день. В тот момент, когда она наконец дойдет до мозга, наступит счастье.</p>
<p>Даже супер идея и супер реализация не доведенная до конца вероятнее всего будут стоить ровно круглый нолик. </p>
<p>С самого начала нужно планировать бюджет  &#8211; денег и времени. И все с двукратным запасом, так как и то и другое выбьется из под контроля.<br />
Никаких мечтаний о миллионе крутых фич и кучи мелких красивостей &#8211; четкий и холодный расчет&#8230; Даже, для продукта, который по вашему мнению займет сделать всего один месяц. Еще раз &#8211; деньги и время, деньги и время.</p>
<p>Так вот &#8220;деньги и время&#8221; должны стать коэффициентом, на который вы должны домножить абсолютно все. Есть идея, которая должна покорить рынок в 5 миллиардов баксов? А теперь домножьте на свои накопления в  $123  и по полчаса в день по вечерам, которые вы собираетесь вложить. Умножили? Так вот, результат равен нулю.</p>
<p>Этот самый коэффициент точно также относится относится и к тому, что идея должна решать реальную проблему. Может ваша идея и решает<br />
проблему, но вот реализация = идея*(деньги+время). И если второй множитель маленький, прощай решение проблемы. </p>
<p>Аналогично и с конкурентоспособностью.</p>
<p>Так, что повторяю еще раз &#8211; деньги и время. </p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2009/11/03/produktomysl/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>О тупых программистах.</title>
		<link>http://victorronin.com/2009/01/30/o-tupyx-programmistax/</link>
		<comments>http://victorronin.com/2009/01/30/o-tupyx-programmistax/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 20:30:41 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Деньги]]></category>
		<category><![CDATA[Менеджмент]]></category>
		<category><![CDATA[Мысли вслух]]></category>
		<category><![CDATA[О большом и малом]]></category>
		<category><![CDATA[Персонал]]></category>
		<category><![CDATA[Эффективность]]></category>

		<guid isPermaLink="false">http://victorronin.com/2009/01/30/o-tupyx-programmistax/</guid>
		<description><![CDATA[Осторожно, очень много букв  
Есть у меня один очень умный друг, которого абсолютно не возможно переспорить   Причем не из-за того, что он применяет какие-то нечестные метода спора, а просто потому, что количество знаний в его голове помноженные на его умение ими оперировать оставляют меня далеко позади  
Кстати,  именно он подкинул мне [...]]]></description>
			<content:encoded><![CDATA[<p>Осторожно, очень много букв <img src='http://victorronin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Есть у меня один очень умный друг, которого абсолютно не возможно переспорить <img src='http://victorronin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Причем не из-за того, что он применяет какие-то нечестные метода спора, а просто потому, что количество знаний в его голове помноженные на его умение ими оперировать оставляют меня далеко позади <img src='http://victorronin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Кстати,  именно он подкинул мне идею (был ее автором) самой моей любимой серии статей про <a href="http://victorronin.com/2008/01/04/programmistskij-sinxrofazotron/">программистский синхрофазатрон</a>.</p>
<p>И вот, собственно, смирившись с невозможность победить в online споре, я решил перейти в offline режим, где смогу детализировано рассмотреть проблему.</p>
<p>Ну, и о проблеме&#8230; Этот самый друг, очень хороший программист &#8211; высшего пилотажа. И с его высоты большое количество программистов кажутся откровенно плохими. Но суть спора даже не о том, плохие они или нет, а выгодно ли фирме иметь этих программистов или не выгодно. И вот тут у нас как раз и разошлись мнения.</p>
<p>Он высказал идею, что такие программисты приносят только убыль. Я же высказал мнение, что программиста нельзя  так просто отнести к категории приносящих прибыль или убыль (даже если ответ кажется абсолютно интуитивно точным) и что не так уж плохи с точки зрения компаний, даже слабые программисты.</p>
<p>Естественно, в такой формулировке, самая большая проблема определиться, кого мы называем хорошим или плохим программистом, а уж потом взяв плохо пытаться выяснить его ценность для фирмы.</p>
<p>Так, вот, попытаюсь перенести спор чуть в другую плоскость, в которой можно будет не определять границ между плохими и хорошими программистами. Что я попытаюсь показать, что есть определенная категория программистов, которая с точки зрения хорошего программиста приносят только убыль, а с точки зрения предпринимателя приносят прибыль. И второе, что хочу показать, что при определенных условиях эта категория программистов будет достаточно большой. Собственно, в случае такого различия естественно программистская точка зрения о качестве других программистов будет гораздо менее ценной, так как будет является вторичной. Я имею в виду, что если оценка программистов не совпадает с тем, что приносит деньги фирме, то ее можно использовать разве что для самовыражения нелюбви к плохим программистам, но не для принятия бизнес решений (например увольнения).</p>
<p>Итак начнемс&#8230;</p>
<p>Приведу три точки зрения. Первая &#8211; точка зрения программиста, вторая точка зрения менеджера, третья &#8211; точка зрения предпринимателя.</p>
<p>С точки зрения хорошего программиста Пети. Работа выглядит так<br />
- Васе дали задачу, которую Петя мог сделать за 5 часа<br />
- Вася поморочил Пети голову 2.5 часа, чтобы понять как ее сделать<br />
- Вася проработал над задачей 20 часов пока не сделал<br />
- Пете еще 2.5 потом пытается привести в порядок, то что натворил Вася</p>
<p>- Качество результата вышло хуже, чем если бы Петя делал сам.</p>
<p>Из этого следует, что если мы Васю уволим, то Петя потратит на эту задачу 5 часов и сделает (вместо объяснения, как ее делать), а фирма в результате потратит меньше денег. Вывод, Вася плохой программист и имеет отрицательную эффективность (только вытягивает на себя деньги).</p>
<p>Знаю, что есть задачи, которые плохие программисты может вообще не смогут сделать. Но чаще всего процент таких задач небольшой и их таки отдают хорошим программистам.  На остальных задачах чаще всего можно таки найти соотношения сколько часов плохой программист потратит своих и чужих, чтобы решить задачу.</p>
<p>Теперь с точки зрения менеджера, который должен контролировать результаты, бюджет, сроки. Я бы даже сказал, менеджера близкого по духу к предпринимателю.</p>
<p>Менеджер мыслит примерно так (естественно не с такими детальными выкладками)</p>
<p>Итак у нас есть две системы (два программиста), на входе задачи (требования) и деньги и на выходе код выполняющий требую функциональность. Зафиксируем требования (включая функциональность и качество) и будем измерять сколько понадобиться денег пустить в систему, чтобы получить одинаковый результат. Ну и соотношение того, сколько нужно одному программисту денег на выполнение и другому и есть соотношение их эффективности.</p>
<p>Ну, пожалуй, если хотеть в эту формулу еще можно добавить время. Например за дополнительную длительность выполнения задачи засчитывать какие-то дополнительные штрафные суммы.</p>
<p>Кстати, входные деньги &#8211; это не только деньги на зарплату программисту, но и на например покупку книг, или оплату другому программисту время консультаций и т.п.</p>
<p>Как результат, если мы возьмем очень эффективного программиста и начнем относительно него измерять других программистов, мы обнаружим, что другие программисты могут быть скажем от 2 до 50 раз менее эффективны.</p>
<p>Кстати, заметьте я сказал &#8211; самого эффективного, а не самого лучшего. Вполне возможно, что лучший программист получает большую зарплату (из-за обширных знаний в разных областях и хорошее знание проекта), но на конкретной задаче не может быть гораздо быстрее чем просто хороший программист. Тогда, соответственно, его эффективность будет чуть ниже (но это не столь важно, чаще всего таки самый лучший программист является и самым эффективным).</p>
<p>Ну и просто, для того, чтобы показать, что значит в 50 раз менее эффективны. Это значит, что хороший программист задачу сделает за 1 неделю, плохой программист за 1 год.</p>
<p>Небольшое замечание по измерению оценки. Программист оценивает других программистах в терминах &#8220;на&#8221; &#8211; Вася сделает туже задачу _на_ X долларов дороже чем я, поэтому Вася не нужен. Менеджер измеряет в терминах &#8220;в&#8221;. Вася сделает туже задачу _в_ Y раза дороже.</p>
<p>Теперь следующий шаг в оценках менеджера. Пусть мы знаем, что задача которая подается программистам на вход должна принести скажем $10k. Самый эффективный программист на ее решение тратит $1k. Из этого следует, что все кто эффективны менее чем в 10 раз, будут тратить больше $10k и значит, что они приносят фирме уже только убыль. И чем больше они работают, тем большую убыль приносят. Так, что их таки можно увольнять.</p>
<p>Возвращаясь к Васе. Пусть Вася по этой формуле оказался в 4 раза менее эффективным. Тем не менее, с решенной задачи мы все еще имеем $10k &#8211; $4k = $6k прибыли.<br />
Хотя безусловно, если Васю уволить, то получится $9k прибыли.</p>
<p>То есть Вася таки малоэффективен, но если он будет поменьше потреблять времени Пети, то почему бы нам и не оставить Васю работать, так как с него идет прибыль.Плюс, Вася подстаховывает нас на случай болезни или ухода Пети.</p>
<p>То есть, если у него эффективность жуткая (в 7 раз хуже, чем у Пети), но работает он автономно и Петю не трогает вообще, то тогда, получается, что они вдвоем могут приносить $10k-$1k (Петя) + $10k-$7k (Вася) = $12k. А если Васю уволить, то прибыль падает до $9k.</p>
<p>Ну и теперь с точки зрения предпринимателя.</p>
<p>Базируем ее на точки зрения точке зрения менеджера. Только введем некоторые дополнительные параметры.</p>
<p>- Во первых требуемое качество &#8211; это не константа, а некий диапазон. В целом программа должна находится внутри диапазона, но каждая ее задаче не обязательно должна находиться в нем.</p>
<p>Итого, когда у нас диапазон качества, в абсолютно условных цифрах от 3 до 5. То вполне возможно, Вася сделал бы задачу с качеством 3 с той же эффективность, которое Петя делает задачу с качеством 8 (с одной стороны такое качество просто и не нужно, с другой стороны Петю ругать за дополнительное качество тоже было бы странно, да и плюс именно из-за Пети в целом программа не выпадает из диапазона).</p>
<p>Заметьте, как мыслит программист</p>
<p>а) Берется факт о случившейся ситуации где эффективность другого программиста была низкая</p>
<p>б) Из факта делается индукция, что у программиста всегда эффективность низкая (индукция тут не совсем правильна, но в целом, конечно вывод получается правильный, что у программиста низкая эффективность)</p>
<p>в) Но самое важное, что вся ситуация рассматривается с точки зрения, что плохой программист всегда потребит время хорошего и что еще более важно, ситуация рассматривается в статике. То есть &#8211; это выглядит, как будто одновременно происходит расход денег на плохого и хорошего программиста и доход от исполнения задачи.</p>
<p>На самом же деле расход и доход динамичен. Он происходит в разные моменты времени.</p>
<p>Вернемся к примеру, который привел программист. Если плохой программист тратит в одной точки времени 5 часов хорошего, 20 часов своих и после этого в какой-то момент получается прибыль $10k, то действительно второй программист паразитирует в прямом смысле слова.</p>
<p>Но, представим себе, что происходит чуть по другом, плохой программист делает кое-как задачу, дальше получается прибыль от новой функциональности, дальше он доводит ее до ума, но она все равно плохо работает, дальше он тратит время хорошего, чтобы понять, как сделать правильно и доделывает сам. По факту, он потратил столько же денег, так что по формулам программиста и менеджера он все еще низкоэффективен. С точки зрения предпринимателя, он уже принес прибыль и только после потратил некоторое дополнительное количество денег на &#8220;поддержку&#8221; кода.</p>
<p>Для того, чтобы все стало на свои места, возьмем фирму из 30 плохих и 3 хороших программистов. Если мы слушаем 3 хороших, то мы увольняем всех плохих и ждем пока хорошие сделают всю работу которые делали бы плохие. Проблема заключается в том, что плохие хоть и были менее эффективны, но делали ее параллельно. Хорошие более эффективны, но делают ее последовательно. Итого, вместо выпуска через месяц и получения дохода, выпуск происходит через два месяца.</p>
<p>Получается, что фирма, которая увольняет всех плохих программистов в результате выпускает продукт позже и за это получает некий штраф (недополученная прибыль, потеря части рынка).</p>
<p>Естественно, наиболее хороший и логичный ответ, что в фирму из 3 хороших программистов нужно нанять еще 3 и они по быстродействию (даже последовательному)  станут быстрее, чем 30 плохих программистов.</p>
<p>Тут кроется одна проблема, это хорошо масштабируется от 1 до 5 хороших программистов, плохо от 5 до 50 и не масштабируется фактически вообще от 50 до 500 программистов. Поэтому для увеличения прибыли и сокращения сроков, компании проще нанимать 50 хороших программистов и 500 плохих, чем 100 хороших.</p>
<p>И последняя особенность.  В формуле прибыль = доход &#8211; расход, и доход и расход на самом деле являются не константами, а функциями.</p>
<p>Во первых, если фирма имеет большие продажи, то тогда доход от одной и той же функциональности может быть разный. И вот возникает интересный эффект. Если доход $10k, при расходах $1k и $7k &#8211; то отличие хороших и плохих программистов очень чувствительно (так как это изменяет прибыли от 90% дохода до 30% дохода). А вот если доход составит $100k, то разница между хороших и плохим программистов фактически не чувствуется (99% или 93%).</p>
<p>Важное замечание, которые мне написали: Это естественно более актуально для продуктов, где прибыль зависит от объема продаж. Для попроектной работы, прибыль заранее фиксирован. Более того, чаще всего они сильно прижат конкуренцией за исполнение проекта.</p>
<p>И вторая функция &#8211; это расход. Как я уже писал, если плохой программист Вася не сильно теребит Петю, то для фирмы он становится гораздо более выгодный. Так вот, в маленьких фирмах Вася мучает Петю достаточно много, так как нету никаких процессов. В большой же фирме (в правильно построенной большой фирме) есть достаточно большое количество процессов по сбору, обработке требования, тестированию, разработке архитектуры. Все это процессы с одной стороны затратны, с другой стороны, позволяют Васе работать над гораздо более определенной задачей (с готовыми требованиями, архитектурой и т.п.), что уменьшает его необходимость в Пете.</p>
<p>Фух&#8230; Подводя к итогам всю эту фигню, которую я написал.</p>
<p>а) Идеальная ситуация &#8211; много хороших программистов, нету плохих. Ситуация идеальная, но недостижима из-за плохого масштабирования найма хороших программистов.</p>
<p>б) Из-за пункта а) и больших штрафов при более позднем выпуске продуктов, компаниям выгодно распараллеливать работу нанимая средних и плохих программистов.</p>
<p>в) Да, плохие программисты менее эффективны, но благодаря увеличению продаж и улучшению процессов, они могут приносить прибыль, причем при определенных условия прибыль не многим меньше, чем хорошие программисты.</p>
<p>г) Выгода использование плохих программистов растет с ростом соотношения прибыль/размер задачи и с улучшением процессов. Мне кажется, что это актуально для больших фирм и менее актуально для маленьких</p>
<p>в) Плохие программисты могут применять, когда диапазон требований к качеству достаточно большой и нижний порог достато низкий. При необходимости выпуска супер качественного продукта это не будет работать.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2009/01/30/o-tupyx-programmistax/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
		<item>
		<title>Одна голова хорошо, лучше ли две?</title>
		<link>http://victorronin.com/2008/12/09/odna-golova-xorosho-luchshe-li-dve/</link>
		<comments>http://victorronin.com/2008/12/09/odna-golova-xorosho-luchshe-li-dve/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:57:20 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Деньги]]></category>
		<category><![CDATA[Мысли вслух]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/12/09/odna-golova-xorosho-luchshe-li-dve/</guid>
		<description><![CDATA[Небольшое всплытие из моей передышки, по поводу одной накопившейся мысли.
Есть два широко распространенных мнения:
- Лучшие лидеры решают все
То бишь, то что компанию &#8220;тянут&#8221; на себе эти самые лидеры. Остальные же, в лучшем случае не мешают.
Обычно как яркие примеры, приводят что-нибудь типа Apple, когда действительно один человек буквально за уши смог вытянуть компанию.
Внутри этой идеи фактически [...]]]></description>
			<content:encoded><![CDATA[<p>Небольшое всплытие из моей передышки, по поводу одной накопившейся мысли.</p>
<p>Есть два широко распространенных мнения:</p>
<p>- Лучшие лидеры решают все</p>
<p>То бишь, то что компанию &#8220;тянут&#8221; на себе эти самые лидеры. Остальные же, в лучшем случае не мешают.</p>
<p>Обычно как яркие примеры, приводят что-нибудь типа Apple, когда действительно один человек буквально за уши смог вытянуть компанию.</p>
<p>Внутри этой идеи фактически к нулю сводиться наличие мозга у остальных в компании.</p>
<p>-  Одна голова хорошо, а две лучше</p>
<p>Это другой край той же палки.</p>
<p>Внутри этой  мысли бытует мнение, что даже самый умный человек не может быть умнее чем скажем десяток людей.</p>
<p>И соответственно, чем больше людей принимают обсуждение идеи, решают что-то, тем лучше и правильней выйдет решение.</p>
<p>Чтобы не переливать воду из пустого в порожнее сразу прыгну к выводам.</p>
<p>Я считаю, что</p>
<p>а) Мнение большого количества людей хорошо в консультативном/обсудительном ключе. Как только мнение большинства начинает использоваться для управления, то получается анархия.</p>
<p>б)  Мнение большого количества людей полезно, но всегда надо полезность делить на количество потраченного времени этими людьми. Так, что если один человек подумав делает полезность на $100, и при этом за это время ему нужно заплатить $50 &#8211; это нормально. Если привлечь всю фирму к обдумыванию и они выдадут полезности в десять раз больше ($1000), но им надо заплатить за это $5000, то ну его на фиг такое мнение большинства, когда общая эффективность упала в 10 раз.</p>
<p>в) Лидеру чаще всего трудно справиться с большими задачами, которые легко разделяются на подзадачи. Действительно такие задачи, легче решаются толпой, когда каждый может выбрать нравящийся ему кусочек и обсмаковать. То есть, когда задача простая, но большая &#8211; то хорошо брать массой. Когда задача &#8211; сложная, то конечное ее решение, должно делать именно лидером. В этом его собственно и сила, что он может принимать более точные и правильные решения, чем большинство людей (даже вмести) для сложных задач.</p>
<p>Небольшой пример к последнему пункту. Если бы я спрашивал совет по инвестициям, то я бы с довольствием поговорил бы с одним миллионером, чем с десятью тысячами людей у которых по 100 долларов. Если бы мне нужно было перетащить сто тон кирпичей, то пожалуй десять  тысяч людей подошли бы лучше.</p>
<p>P.S. Я не пытаюсь противопоставить лидерство и мудрость толпы. Я пытаюсь очертить их границы. Естественно они должны взаимодополнять друг друга, а не бороться. И в общих чертах, граница проходит как раз по описанным пунтам &#8211; толпа может консультировать, но не управлять, использование толпы должны быть экономически оправдано, лидер используется там, где знание/умения/интуиция одного человека может превосходить коллектив.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/12/09/odna-golova-xorosho-luchshe-li-dve/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Больная сторона технического профессионализма.</title>
		<link>http://victorronin.com/2008/10/23/bolnaya-storona-texnicheskogo-professionalizma/</link>
		<comments>http://victorronin.com/2008/10/23/bolnaya-storona-texnicheskogo-professionalizma/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 16:03:09 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Эффективность]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/10/23/bolnaya-storona-texnicheskogo-professionalizma/</guid>
		<description><![CDATA[Больная сторона технического профессионализма.
Есть такая проблема, что когда программист становится достаточно профессиональным (и из-за этого дорогим), то постепенно ему начинают выдавать задачи связанные с его специализацией (так как он  решает их быстро и эффективно). И получается, что он все больше и больше специализируется в одной области.
В тоже самое время, среднячка вполне могут перекидывать на [...]]]></description>
			<content:encoded><![CDATA[<p>Больная сторона технического профессионализма.</p>
<p>Есть такая проблема, что когда программист становится достаточно профессиональным (и из-за этого дорогим), то постепенно ему начинают выдавать задачи связанные с его специализацией (так как он  решает их быстро и эффективно). И получается, что он все больше и больше специализируется в одной области.</p>
<p>В тоже самое время, среднячка вполне могут перекидывать на разные технологии, платформы и т.п.</p>
<p>Таким забавным образом получается, что программист именно из-за своего профессионализма тормозит свое развитие вширь (причем достаточно серьезно).</p>
<p>Да, естественно можно что-то почитать или мелкое делать для того, чтобы совсем мозги не засохли. Но все равно, одно дело уделение развитию вширь один час в день, причем не на реальных проектах. Другое дело, как у среднячков, восьми часовое развитие в ширь.</p>
<p>Кстати, даже переход на другую работу в этом смысле не спасает. Достаточно редко серьезный разработчик готов идти на крупное понижение зарплаты, чтобы поменять свой профиль. А без понижения, разработчика чаще всего будут готовы брать только на то направление, где он уже специалист.</p>
<p>Кстати, именно последний пункт меня веселит. Учитывая, что действительно хороший разработчик, в течении недели освоит новый язык на приемлемом уровне. В течении пару месяцев будет достаточно хорошо разбираться с новой платформой/фрейморком, а через пол года он уже обгонит большинство среднячков и хорошистов.<br />
Да, я понимаю, что часть этого времени будет инвестирование и так в дорогого специалиста. Но меня слегка удивляет, когда выбирают взятие среднячка и постоянное инвестирование в его ошибки, взятию профессионала и инвестирование в первый месяц-два.</p>
<p>P.S. Из обсуждения с СОТОНА: Чем меньше компания, тем чаще профи затыкает все дыры.<br />
Когда компания растет, то профи очень усердно начинают применять именно для одного направления.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/10/23/bolnaya-storona-texnicheskogo-professionalizma/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Что делать, когда не хочется делать?</title>
		<link>http://victorronin.com/2008/10/15/chto-delat-kogda-ne-xochetsya-delat/</link>
		<comments>http://victorronin.com/2008/10/15/chto-delat-kogda-ne-xochetsya-delat/#comments</comments>
		<pubDate>Wed, 15 Oct 2008 19:55:18 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Эффективность]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/10/15/chto-delat-kogda-ne-xochetsya-delat/</guid>
		<description><![CDATA[Частенько бывают такие дни, когда просто не хочется и не можется, что-то серьезное делать.
Пытаешься писать проект, а никак не удается сдвинуться с места, и постоянно заходишь на какой-нибудь сайт с надеждой, что там выкладут что-нибудь интересное, чтобы почитать, а не работать.
Я лично, чаще всего такие дела посвящаю тому, что добиваю мелкие задачки, которые всегда откладывались, [...]]]></description>
			<content:encoded><![CDATA[<p>Частенько бывают такие дни, когда просто не хочется и не можется, что-то серьезное делать.</p>
<p>Пытаешься писать проект, а никак не удается сдвинуться с места, и постоянно заходишь на какой-нибудь сайт с надеждой, что там выкладут что-нибудь интересное, чтобы почитать, а не работать.</p>
<p>Я лично, чаще всего такие дела посвящаю тому, что добиваю мелкие задачки, которые всегда откладывались, которые простые и не требуют вмешательства мозга. С одной стороны получается более менее полезно, с другой стороны мозг не нагружен.</p>
<p>А что вы предпочитаете делать в такие дни?</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/10/15/chto-delat-kogda-ne-xochetsya-delat/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Глубокая заморозка</title>
		<link>http://victorronin.com/2008/09/04/glubokaya-zamorozka/</link>
		<comments>http://victorronin.com/2008/09/04/glubokaya-zamorozka/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 19:26:09 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/09/04/glubokaya-zamorozka/</guid>
		<description><![CDATA[Увы, но со временем стало совсем туго &#8211; стартование нового бизнеса, разбирание с юридическими и бухгалтерскими приколами в США и т.п.
По этому поводу провожу глубокую заморозку блога на пару недель и писать новые статьи не буду (заодно может интересные мысли поднакопятся).
Если будет желание, можете пройтись по старым статьям (если вы чего-то ни читали) и покомментировать. [...]]]></description>
			<content:encoded><![CDATA[<p>Увы, но со временем стало совсем туго &#8211; стартование нового бизнеса, разбирание с юридическими и бухгалтерскими приколами в США и т.п.</p>
<p>По этому поводу провожу глубокую заморозку блога на пару недель и писать новые статьи не буду (заодно может интересные мысли поднакопятся).</p>
<p>Если будет желание, можете пройтись по <a href="http://victorronin.com/articles-popularity/">старым статьям</a> (если вы чего-то ни читали) и покомментировать. Отвечать на комментарии я буду продолжать.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/09/04/glubokaya-zamorozka/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Слишком много возможностей.</title>
		<link>http://victorronin.com/2008/09/01/slishkom-mnogo-vozmozhnostej/</link>
		<comments>http://victorronin.com/2008/09/01/slishkom-mnogo-vozmozhnostej/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 20:38:01 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Старт бизнеса]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/09/01/slishkom-mnogo-vozmozhnostej/</guid>
		<description><![CDATA[В процесса стартования/развития бизнеса или просто работы, вокруг возникает некоторое количество разных возможностей. И иметь достаточно большую сеть знакомств, то в определенный момент вы обнаружите, что количество возможностей значительно (в десятки раз) может превышать время, которое вы можете потратить на эти возможности.
Лично для себя, я решил, что как можно раньше я пытаюсь понять, что же [...]]]></description>
			<content:encoded><![CDATA[<p>В процесса стартования/развития бизнеса или просто работы, вокруг возникает некоторое количество разных возможностей. И иметь достаточно большую сеть знакомств, то в определенный момент вы обнаружите, что количество возможностей значительно (в десятки раз) может превышать время, которое вы можете потратить на эти возможности.</p>
<p>Лично для себя, я решил, что как можно раньше я пытаюсь понять, что же мне эта возможность дает и оценить, будет ли двигать она меня в том направление в котором я хочу.</p>
<p>Естественно, есть гигантская вероятность ошибиться, так как в самом начале непонятно, куда приведет возможность через 10 лет. И я уверен, что есть люди которые теперь кусают локти, потому что они уволились из Microsoft в 85 году, а сейчас могли бы быть мультимиллионерами.</p>
<p>Но как по мне, эта ситуация абсолютно эквивалента &#8211; приему человека на работу. Да, если тщательно подходить к приему есть шанс НЕ принять хорошего человека, но с другой стороны гораздо уменьшается шанс принять плохого человека.</p>
<p>Так, что я пытаюсь теперь как можно раньше зарубить те идеи, котоые мне не по душе. Или по крайней мере выяснить, насколько они мне интересны (если есть какие-то переменные от которых это зависит).</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/09/01/slishkom-mnogo-vozmozhnostej/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Дешева рибка &#8211; погана юшка.</title>
		<link>http://victorronin.com/2008/08/04/desheva-ribka-pogana-yushka/</link>
		<comments>http://victorronin.com/2008/08/04/desheva-ribka-pogana-yushka/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 02:07:18 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Деньги]]></category>
		<category><![CDATA[Персонал]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/08/04/desheva-ribka-pogana-yushka/</guid>
		<description><![CDATA[Для неукраиноговорящего населения, примерный перевод &#8220;Дешевая рыбка &#8211; плохой навар&#8221;.
Я писал уже о том, что огромная проблема, что большей части населения вообще все пофиг. 
Собственно, как результат этой проблемы &#8211; тот кто не пофиг, достаточно быстро взбирается по карьерной лестнице (либо финансово, либо должностно). И как результат уже этого обстоятельства &#8211; если нанимать человека за [...]]]></description>
			<content:encoded><![CDATA[<p>Для неукраиноговорящего населения, примерный перевод &#8220;Дешевая рыбка &#8211; плохой навар&#8221;.</p>
<p>Я писал уже о том, что огромная проблема, что <a href="http://victorronin.com/2008/04/23/a-mne-vse-pofig/">большей части населения вообще все пофиг</a>. </p>
<p>Собственно, как результат этой проблемы &#8211; тот кто не пофиг, достаточно быстро взбирается по карьерной лестнице (либо финансово, либо должностно). И как результат уже этого обстоятельства &#8211; если нанимать человека за небольшие деньги на не слишком важную должность, автоматически (с сумасшедшей вероятность) нанимается человек которому таки пофиг.</p>
<p>Пробовал нанять Virtual Assistant. Так и получилось, первый блин &#8211; комом. Думаю, теперь, что делать. Платить больше денег &#8211; как-то жабно, так что придется перебором до нахождения кого-нибудь пристойного.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/08/04/desheva-ribka-pogana-yushka/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Программистский синхрофазотрон (часть 3, о estimat&#8217;ах и качестве).</title>
		<link>http://victorronin.com/2008/06/30/programmistskij-sinxrofazatron-chast-3/</link>
		<comments>http://victorronin.com/2008/06/30/programmistskij-sinxrofazatron-chast-3/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 21:26:07 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Деньги]]></category>
		<category><![CDATA[Менеджмент]]></category>
		<category><![CDATA[Мысли вслух]]></category>
		<category><![CDATA[Персонал]]></category>
		<category><![CDATA[Эффективность]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/06/30/programmistskij-sinxrofazatron-chast-3/</guid>
		<description><![CDATA[Итак прошло фактически пол года,  с тех пор как я выложил нашумевшие у меня в блоге статьи Программистский синхрофазотрон (часть 1 и часть 2).
И вот пару дней назад у меня была битва в теннис с выдумщиком этой идей. Но, в отличии от того, что я писал в блоге (где я выступал за идею), в момент [...]]]></description>
			<content:encoded><![CDATA[<p>Итак прошло фактически пол года,  с тех пор как я выложил нашумевшие у меня в блоге статьи Программистский синхрофазотрон (<a href="http://victorronin.com/2008/01/04/programmistskij-sinxrofazotron/">часть 1</a> и <a href="http://victorronin.com/2008/01/06/programmistskij-sinxrofazotron-prodolzhaetsya/">часть 2</a>).</p>
<p>И вот пару дней назад у меня была битва в теннис с выдумщиком этой идей. Но, в отличии от того, что я писал в блоге (где я выступал за идею), в момент обсуждения с ним  я был адвокатам дьявола и пытался запинать идею ногами. И вот результаты пинания идеи выкладывают тут.</p>
<p>Вкратце, для тех кто не читал обе части и не хочет туда лезть &#8211; идея была в сдельной работе внутри фирмы для программистов. Таким образом программисты могут работать гораздо эффективнее, так как видят прямую зависимость доходов от своей активности (в отличии от ситуации, когда программист сидит на ЗП и может копаться в инете, вместо того, чтобы делать дело). Ну и собственно говоря, ниже, выкладываю мои мысли почему компании массово не переходят на сдельную оплату (хотя вроде она должна быть гораздо более эффективная).</p>
<p>Итак начну из далека.</p>
<p>Пусть есть электрик Вася, сидящий на зарплате, и пьющий водку в рабочее время. И вдруг к этому Васе приходит белочка и он  думает , а чего это я водку все пью, лучше бабла подзашибу. Но блин, даже если я начну вкалывать, то дай бог мне подымут зарплату на 20%, лучше я пойду к своему начальнику и скажу, мол давай работать сдельно. Так Вася и делает. Приходит к начальнику и говорит, так мол и так, с водкой завяжу, сдельно работать будем и тебе лучше (я в пять раз больше сделаю и качественней делать буду) и мне лишняя денюжка в кармане. Начальник чешет голову и говорит, ладно Вася &#8211; починка розетки &#8211; 5 рублей, починка короткого замыкания &#8211; 10 рублей, полная проводка квартиры &#8211; 100 рублей. Если у заказчика все после этого через неделю сгорело &#8211; то с тебя вычет в двойном объеме. Проходит год, Вася шустрит, иногда правда клиенты ругаются, но суммарно все довольны &#8211; Вася при деньгам, начальник троих других электриков уволил, так как Вася за троих справляется, клиенты &#8211; счастливы не нюхать перегар Васи.</p>
<p>История вторая &#8211; есть Петя строитель. Так же самая картина маслом, но пьет он не водку, а пиво. И договаривается за 1000 положенных кирпичей. Начальнику тоже по душе, чтобы Петя работал и компания на нем деньги делала. Да, и теперь кладет кирпич в три раза быстрее, и при этом теперь больше его построек соответствует ГОСТу 1274-32-12б по укладке кирпича.<br />
История номер три &#8211; есть Коля, модный массажист, делающий все виды массажа начиная от Боливийского и заканчивая массажем под названием &#8220;Рессора Белаза&#8221;. Коля, правда пьет уже не водку и пиво, а коньяк (не меньше 3 звездочек), но это мало что меняет. И вот он приходит к начальнику и говорит, а давайте я буду работать сдельно и буду делать все массажи в 5 лучше и в 5 раз быстрее. И вот тут начальник, выпучив глаза, говорит Коле&#8230;. Коля, а с коньячком-то видно пора таки завязывать, ты что с дуба упал в 5 раз быстрее массаж делать? Да и как мы будет проверять, что ты в 5 раз качественнее массаж сделал? У тебя что же есть массажеметр? Так, что пойди ка ты Коля, отдохни немножко и с свежими мозгами назад на зарплате работать возвращайся.<br />
Ну, теперь более серьезно. Какова разница между вариантом Васей, Петей и Колей? А разница то, что в первых двух вариантах есть достаточно простое количественное измерение (связанной с доходом) сделанной работы и определенный (разумно измеримый) качественный уровень. В третьем же варианте, хотя количественное измерение есть, но оно не связанно с доходом и качественного измерения нету.</p>
<p>И теперь мы наконец возвращаемся к нашим горе-программистам.</p>
<p>С одной стороны, программисты (включая меня) очень хотят чисто сдельную оплату. Причем не просто сдельную оплату (такую как имеют freelancer&#8217;ы), а сдельную оплату внутри фирмы, когда дополнительной работы по поиску клиентов, ведению бухгалтерии у них нет, а вот денег можно зашибить дофига, если ты достаточно эффективен.<br />
Кстати, коротенькое замечание сдельная = fixed cost за задачу, а не почасовка. Почасовка &#8211; это фактическа зарплата, просто в зависимости от того, сколько отсидишь на работе. Концептуально почасовка не меняет отношения к тому на сколько быстро хочется решить задачу. Я бы даже сказал, почасовка наоборот двигает человека в направлении растягивания задач.<br />
Так вот, возвращаясь к тому, что программисты хотят сдельную оплату. Есть исследования, которые показывают, что отличный программист может быть эффективнее среднего в 10 раз. Соответственно, перед глазами мелькают цифры с 5-6 нулями за год <img src='http://victorronin.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
И вроде все было бы хорошо, если бы не<br />
- Отсутсвие типовых задач<br />
Фактически сама по себе &#8211; это не проблема, но я покажу, во что оно выливается ниже.<br />
Тот же электрик или строитель, да и даже массажист имеет вполне ограниченный набор типовых задач. Их может быть скажем сотня, но все таки сотня разных задач &#8211; это вполне разумное число. И эти задачи можно записать.<br />
- Отсутсвие количественной оценки задачи<br />
Вот это проблема, которая вытекает из первой. Так как типовых задач нет, то все задачи не типовые. Для типовых задач, даже если их нельзя оценить впрямую, то можно оценить чисто статистически, сколько они занимают и какую прибыль они приносят. В случае, если же задачи не типовые, то начинается проблемы с их оценкой. И дай бог, если задачу можно оценить каким-то разумным методом. В программировании же, оценка чаще всего очень эмпирическая и +/- 30% даже на небольших задачах считается вполне неплохой точностью.  В добавление к этим проблемам, еще зачастую единственный человек который может дать оценку &#8211; является тот самым программист, работающий на проекте. И начальник никак не может проверить, дал ли он настоящую оценку или завысил ее в три раза.</p>
<p>Соответственно, начальник не может вывесить прейскуранта (как было сделано для Васи и Пети).</p>
<p>- Отсутствие измеряемого качества</p>
<p>Основным методом измерения качества программы (в основном) является оценка количества багов. С другой стороны, любой программист вполне может сказать, что программа может иметь сумасшедшие проблемы с внутренним качеством (архитектурой) и при этом иметь не так много найденных багов. И может быть наоборот, множество мелких багов, при том, что внутренняя структура достаточно нормальна.<br />
Итого, суммируя три вышеперечисленных проблемы. Программист, который от компании хочет полностью сдельной оплаты, похож на того массажиста (давайте я буду делать массажи в 5 раз лучше и 5 раз быстрее). Вроде как и пожелание разумное, но до тех пор пока не изобретут массажеметр или программистозатратометр, то фактически все параметры работы являются субъективнымы, так как и оценка размера задачи и оценка качества программы не является объективной величиной.</p>
<p>И поэтому в ушах начальника это звучит так &#8220;Давайте я увеличу мое субъективное вложение в 5 раз, а вы мне увеличите объективную зарплату в 5 раз&#8221;. Так в жизни не бывает, что субъективное оценивается равным объективному. И кстати, именно поэтому хорошие программисты получают зарплату в 2-3 раза больше средних, а не в 10. Так как они только субъективно в 10 раз эффективнее, и то непонятно по чьим измерениям, когда же субъективное конвертируется, то на выходе получает большая в 2-3 объективных раза зарплата.<br />
Фух&#8230; Что-то я начал запутываться, но думаю вы меня поняли. Вся проблема именно в отсутствии объективных оценок. Поэтому думаю к такому виду сотрудничества как я писал в первых частях &#8211; IT бизнес таки не придет.</p>
<p>Воооот&#8230; Ну и очень хотелось бы услышать ваши мнения, комментарии и идеи.</p>
<p>Дополнение N1: Итак, давайте, оценку = estimate из понятия абстрактного (а-ля сферический конь в вакууме) переведем на понятие реальное. Есть конечный человек которые делает оценку задачи.</p>
<p>Ситуация 1. Оценку делает менеджер, которые с кодом не работает. Я не верю, что человек не работающий с проектом может дать насколько нибудь разумную оценку.</p>
<p>Ситуация 2. Оценку делает каждый для себя. В таком случае, люди могут завышать оценку, тем самым выбивая деньги из фирмы.</p>
<p>Ситуация 3. Оценку делает team lead или другой опытный разработчик имеющий большой опыт на проекте. Это достаточно разумная практика, но в ней есть две проблемы. Даже team lead не дает точную оценку и очень обидно будет программистам, которые недополучат денег из-за ошибки team lead&#8217;а. Вторая проблема, что ситуация 3 вырождается в ситуацию 2 для самого team lead&#8217;а. То есть самый опытный человек делает оценку для самого себя и может ее завышать.</p>
<p>Учитывая, что весь этот сыр бор с программистским синхрофазотроном обсуждается именно для самых толковых программистов, то Ситуация 2+3, крайне важна. Непонятно, кто будет оценивать оценку team lead&#8217;а.</p>
<p>Дополнение 2. У многих возникает удивление. Типа, если программисты станут в 3 раза быстрее работать, какого фига они сейчас так не работают. Так что, эти заразы, работают не на полную мощность.</p>
<p>Так вот, как руководитель и программист в одном лице скажу,  да, программисты практически всегда работают не в полную силу. Кстати и не только программисты. Фактически в любой профессии если человек не дикий трудоголик то он в конечном итоге работает по возможному минимуму. И фактически все программисты &#8211; на работе читают блоги, смотрят YouTube, переписываются по ICQ с знакомыми. И это на самом деле выходит за рамки &#8211; передохуть подумать.</p>
<p>Но эта ситуация устраивает работодателя, так как он знает, если программиста выгнать, то другой будет делать тоже самое. Может если на рынке будет кризис, то тогда программисты поднапрягутся, а так просто люди сидя на зарплате не видят смысла вкалывать.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/06/30/programmistskij-sinxrofazatron-chast-3/feed/</wfw:commentRss>
		<slash:comments>96</slash:comments>
		</item>
		<item>
		<title>Поднятие качества. Либо пан, либо пропал.</title>
		<link>http://victorronin.com/2008/05/05/podnyatie-kachestva-libo-pan-libo-propal/</link>
		<comments>http://victorronin.com/2008/05/05/podnyatie-kachestva-libo-pan-libo-propal/#comments</comments>
		<pubDate>Tue, 06 May 2008 03:07:35 +0000</pubDate>
		<dc:creator>Victor Ronin</dc:creator>
				<category><![CDATA[Время]]></category>
		<category><![CDATA[Эффективность]]></category>

		<guid isPermaLink="false">http://victorronin.com/2008/05/05/podnyatie-kachestva-libo-pan-libo-propal/</guid>
		<description><![CDATA[Я когда-то уже писал о рефакторинге тут.
Просто, мне вспомнилась забавная история. Был большой и достаточно жуткий проект. Жуткий в том смысле, что писан был он большим количеством людей, без какой-либо толковой архитектуры и понимания, что делает каждая часть и как они должны взаимодействовать. Причем туча кода, писалась, хоть и толковыми парнями, но все же пока [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal"><span lang="RU">Я когда-то уже писал о рефакторинге <a href="http://victorronin.com/2008/02/15/remont-nelzya-zakonchit-ego-mozhno-tolko-ostanovit/">тут</a>.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Просто, мне вспомнилась забавная история. Был большой и достаточно жуткий проект. Жуткий в том смысле, что писан был он большим количеством людей, без какой-либо толковой архитектуры и понимания, что делает каждая часть и как они должны взаимодействовать. Причем туча кода, писалась, хоть и толковыми парнями, но все же пока студентами, что опять же придавало проекту дух &#8230; э&#8230; ну, в общем студенческий дух. То есть код, вроде есть, вроде что-то делает, но скорее все это было похоже на переросшую (причем дико) лабораторную работу.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">И вот один из продвинутых студентов (не я <img src='http://victorronin.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) , начал выбивать рефакторинг, чтобы переварить всю эту кучу (хотел сказать говна, но решил сказать кода) в что-то более менее удобоваримое. Ну и начал он выбивать под это время. Естественно проект не маленький, поэтому время он пытался выбить тоже немало (уж очно не помню, но что-то типа 6-9 ч/м), на что в общем ему ответили, что иди мальчик – подыши свежим воздухом, столько бабок мы лучше в пофикс проекта вложим или скажем в новую функциональность. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Кстати, что меня, прикололо (и послужили поводом для статьи), то, что главный разработчик тоже похерил эту идею на корню (хотя он уж точно должен был поддержать). Не буду дословно цитировать, но что он сказал – что код нормальный, единственное иногда непонятно, что он делает. Поэтому единственное, что надо &#8211; больше комментариев писать.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Да, так вот, во первых могу с высоты нынешнего полета заверить – нормальностью там и не пахло. Как я уже писал, полное отсутствие архитектуры, кучу дублирования, жесточайшие заплатки на заплатках. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Вернемся к тому продвинутому студенту. Товарищ поразмыслил и сказал, блин если вы такие жлобы, что не хотите давать 6 месяцев, то давайте хоть все начнем придерживаться единого стиля написания (название переменных, отступы и т.п. штучки).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">И вот эту идею уже похерил я (не будучи даже главных разработчиком на проекте). И собственно я и сейчас готов отстаивать бессмысленность идеи.<span>  </span>С одной стороны, вроде ясна логика студента, блин если нельзя сделать все красиво и качественно, то давайте делать, хоть что-то красиво и качественно. Но, тут есть одно «Но».<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Две аналогии. Перед вами стоит жуткий, шатающийся дом с выбитыми окнами, поросший бурьяном и без крыши. Ваша задача его привести в божеский вид и у вас нету денег чтобы сразу сделать это целиком. Вопрос – имеет ли смысл вытирать ноги при входе в дом и вешать красивые зановесочки на окна?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Вторая<span>  </span>аналогия. У человека перелом ноги, малярия и чесотка. Нам нужно его вылечить. Имеет ли смысл человеку для лечения давать детскую дозу витаминку </span>C<span lang="RU">?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Оба раза можно ответить – ничего плохого действие не принесет, но задачу это действие сто процентно не решит и вероятнее всего будет просто трата времени и денег (в пример с домом гораздо более актуально, наверное в примере с человек чуть более спорно).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Так вот, возвращаясь к коду. Если код плохой, то его нельзя вылечить витаминкой </span>C<span lang="RU"> (правильным именование переменных), его можно лечить только более серьезными лекарствами (например понемногу начать разгребать/рефактирить кусочки проекта).<span>  </span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">Иначе все эти именования переменных будут простой тратой времени. Можно вполне положить скажем неделю, на то, чтобы все переменные назывались правильно. А можно ту же неделю положить на то, чтобы расчистить один модуль. Как по мне второе, гораздо более эффективно.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="RU">В общем, это я о том, что не всякая польза хороша. Важно делить результат пользы на потраченные усилия. И как только это соотношение падает меньше определенного значения, то вероятнее всего – это дело, хоть теоретически и полезно, на практике оно так же бесполезно, как вытирание ног, перед захождение в грязный, заброшенный дом.</span></p>
<p class="MsoNormal">P.S. Несколько вещей, которые были затронуты в комментариях. Отвечу сразу всем.</p>
<p class="MsoNormal">- Откуда вязалась неделя?</p>
<p>Идея паренька была не просто придерживаться новых мелких хорошестей, но  и изменить текущий код, чтобы соответствовать им. Именно это и была та самая неделя (на изменения)</p>
<p>- Был ли это legacy проект?</p>
<p>Проект, содержал legacy части, но сам он не был legacy. Причем, его не собирались выкидывать</p>
<p>- Идея, не прогужения в гавно.</p>
<p>Я бы сказал, есть тонкая разница. Если вы по колено в говне, то идея не погружения  очень разумная.</p>
<p>Если говно покрывает вас с головой, то нужно не &#8220;не погружатся&#8221; а всплывать, иначе дышать тяжело будет.</p>
<p>- Форматирование пробелов можно делать  автоматически</p>
<p>Да. Я об этом знаю. Там было больше чем форматирование. Там был достаточно длинный список в основном визуальных изменений, многие из которых нельзя было автоматизировать.</p>
<p>Остальное в комментариях.</p>
]]></content:encoded>
			<wfw:commentRss>http://victorronin.com/2008/05/05/podnyatie-kachestva-libo-pan-libo-propal/feed/</wfw:commentRss>
		<slash:comments>75</slash:comments>
		</item>
	</channel>
</rss>
