<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Что должен знать каждый программист?</title>
	<atom:link href="http://alexlebedev.com/blog/what-must-each-programmer-know/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexlebedev.com/blog/what-must-each-programmer-know/</link>
	<description>Alexander Lebedev writes about software development and outsourcing</description>
	<lastBuildDate>Wed, 29 Dec 2010 09:51:37 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Vid</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-62075</link>
		<dc:creator>Vid</dc:creator>
		<pubDate>Sat, 13 Jun 2009 14:45:14 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-62075</guid>
		<description>&lt;p&gt;Ну отчего же брать программиста, предыдущие 10 лет разрабатывавшего системы видеонаблюдения плохая идея. Каждого можно научить.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Ну отчего же брать программиста, предыдущие 10 лет разрабатывавшего системы видеонаблюдения плохая идея. Каждого можно научить.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Lebedev</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-35</link>
		<dc:creator>Alex Lebedev</dc:creator>
		<pubDate>Thu, 31 Aug 2006 02:15:03 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-35</guid>
		<description>&lt;p&gt;Ответственность можно определить как способность двигаться в правильном направлении выдавать качественный результат без постоянного надзора. Ответственность не обязательна для младших позиций, предполагающих постоянный надзор, но не каждый проект может себе позволить хотя бы одного безответственного разработчика.&lt;/p&gt;

&lt;p&gt;Способность к работе в команде и понимание юзабилити можно свести к одному очень важному параметру - уважению к потребностям других людей, коллег, пользователей и руководства (с отсутствием последнего лично я готов мириться, главное чтобы результат это оправдывал). Без этого лучше разрабатывать софт только по жесткой спецификации. И только одному.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Ответственность можно определить как способность двигаться в правильном направлении выдавать качественный результат без постоянного надзора. Ответственность не обязательна для младших позиций, предполагающих постоянный надзор, но не каждый проект может себе позволить хотя бы одного безответственного разработчика.</p>
<p>Способность к работе в команде и понимание юзабилити можно свести к одному очень важному параметру &#8211; уважению к потребностям других людей, коллег, пользователей и руководства (с отсутствием последнего лично я готов мириться, главное чтобы результат это оправдывал). Без этого лучше разрабатывать софт только по жесткой спецификации. И только одному.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evgeny</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-32</link>
		<dc:creator>Evgeny</dc:creator>
		<pubDate>Tue, 29 Aug 2006 22:03:07 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-32</guid>
		<description>&lt;p&gt;В общем я хотел сказать что возможно можно вывести только общие требования, настолько &lt;i&gt;общие&lt;/i&gt;, что они будут применимы в самом &lt;i&gt;общем&lt;/i&gt; случае... И почти никогда в реальности. Точнее, будут достаточно большие отклонения от общего&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>В общем я хотел сказать что возможно можно вывести только общие требования, настолько <i>общие</i>, что они будут применимы в самом <i>общем</i> случае&#8230; И почти никогда в реальности. Точнее, будут достаточно большие отклонения от общего</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evgeny</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-31</link>
		<dc:creator>Evgeny</dc:creator>
		<pubDate>Tue, 29 Aug 2006 21:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-31</guid>
		<description>&lt;p&gt;Да, судя по посту так и получается.
&lt;h2&gt;Мало быть хорошим человеком, надо быть ещё и программистом. IMHO, есть грань между опытностью программиста и его &lt;i&gt;хорошестью&lt;/i&gt;. Нельзя загонять требования к программистам в узкие рамки. Надо рассматривать эту грань, требования проекта, требования PM к программистам. В каждом случае будут разные требования. Возможно очень, очень разные.&lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;Первое. Минимальные требования к кандидатам должны быть действительно минимальными. Только то, что не может не понадобится любому вашему разработчику в проекте, и только то из этого, чему талантливый программист не может быстро научиться.
&lt;h2&gt;2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.&lt;/h2&gt;&lt;/p&gt;

&lt;h2&gt;не во всяком случае. пример - разработка ПО для какой нибудь железки, у которой одна кнопка.&lt;/h2&gt;

&lt;h2&gt;1) Ответственность. Как минимум полное тестирование проделанной работы.&lt;/h2&gt;

&lt;h2&gt;Важно. Но как это определишь?&lt;/h2&gt;

&lt;h2&gt;3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.&lt;/h2&gt;

&lt;p&gt;Команда из одного человека? Команда из 140 человек? Возможно, есть разные команды - и разное понимание командной работы.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Да, судя по посту так и получается.</p>
<h2>Мало быть хорошим человеком, надо быть ещё и программистом. IMHO, есть грань между опытностью программиста и его <i>хорошестью</i>. Нельзя загонять требования к программистам в узкие рамки. Надо рассматривать эту грань, требования проекта, требования PM к программистам. В каждом случае будут разные требования. Возможно очень, очень разные.</h2>
</p>
<p>Первое. Минимальные требования к кандидатам должны быть действительно минимальными. Только то, что не может не понадобится любому вашему разработчику в проекте, и только то из этого, чему талантливый программист не может быстро научиться.</p>
<h2>2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.</h2>
</p>
<h2>не во всяком случае. пример &#8211; разработка ПО для какой нибудь железки, у которой одна кнопка.</h2>
<h2>1) Ответственность. Как минимум полное тестирование проделанной работы.</h2>
<h2>Важно. Но как это определишь?</h2>
<h2>3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.</h2>
<p>Команда из одного человека? Команда из 140 человек? Возможно, есть разные команды &#8211; и разное понимание командной работы.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victoria</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-30</link>
		<dc:creator>Victoria</dc:creator>
		<pubDate>Wed, 23 Aug 2006 09:49:38 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-30</guid>
		<description>&lt;p&gt;Так почитаешь такие дискуссии и приходишь к выводу, что нужно набирать не &quot;хороших программистов&quot; - а просто &quot;хороших людей&quot;, т.е. аккуратных и ответственных, способных работать в команде, быстро обучаться, радеющих за качество своей работы и т.д. - это же все относится к любой работе. К обязательному минимуму таких требований могу от себя добавить системность мышления, т.е. способность продумать, как твоя работа ложится в то, что было сделано до тебя и будет сделано после тебя. 
А что касается узкопрофессональных навыков, т.е. языка или знания каких-то там платформ, то просто подбирайте людей под нужды проекта – если это «хороший человек» и знает то, что вам в данный момент нужно, то раздумывать долго не стоит.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Так почитаешь такие дискуссии и приходишь к выводу, что нужно набирать не &#8220;хороших программистов&#8221; &#8211; а просто &#8220;хороших людей&#8221;, т.е. аккуратных и ответственных, способных работать в команде, быстро обучаться, радеющих за качество своей работы и т.д. &#8211; это же все относится к любой работе. К обязательному минимуму таких требований могу от себя добавить системность мышления, т.е. способность продумать, как твоя работа ложится в то, что было сделано до тебя и будет сделано после тебя.<br />
А что касается узкопрофессональных навыков, т.е. языка или знания каких-то там платформ, то просто подбирайте людей под нужды проекта – если это «хороший человек» и знает то, что вам в данный момент нужно, то раздумывать долго не стоит.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Lebedev</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-29</link>
		<dc:creator>Alex Lebedev</dc:creator>
		<pubDate>Wed, 23 Aug 2006 09:19:22 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-29</guid>
		<description>&lt;blockquote&gt;
Хм. Всех нормальных разработчиков очень легко подвести под общий знаменатель.
&lt;/blockquote&gt;

&lt;p&gt;В том-то и дело, что нельзя. Разве что под общим знаменателем иметь в виду принадлежность к Homo Sapiens.&lt;/p&gt;

&lt;blockquote&gt;
Характерные черты:
1) Ответственность. Как минимум полное тестирование проделанной работы.
&lt;/blockquote&gt;

&lt;p&gt;Очень важно. Но безответственный программист  при минимальной QA-поддержке может отлично разрабатывать прототипы. То есть для ряда работ такого можно нанять, вопрос только в том, какие проекты вы ведете.&lt;/p&gt;

&lt;blockquote&gt;
2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.
&lt;/blockquote&gt;

&lt;p&gt;Даже полная юзабилити-бездарность элементарно обходится через то, что человек пишет реализации интерфейсов / API, придуманных коллегой, понимающим юзабилити.&lt;/p&gt;

&lt;blockquote&gt;
3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.
&lt;/blockquote&gt;

&lt;p&gt;Согласен, если вы работаете в команде, то это обязательное требование. Человек, не стремящийся облегчить работу своим коллегам, не может компенсировать это никаким индивидуальным вкладом. Даже если он делает работы больше, чем остальные программисты вместе взятые. Впрочем, с немеющими работать в команде такое нечасто бывает.&lt;/p&gt;

&lt;p&gt;В общем, как я и писал, нужно, чтобы недостатки человека компенсировались его достоинствами, а не чтобы недостатков не было. Важный момент - в команде не должно быть “неприкрытых” недостатков, иначе не получится достигнуть хорошего результата. Например, если никто из членов команды не понимает юзабилити, по итоговый продукт будет, хм, своеобразным.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<blockquote><p>
Хм. Всех нормальных разработчиков очень легко подвести под общий знаменатель.
</p></blockquote>
<p>В том-то и дело, что нельзя. Разве что под общим знаменателем иметь в виду принадлежность к Homo Sapiens.</p>
<blockquote><p>
Характерные черты:<br />
1) Ответственность. Как минимум полное тестирование проделанной работы.
</p></blockquote>
<p>Очень важно. Но безответственный программист  при минимальной QA-поддержке может отлично разрабатывать прототипы. То есть для ряда работ такого можно нанять, вопрос только в том, какие проекты вы ведете.</p>
<blockquote><p>
2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.
</p></blockquote>
<p>Даже полная юзабилити-бездарность элементарно обходится через то, что человек пишет реализации интерфейсов / API, придуманных коллегой, понимающим юзабилити.</p>
<blockquote><p>
3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.
</p></blockquote>
<p>Согласен, если вы работаете в команде, то это обязательное требование. Человек, не стремящийся облегчить работу своим коллегам, не может компенсировать это никаким индивидуальным вкладом. Даже если он делает работы больше, чем остальные программисты вместе взятые. Впрочем, с немеющими работать в команде такое нечасто бывает.</p>
<p>В общем, как я и писал, нужно, чтобы недостатки человека компенсировались его достоинствами, а не чтобы недостатков не было. Важный момент &#8211; в команде не должно быть “неприкрытых” недостатков, иначе не получится достигнуть хорошего результата. Например, если никто из членов команды не понимает юзабилити, по итоговый продукт будет, хм, своеобразным.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: enternet</title>
		<link>http://alexlebedev.com/blog/what-must-each-programmer-know/comment-page-1/#comment-28</link>
		<dc:creator>enternet</dc:creator>
		<pubDate>Wed, 23 Aug 2006 06:44:03 +0000</pubDate>
		<guid isPermaLink="false">http://alexlebedev.com/blog/what-must-each-programmer-know/#comment-28</guid>
		<description>&lt;p&gt;Хм. Всех нормальных разработчиков очень легко подвести под общий знаменатель. 
Характерные черты:
1) Ответственность. Как минимум полное тестирование проделанной работы.
2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.
3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.&lt;/p&gt;

&lt;p&gt;Это и есть обязательный минимум при отборе кандидатов. 8-( Почему так мрачно? Да потому, что и такие программисты уже похоже перевелись.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Хм. Всех нормальных разработчиков очень легко подвести под общий знаменатель.<br />
Характерные черты:<br />
1) Ответственность. Как минимум полное тестирование проделанной работы.<br />
2) Основы юзабилити. Человек может слова такого не знать, а всё равно должен задумываться удобно ли его API или интерфейс.<br />
3) Работа в команде. Понимает, что нужно следовать общим требованим, чтобы другим легче было.</p>
<p>Это и есть обязательный минимум при отборе кандидатов. 8-( Почему так мрачно? Да потому, что и такие программисты уже похоже перевелись.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

