<?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>Just wondering.... &#187; management</title>
	<atom:link href="http://sworddance.com/blog/category/management/feed/" rel="self" type="application/rss+xml" />
	<link>http://sworddance.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 08 Sep 2010 05:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>User-Generated Content? Do not use BurstNET</title>
		<link>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/</link>
		<comments>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 23:54:04 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=649</guid>
		<description><![CDATA[A hosting provider, BurstNet, shut down a wordpress hosting service, Blogetery.com, last week. This is an example of egregious abuse of power by BurstNET against Blogetery.com. Blogetery.com hosts 70,000 wordpress blogs. Apparently, a few of those blogs had &#8220;an al-Qaeda &#8230; <a href="http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">A hosting provider, BurstNet, shut down a wordpress hosting service, Blogetery.com, last week</a>.  </p>
<p><a href="http://www.readwriteweb.com/archives/burstnet_statement_links_blogetery_to_al-qaeda.php">This is an example of egregious abuse of power by BurstNET against Blogetery.com</a>. <a href="http://Blogetery.com/">Blogetery.com</a> hosts 70,000 wordpress blogs. Apparently, a few of those blogs had &#8220;an al-Qaeda hit list&#8221; and &#8220;bomb-making&#8221; instructions on them. So for the <em>possible</em> sins of a few, 69,999 innocent blogs are shutdown with no recourse. </p>
<p><a href="https://www.burst.net/news/blogetry.shtml">You can read BurstNet&#8217;s lame press release here</a>.</p>
<p>Any web service that allows user-generated content ( so pretty much any site that isn&#8217;t a static site) would be subject to a draconian response by BurstNET. What is especially egregious is that BurstNet is not letting Blogetery get access to any of Blogetery&#8217;s data!</p>
<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">Continuing, from the New York Times Bits blog,</a>:</p>
<blockquote><p>And Kurt Opsahl, a staff attorney for the Electronic Frontier Foundation, a digital rights group, said the “tragedy is that thousands of blogs will be taken offline for no good reason.”</p>
<p>Mr. Yusupov said he had backed up some of the blogging site’s data, but not all. And he said he was trying to negotiate with BurstNet to get the data so he could restart the blogging site with another hosting service. “This has been a big hassle for me,” he said.</p></blockquote>
<p><a href="http://bits.blogs.nytimes.com/2010/07/20/shutdown-of-blogging-site-sparks-dispute/">In the New York Times Bits blog,</a>:</p>
<blockquote><p>Mr. Marr of BurstNet said the Blogetery server did “not get a lot of use or traffic,” suggesting the number of active users of the free blogging site was probably a tiny fraction of the 73,000 Blogetery claimed.</p></blockquote>
<p>So basically, Blogetery is a small business and is therefore &#8220;not important&#8221;. Important news to any small business considering using BurstNet: </p>
<blockquote><p>BurstNET thinks small businesses are not important</p></blockquote>
<p>Stay away, stay away! You cannot run a business where at the arbitrary whim of the hosting provider you can be shutdown, especially if the hosting provider will not supply your data so you can go elsewhere!</p>
<p><a href="http://www.sworddance.com/blog/2009/08/17/dont-let-the-lawyers-run-the-business/">For similar reason, I stayed away from GoGrid (and now BurstNet).</a></p>
<p>Update ( 28 July 2010 ) :</p>
<p><a href="http://news.cnet.com/8301-31001_3-20011471-261.html">A last interesting point from CNET about how Burst.NET feels about their customers&#8217; data (aka don&#8217;t use Burst.Net for mission-critical purposes)</a>:</p>
<blockquote><p>Joe Marr, chief technology officer of Burst.net, stressed again that the reason for the service termination was that the materials the FBI <em>alleges</em> belonged to terrorists are a violation of Burst.net&#8217;s terms of service. He noted that typically, <strong>Burst.net does not return data to customers booted for TOS violations</strong>. </p></blockquote>
<p>Violations of the Burst.NET Terms of Service result is losing all your data! </p>
<p>Excuse me????</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/07/20/user-generated-content-do-not-use-burstnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If you don&#8217;t vote, your opinion doesn&#8217;t matter. And sometimes you shouldn&#8217;t vote</title>
		<link>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/</link>
		<comments>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 17:00:42 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[political]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=632</guid>
		<description><![CDATA[(This post is related to management I promise! ) Robert Cruickshank over at the California HSR Blog whines about Palo Alto&#8217;s &#8220;undemocratic&#8221; democratic process: In short, it is becoming increasingly clear that Palo Alto’s planning and citizen engagement process is &#8230; <a href="http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>(This post is related to management I promise! )</p>
<p><a href="http://www.cahsrblog.com/2010/06/palo-altos-unrepresentative-citizen-engagement-process-distorts-hsr-realities/" rel="nofollow">Robert Cruickshank over at the California HSR Blog whines about Palo Alto&#8217;s &#8220;undemocratic&#8221; democratic process</a>:</p>
<blockquote><p>In short, it is becoming increasingly clear that Palo Alto’s planning and citizen engagement process is a failure, distorting true public opinion by favoring a small, vocal elite at the expense of a silent majority whose opinions are much more supportive of new density and new transportation solutions – but whose voices are rarely ever included in the city’s planning process.</p></blockquote>
<p>Of course, our democratic process requires energy and participation. There are lots of people who chose not to vote because their vote &#8220;will not be effective&#8221;.</p>
<p>Most people are uninformed about this issue, do not ride transit, or have no idea how to build transit effectively. Their opinion should not count as much as the people who are taking the time to inform themselves and to be involved.</p>
<p><em>If someone is not involved, their opinion is probably uninformed and negative.</em></p>
<p><strong>Meetings to planning a company project can be just as bad.</strong></p>
<p>Uninformed people should not be part of the process(<sup>see below</sup>). In<br />
<a href="http://www.inc.com/magazine/20100201/a-little-less-conversation.html" rel="nofollow">an old Inc. article, Joel</a>:</p>
<blockquote><p>When was the last time you scheduled a meeting and invited eight people instead of the three people who really needed to be there simply because you didn&#8217;t want anyone to feel left out?</p>
<p>When was the last time you sent a companywide e-mail that said something like, &#8220;Hey, attention coffee drinkers: If you finish the pot, make another!&#8221; even though there is actually only one person who violates this rule (and she&#8217;s your co-founder)?</p>
<p>When was the last time you got into a long discussion over the color palette for the new brochure with a programmer, who has nothing to do with the brochure but sure knows that he doesn&#8217;t like orange?</p>
<p>These are symptoms of a common illness: too much communication.</p></blockquote>
<p><em>(&#8220;below&#8221;)</em><br />
However, I disagree with Joel&#8217;s assertion that only people whose vote counts should be allowed to attend meetings. Decisions with no visible process result in no buy-in. While a company is not a democracy, and a city is not a company both should learn from each other.</p>
<p>What a company can learn from a city:</p>
<ol>
<li><em>Process does matter.</em> Process means consistency and reliability in how decisions are being made. People know how to voice their opinion. They know that there is a means and method for voicing their opinion. Instead of voicing opinion in an adhoc, disruptive manner &#8211; they can wait until the allocated time. </li>
<li><em>Only some people get a vote.</em> Many people can show up to a city council to express their opinion, but only city council members get a vote. In company meeting, discussion can include everyone &#8211; but predecided ( and preannounce! ) who&#8217;s vote will be counted. For example, if a developer is trying to decide who to best implement a feature. Only his/her, the CTO&#8217;s, QA&#8217;s and customer service rep&#8217;s votes are counted. Others who are not involved, do not get to vote. They can express their opinion but they are not a decision maker (for this issue). Only people expending effort or where the decision has a material impact on their job should be counted.</li>
<li><em>Representatives get &#8220;elected&#8221;</em>. Allow some self-selection in the process. Try to allow the lead representative to be selected by people other than managers. If a developer selected to be the lead in a project makes a decision, this makes it easier for the decision to be respected.</li>
<li><em>Make the discussion observable and inclusive</em> While only some people get a vote, allowing others to learn from the process of making a decision prepares those observers to step into their own decision-making role. It also allows them to take knowledge from one decision-making group to another.</li>
</ol>
<p>What a city can learn from a company:</p>
<ol>
<li><em>Require an energy expenditure to participate.</em> A meeting should only be open to people who have attended the last 5 meetings.</li>
<li><em>Allow adhoc representation.</em> Allow people to represent adhoc groups. For example, allow a person to collect 10+ signatures of his neighbors giving him/her proxy authority to voice their collective opinion. Require that this adhoc representative keep the people she is representing informed of the progress and results. (With power should come responsibility).</li>
<li><em>Allow weighted voting.</em> In a company, the CTO&#8217;s vote counts more than a lowly developer. When voting for a company&#8217;s board of directors&#8217;, shareholders have a vote based on number of shares not a one vote per shareholder. In a city planning process, the &#8220;vocal&#8221; minority may represent no one other than themselves. Let the &#8220;vocal minority&#8221; collect proxy signatures to indicate how strongly their &#8220;silent&#8221; neighbors (who can&#8217;t participate) trust the &#8220;vocal&#8221; people to represent the &#8220;silent&#8221; majorities best interest. The more signatures, the more strongly a &#8220;vocal&#8221; representative&#8217;s vote/opinion should count. Allow certain signatures to be more valuable than others based on the issue. For example, distance to a housing project, transit user&#8217;s opinion on a transit project, etc.</li>
</ol>
<p>Update:</p>
<p>Lastly, learn when you should not vote or participate.</p>
<ol>
<li>If you personally do not have any direct, meaningful, unique knowledge: don&#8217;t participate. Observing is o.k. &#8211; voicing a &#8220;I agree&#8221; content-free vocalization is not o.k.</li>
<li>If you don&#8217;t have the time to stay involved: don&#8217;t sign up and then drop out.</li>
<li>If an issue has no one who cares: then the decision can be made by a single person. Others should insist that that single person make the decision. The sole decision-maker should not need the CYA of a &#8220;group vote&#8221;.</li>
<li>If you cannot expend effort on the solution, then don&#8217;t vote. Note that &#8220;effort&#8221; does not mean &#8220;coding&#8221; or &#8220;making&#8221;</li>
<li>If the decision will not effect how hard your job is, then don&#8217;t vote. If the decision does meaningfully effect your job then you <em>must</em> participate and must vote.</li>
</ol>
<p>There is this temptation to dismiss the concerns of Customer Service or QA people as being less important than that of the development team. This is ass-backwards.</p>
<p>A Customer Service rep will have to deal daily with a bad development decision. Their job satisfaction, their ability to deliver happy customers is daily determined by developers decisions. They must be allowed to participate and must be given a strong voice.</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/24/if-you-dont-vote-your-opinion-doesnt-matter-and-sometimes-you-shouldnt-vote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>why people bother to interview here &#8211; if you can&#8217;t teach (Part 2)</title>
		<link>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/</link>
		<comments>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 17:11:08 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=624</guid>
		<description><![CDATA[Part 1 was a technical question that I ask because so many &#8220;strong&#8221; developers cannot answer that technical Java question. Part 2, is more about the valuable soft skill of teaching. One of my standard questions that candidates constantly struggle &#8230; <a href="http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sworddance.com/blog/2005/12/22/why-people-bother-to-interview-here-part-1/">Part 1 was a technical question that I ask because so many &#8220;strong&#8221; developers cannot answer that technical Java question.</a> Part 2, is more about the valuable soft skill of teaching.</p>
<p>One of my standard questions that candidates constantly struggle with is the most simple and yet the most subtle:</p>
<blockquote><p>Teach me something you know.</p></blockquote>
<p>If a candidate cannot teach &#8220;something&#8221;, then they have not completely thought through and learned the subject. Someone who claims to be &#8220;strong&#8221; in Java, databases, or cooking is only strong if they can articulate the core essence of their knowledge in a way that a beginner can understand.</p>
<p>When developing code at a startup, a good &#8220;teacher&#8221;:</p>
<ul>
<li>understands that it is the teacher&#8217;s responsibility to reach the student. If the student doesn&#8217;t understand, then a good &#8220;teacher&#8221; patiently retries until the student does understand. In a startup, the &#8220;student&#8221; is a new hire, a sales person or the customer;</li>
<li>writes excellent code comments (for the student),</li>
<li>is patient and not egotistic when others don&#8217;t &#8220;get it&#8221;;</li>
<li>can articulate their own problems so that others can help;</li>
<li>can give presentations to non-technical people;</li>
<li>is empathic;</li>
<li>is motivated to do their own learning.</li>
<li>is enthusiastic</li>
</ul>
<p>So what can you teach?</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/06/03/why-people-bother-to-interview-here-if-you-cant-teach-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bad management advice from Jason Calacanis</title>
		<link>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/</link>
		<comments>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/#comments</comments>
		<pubDate>Fri, 28 May 2010 09:00:04 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=605</guid>
		<description><![CDATA[I am beginning to think that Jason Calacanis&#8217; advice should be taken in the opposite. Jason Calacanis&#8217;s latest advice on when to fire people ignores human psychology: Calacanis goes on to examine the three categories of that mistakes and employees &#8230; <a href="http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I am beginning to think that Jason Calacanis&#8217; advice should be taken in the opposite. <a href="http://www.readwriteweb.com/start/2010/05/youre-fired-or-not-advice-on-w.php">Jason Calacanis&#8217;s latest advice on when to fire people ignores human psychology</a>:</p>
<blockquote><p>Calacanis goes on to examine the three categories of that mistakes and employees can fall into and discusses his thoughts on who and when to fire:</p>
<ol>
<li>A great team member who makes a big mistake
<p>Verdict: Don&#8217;t fire them. Talk about the mistake, and brainstorm ways to fix it and to make sure it doesn&#8217;t happen again.</li>
<li>An average team member who makes a big mistake
<p>Verdict: Fire them. In fact, Calacanis makes the argument that you shouldn&#8217;t hire average employees at your startup in the first place.</li>
<li>A great team member who makes multiple mistakes
<p>Verdict: It&#8217;s complicated, and unfortunately, it&#8217;s all too common. Calacanis says that when faced with this, he does try to work through the person&#8217;s problems. And while he notes that founders might not have the time or the training to do this, he stresses its importance. &#8220;When you try to save a flawed, yet at other times effective, team member, you send the other members of your team a positive message: loyalty.&#8221;</li>
</ol>
</blockquote>
<p>Seems reasonable doesn&#8217;t it? But lets break this down from the perspective of the employee.</p>
<p><strong>Flaw #1: Employee does not know where (s)he stands. </strong></p>
<p>Does the employee know that he is an &#8220;average employee&#8221; or is a &#8220;great team member&#8221;? From earlier in the post, clearly in this case the employee responsible for the problem in question thought that he was an average employee living under the one strike rule:</p>
<blockquote><p>And according to Calacanis, the individual responsible was apologetic, fearing that he&#8217;d be fired.</p></blockquote>
<p><strong>Flaw #2: &#8220;Great Team Member&#8221; Employee does not know when their chances are used up.</strong></p>
<p>In the case, in question the sysadmin who screwed up and let people post the the jason-list discovered he was a &#8220;great team member&#8221;. This mistake did not mean his job. whew&#8230;. however, if that sysadmin makes another mistake &#8211; how much time has to elapse before he is in the category #3 &#8211; &#8220;great team member but multiple mistakes&#8221;? Is he allowed 1 per month? one per quarter?</p>
<p><strong>Flaw #3: Inconsistent response</strong></p>
<p>Human beings as a rule do not respond well to perceived inconsistently applied punishment. Having the &#8220;great team members&#8221; not get fired for a mistake that got a &#8220;average&#8221; employee fired does not create loyalty &#8211; just fear.</p>
<p><strong>Flaw #4: Dependency on above average employees</strong></p>
<p>A business owner should be creating a reproducible process that drives repeated high-quality execution. Relying on above average talent to sustain the business is simply bad practice that results in inconsistent and high-stress environments.</p>
<p><strong>Flaw #5: Blame</strong></p>
<p>Failures are always a sign of a systemic problem. When the B-17 (Flying Fortress) was developed there were several crashes traced back to pilot error. <a href="http://www.atchistory.org/History/checklst.htm">&#8220;Some newspapers had dubbed it[B-17] as ‘too much plane for one man to fly.’ </a>. The Air Force&#8217;s solution was not to find better pilots but rather to develop the checklist.</p>
<hr/>
<p><em><strong><u>My summarized counter suggestions:</u></strong></em></p>
<ol>
<li>Look for and reward passion &#8211; passionate people will self-correct each other</li>
<li>Define a fireable offense, in advance and apply consistently</li>
<li>Expect better &#8211; Put everyone on a Performance Improvement Plan including the CEO &#8211; Performance improvement plans should be a plan to raise the organizational execution level.</li>
<li>Expect Greatness &#8211; Drive a plan to get people to &#8220;hit above their weight class&#8221; &#8211; in other words exceed their personal best. Read the book <a href="http://en.wikipedia.org/wiki/Moneyball" rel="nofollow">Moneyball</a> to understand this idea applied in baseball.</li>
<li>Create Checklists &#8211; Use the above average people in the organization to create a process that does prevents mistakes. In other words, the creative great people should not necessarily be promoted to managers but rather be put in charge of formalizing their &#8220;above averageness&#8221;. Internally, I am working on having a great contributor (&#8220;Bill&#8221;) formalize his current responsibilities. This formalization will enable another contributor (&#8220;Peter&#8221;) with a significantly lower skill set to take over the tasks. Because of the formalization of greatness, &#8220;Peter&#8221; will operate at Bill&#8217;s higher skill level. Bill can now move on to other new challenges.</li>
</ol>
<p>Update: <a href="http://bhorowitz.com/2010/05/14/why-startups-should-train-their-people/">Read ben horowitz&#8217; post</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/05/28/bad-management-advice-from-jason-calacanis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Empathic Developers?</title>
		<link>http://sworddance.com/blog/2010/01/16/empathic-developers/</link>
		<comments>http://sworddance.com/blog/2010/01/16/empathic-developers/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 00:05:23 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=567</guid>
		<description><![CDATA[Amazing! Someone else also recognizes the crying need for &#8220;soft&#8221;, people skills in the hard, rocket science techie community! I ran into Ari Krupnik at the Hacker Dojo job fair. I have constantly beaten my head against the wall trying &#8230; <a href="http://sworddance.com/blog/2010/01/16/empathic-developers/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Amazing! Someone else also recognizes the crying need for &#8220;soft&#8221;, people skills in the hard, rocket science techie community!</p>
<p>I ran into <a href="http://www.lib.aero/">Ari Krupnik</a> at the <a href="http://hackerdojo.pbworks.com/Hacker-Dojo-Job-Fair">Hacker Dojo job fair</a>. I have constantly beaten my head against the wall trying to get other developers to understand that most people are not interested in technology for technology&#8217;s sake. Most people outside Silicon Valley has a life that does not revolve around technology but rather uses technology as an expression of &#8220;self&#8221; (&#8220;iPhone gets me the girl&#8221;).  Non-techie types are anti-<a href="http://en.wikipedia.org/wiki/RTFM" rel="nofollow">RTFM</a>. Developers as a rule don&#8217;t understand and think the users are eager to spend hours discovering how wonderful the program is.</p>
<p><a href="http://www.lib.aero/emotional-engineering.aml">Ari apparently does</a>:</p>
<blockquote><p>I notice that engineers who block specific emotions entrain drama that revolves around the very emotions they block. The drama seems to go away as soon as the engineer is willing to experience the feeling that he blocks. In the tribe, we help each other unblock feelings and experience them fully. The results seem to include better relationships with peers and customers, and improvements in code quality. </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2010/01/16/empathic-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blame. NO. Responsibility. YES!</title>
		<link>http://sworddance.com/blog/2009/08/16/blame-no-responsibility-yes/</link>
		<comments>http://sworddance.com/blog/2009/08/16/blame-no-responsibility-yes/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 19:44:36 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[amplafi]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=474</guid>
		<description><![CDATA[When reaching for the stars, something will go wrong. Rockets blow-up. Servers crash. Regressions happen. How you handle the setbacks is critical. Blame is a useless response. Blame is negative. After blame has been assigned, the rocket is still in &#8230; <a href="http://sworddance.com/blog/2009/08/16/blame-no-responsibility-yes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When reaching for the stars, something will go wrong.</p>
<p>Rockets blow-up.<br />
Servers crash.<br />
Regressions happen.</p>
<p>How you handle the setbacks is critical. Blame is a useless response. Blame is negative. After blame has been assigned, the rocket is still in pieces, the server is still down, and the bug still exists.</p>
<p>Hire people that take <strong>RESPONSIBILITY</strong> for finding <em>SOLUTIONS</em>. Hire people that look to HELP others shoulder the <strong>RESPONSIBILITY</strong> to fire the problem. Hire people that look for ways to <em>prevent</em> a duplicate of the same problem.</p>
<p>Once the problem is fixed, do you and your company spend time praising the &#8220;firefighters&#8221; only? Do you spend any time praising the person who caused the fire but was RESPONSIBLE enough to step forward, admit the problem, and help fix it?</p>
<p>Do you take RESPONSIBILITY as a manager to give your people time to build a &#8220;sprinkler system&#8221; to put out a similar future fire? </p>
<p>The first &#8220;fire&#8221; might be caused by someone else&#8217;s carelessness. But the second fire is YOUR responsibility if you didn&#8217;t budget time and money for that &#8220;sprinkler system&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2009/08/16/blame-no-responsibility-yes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The 100-hour work week myth</title>
		<link>http://sworddance.com/blog/2009/07/05/the-100-hour-work-week-myth/</link>
		<comments>http://sworddance.com/blog/2009/07/05/the-100-hour-work-week-myth/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 07:46:21 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[amplafi]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[rants]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=467</guid>
		<description><![CDATA[Chris Yeh calls out workaholism as the stupid choice it is: If you work 100-hour weeks, no one (investors, co-founders, employees) can blame you if things don&#8217;t work out, right? And I like to think I&#8217;ve worked a lot smarter &#8230; <a href="http://sworddance.com/blog/2009/07/05/the-100-hour-work-week-myth/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://chrisyeh.blogspot.com/2009/06/workaholism-is-choice-usually-wrong-one.html">Chris Yeh calls out workaholism as the stupid choice it is</a>: </p>
<blockquote><p>If you work 100-hour weeks, no one (investors, co-founders, employees) can blame you if things don&#8217;t work out, right?</p>
<p>And I like to think I&#8217;ve worked a lot smarter since then [missing dinner with spouse].</p>
<p>The life of an entrepreneur can be rough, but at least it&#8217;s a life of your choosing. The same can&#8217;t be said for your family. Give then a chance to make their own choice.</p></blockquote>
<p>In other words, it is the default choice in the valley and in the technology sector. And its a stupid choice. 168 hours in the week. 100 hours at work. Allow 8 hours/day for sleep. Drive-time to/from work of 1 hour. This leaves exactly 13 hours for the employee to do *anything else*.</p>
<p>A few years ago, I had a job with the best work-life balance. This start-up had with only 7 engineers with 30-ish total people. Between November and January, we built a Paypal integration and a major piece of functionality that got the start-up their first bits of solid revenue. Everyone took their normal holiday vacation. Every programmer worked 9-5. No weekend work. We completed the project on-time.</p>
<p>The company is <a href="http://www.linkedin.com">LinkedIn</a>. We achieved this because<a href="http://www.linkedin.com/in/jvaillant"> Jean-Luc Vaillant</a> was fanatically about knowing exactly what was to be built and automated tests so he knew exactly where the code was. Those tests had to pass each and every night. No new work was to be done until all the previous night&#8217;s failed tests were fixed.</p>
<p>Every later employer had to live up to this reasonable bar. Sadly most fail and most projects are late.</p>
<p>They fail because the managers listen to the siren song singing the lies:</p>
<ul>
<li>that says that automatic tests are optional;</li>
<li>&#8220;trusting&#8221; the developer to adequately test by hand is good enough;</li>
<li>that there is more time to do-it-again than to do it right</li>
<li>that documentation is optional and it better to have team members figure out anothers work than it is to demand that the creator document;</li>
<li>and that long hours are better than sane hours</li>
</ul>
<p>While Chris does touch on the work-life balance with his wife, he misses some key points. If the team is working 100-hours/week:</p>
<ul>
<li>the team has no reserve capacity &#8211; if a short-term sprint is needed to wrap up a project &#8211; forget it</li>
<li>the team starts to waste time at work: web surfing and game-playing. So while physically there, they are neither productive nor getting a break from the work environment.</li>
<li>as soon as there is any corporate setback &#8211; moral collapses. When it looks like the company is going to be the next Google, employees will justify to themselves that working ridiculous hours will pay-off. This illusion is dispelled at the first severe setback.</li>
<li>someone outside of work is always telling the employee how stupid they are to work such long hours. The wife, the husband, the kids, the mother, or just the friends who are going up for that most excellent ski trip to Lake Tahoe.</li>
</ul>
<p>So my advice to employers:</p>
<ul>
<li>Get rid of the game room. Make employees have fun outside of the building.</li>
<li>Cut the power to the employees computers at midnight. Make them sleep so they can think and not make silly mistakes.</li>
<li>Do a postmortem on every crisis. Without blame and with automation ONLY, look for ways to make sure that the crisis can never, ever repeat. Working &#8220;harder&#8221; or requiring greater &#8220;perfection&#8221; is NOT the answer.</li>
<li>Reward employees &#8211; not for working harder, freeing up &#8216;capacity&#8217;. Did some developer, IT person, or janitor do something or automate something that freed up 20 minutes/person/week? In a 30-person startup, those 20 minutes saved is the same as hiring a full-time person for <em>3 months</em>! Get everyone to look for these &#8220;small&#8221; time-savers. Work now becomes less onerous, more enjoyable, and your headcount stays down.</li>
</ul>
<p>Expanding on the last point with some examples:</p>
<ul>
<li>Automatic tests &#8212; avoids developers acting like monkeys do manual tests.</li>
<li>Buy the absolute fastest machines. My latest machine took me from 15 minutes builds to 1m30second builds. I started running the tests all the time!</li>
<li>Virtual assistants to handle the random shit that an employee might have to do during the day</li>
<li>Every 6 weeks, a mobile oil change service so that no one needs to run to Jiffy Lube</li>
<li>Outsourcing human resource issues</li>
</ul>
<p>Spend the time to discover those &#8220;small, annoying&#8221; things that seem to petty to complain about &#8212; but that impact a significant percentage of  the company. </p>
<p>Remember for a small 30-person startup saving 1hr20m/person/week ( i.e. 16min/person/day ) is the same as hiring another person. And in the process, enables everyone to step back from the brink.</p>
<p>Google has their famous 20% &#8220;free&#8221; time to work on new projects. Every startup should have 20% &#8220;free-up&#8221; time to make existing projects less painful.</p>
<p>While I am working hard at <a href="http://amplafi.com">amplafi</a> I am working even hard on making sure that my family knows I much rather be with them than coding.</p>
<p>Also read <a href="http://steveblank.com/2009/06/15/lies-entrepreneurs-tell-themselves/">Steve Blank&#8217;s post on the Lies told Entrepreneurs.</a></p>
<hr/>
Update ( 27 July 2009 ) <a href="http://www.readwriteweb.com/readwritestart/2009/07/not-in-the-valley-at-least-compete.php">My response to Paul Jozefak, a German VC, guest blog post</a>:</p>
<blockquote><p>Strongly, strongly agree with:</p>
<blockquote><p>Ask me what I see lacking most in startups in Europe and I&#8217;ll say hunger, drive, and lofty goals.</p></blockquote>
<p>For me my hunger and drive come directly from wanting to change the world for my children.</p>
<p>So I equally strongly DISagree with:</p>
<blockquote><p>worked four jobs for the money to launch their venture, without giving a second thought to &#8220;quality of life&#8221; or &#8220;spending time with the kids.&#8221;</p></blockquote>
<p>For me sacrificing the hours between 6:30-9:30pm that I spend with my kids is a false choice. I sacrifice that time only when absolutely necessary and never more than 2 days in a row. Once I have those 3 hours with family, I am emotionally recharged and able to focus completely on building my company, Amplafi.</p>
<p>I am not alone in this. <a href="http://chrisyeh.blogspot.com/2009/06/workaholism-is-choice-usually-wrong-one.html">Chris Yeh</a> and <a href="http://steveblank.com/2009/06/15/lies-entrepreneurs-tell-themselves/">Steve Blank : Lies Entrepreneurs Tell Themselves</a> share my feelings.</p>
<p>My personal reality is the least successful company demanded the worse and longest hours. And the most successful startup asked the most reasonable hours. We work from 9-5. No weekends. No missed holidays. You might have hear of it. Its called <a href="http://linkedin.com</a>. <a href="http://www.linkedin.com/in/jvaillant">Jean-Luc Vaillant did his job and managed his people well.</a></p>
<p>Shitty long hours is not a badge of honor. Its a sign of bad prioritization and resource management. Sure some times the long hours are necessary&#8230; just like a sprint is necessary at the end of a marathon. But you don&#8217;t sprint the entire length of the marathon. And unlike a marathon in a startup, there is no rest after crossing the first finish line &#8211; just another finish line in the distance. </p>
<p>A startup that is sprinting constantly better hope that they get bought before exhaustion sets in. Otherwise their competitors that have paced themselves better will pass them up and their best people will burned out and quit. Any little stumble, any sign that success and glory are a few months away&#8230; and the startup starts spending time looking for fresh blood.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2009/07/05/the-100-hour-work-week-myth/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Code Review #8: When to comment</title>
		<link>http://sworddance.com/blog/2009/03/16/when-to-comment/</link>
		<comments>http://sworddance.com/blog/2009/03/16/when-to-comment/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 18:10:10 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[code review]]></category>
		<category><![CDATA[management]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=357</guid>
		<description><![CDATA[The last ? in a series of posts about commenting. See &#8220;the why&#8221;. See &#8220;not commenting is career threatening&#8221;. And the comment that started this off! This post should have really been the second one I wrote. The first post &#8230; <a href="http://sworddance.com/blog/2009/03/16/when-to-comment/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The last ? in a series of posts about commenting. See <a href="http://www.sworddance.com/blog/2009/03/04/code-review-7-comment-the-why-not-the-what/">&#8220;the why&#8221;</a>. See <a href="http://www.sworddance.com/blog/2009/03/04/not-commenting-code-is-dangerous-to-your-career/">&#8220;not commenting is career threatening&#8221;</a>. And <a href="http://www.sworddance.com/blog/2007/05/29/thoughts-on-how-to-evaluate-code/#comment-16341">the comment that started this off</a>!</p>
<p>This post should have really been the second one I wrote. The <a href="http://www.sworddance.com/blog/2007/05/29/thoughts-on-how-to-evaluate-code">first post was about who a developer needs to keep happy</a> &#8211; the client or <a href="http://www.sworddance.com/blog/2009/03/04/not-commenting-code-is-dangerous-to-your-career/">the manager</a>.</p>
<p>But commenting everything is both hard, excessive, and wasteful of time. In &#8220;the why&#8221; post, I cover what should be in the comments &#8211; implicitly I was limiting comments to just the places where knowing &#8220;the why&#8221; is important.</p>
<p>However, still the question is &#8220;when&#8221; should a developer comment?</p>
<p>Here is my rule of thumb:</p>
<ul>
<li>Any developer had to spend time figuring out what the code did. Refactor it and if still not clear comment the code with questions and assumptions. (Just in case the refactoring introduced a bug or caused an existing bug to appear.)</li>
<li>Another developer asks the implementing developer (or the current &#8220;owner&#8221;/responsible developer) about the code, interfaces, package. The developer asking the question copy the explanation into the code, cleaning up the chat log/email response and adding further edits and explanation as needed.</li>
<li>The code is not going to have further development for a while. Comment the code enough so that when development is resumed, the restart is faster.</li>
<li>The code is being handed off from one developer to another.</li>
<li>Key interfaces that are used by multiple groups.</li>
</ul>
<p>And managers give developers time to wrap up and add these comments.</p>
<p>Conversely, what is not worth commenting:</p>
<ul>
<li>Code that is actively, daily, being changed rearchitected. Every developer already knows what the comments would say and the structure is changing fast enough that the comments would become outdated.</li>
<li>Code that does not impact data integrity and end-user experience in a horrid way.</li>
<li>Utility classes/ methods.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2009/03/16/when-to-comment/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Third person in the room</title>
		<link>http://sworddance.com/blog/2009/03/14/third-person-in-the-room/</link>
		<comments>http://sworddance.com/blog/2009/03/14/third-person-in-the-room/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 05:55:14 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[how to]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[political]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=344</guid>
		<description><![CDATA[Passion is a wonderful thing. When someone is &#8220;wrong&#8221; about a subject that you care passionately about, it is natural to argue with them and try to &#8220;prove&#8221; to them that they are wrong. Don&#8217;t. Mentally step back. Look around. &#8230; <a href="http://sworddance.com/blog/2009/03/14/third-person-in-the-room/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Passion is a wonderful thing.</p>
<p>When someone is &#8220;wrong&#8221; about a subject that you care passionately about, it is natural to argue with them and try to &#8220;prove&#8221; to them that they are wrong.</p>
<p>Don&#8217;t.</p>
<p>Mentally step back. Look around. There is always a third person in the room. Even if that third person doesn&#8217;t look like they are paying attention; they are. </p>
<p>Are you at a party arguing in a corner? The tone of your voices will reach others. The facial expressions will reach others. What are you saying to those other people?</p>
<p>If this is a subject that you really do care passionately about, and the second person also cares passionately, diametrically-opposite opposite to you, neither one is likely to convince the other to change their mind.</p>
<p>The person&#8217;s mind you can change is that third person. The person who is casually observing. The person on the fence who hasn&#8217;t yet made up their mind.</p>
<p>Take the time to use and channel your passion to reach that third person to your side. That is the person you need to persuade. </p>
<p>Focus on being pleasant and reasonable sounding. Not argumentative. Don&#8217;t be dismissive of the person you are directly disagreeing with.</p>
<p>Use curiosity to counter their points. &#8220;I am curious why you feel this way, when &#8230;&#8221; (h/t to <a href="http://influence-integrity.com">Genie Z. Laborde, Ph.D.</a> ) </p>
<p>Your curiosity conveys open-mindedness to that third person. Your curiosity will persuade that third person.</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2009/03/14/third-person-in-the-room/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Review #7 &#8211; Comment the &#8220;why&#8221; not the &#8220;what&#8221;</title>
		<link>http://sworddance.com/blog/2009/03/04/code-review-7-comment-the-why-not-the-what/</link>
		<comments>http://sworddance.com/blog/2009/03/04/code-review-7-comment-the-why-not-the-what/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 22:48:38 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[code review]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=338</guid>
		<description><![CDATA[[This post continues the response to Mike.] Clean &#8220;good&#8221; code is good but not enough. Code needs comments &#8212; but the right kind of comments. &#8220;What&#8221; comments are useless and the most quickly out-dated. An example of a what comment &#8230; <a href="http://sworddance.com/blog/2009/03/04/code-review-7-comment-the-why-not-the-what/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>[This post <a href="http://www.sworddance.com/blog/2009/03/04/not-commenting-code-is-dangerous-to-your-career/">continues the response</a> to <a href="http://www.sworddance.com/blog/2007/05/29/thoughts-on-how-to-evaluate-code/#comment-16341">Mike.</a>]</p>
<p>Clean &#8220;good&#8221; code is good but not enough. Code needs comments &#8212; but the right kind of comments.</p>
<p>&#8220;What&#8221; comments are useless and the most quickly out-dated. An example of a what comment is: &#8220;add the suffix path to the end&#8221;. </p>
<p>However, <a href="http://www.sworddance.com/blog/2007/05/29/thoughts-on-how-to-evaluate-code/">the post &#8220;Thoughts on how to evaluate code&#8221;</a> was very specific referring to &#8220;why&#8221; comments. </p>
<p>Code no matter how &#8220;clean&#8221; can not self-document. Excellent comments are &#8220;why&#8221; comments. &#8220;Why&#8221; comments talk about :</p>
<ol>
<li>the assumptions / program state the code is expecting. (For example, the user is logged in, premium membership, or admin privileges )</li>
<li>other code affected if this code is changed (For example, setting up a language default for the session, a default that another piece of code is expecting to be set.)</li>
<li>if something is being done in a non-standard way &#8211; why it is being done that way (for example, iterating through a loop from high index to low-index rather than the standard low to high)</li>
<li>should the code in question be used as an example pattern of how to do similar operations elsewhere in the code &#8211; or should a developer instead use a different pattern elsewhere.</li>
<li>list the assumptions or conditions that require this implementation (with timestamp) so that it is easy to spot code that is present to handle conditions that no longer exist. For example, a comment like this: &#8220;12/20/2007 &#8211; yahoo&#8217;s open id implementation is using the openid 0.8-proposedspec.&#8221; Its pretty likely that the the spec has changed as has yahoo&#8217;s implementation. This wasn&#8217;t a HACK but knowing that reason behind the code is invaluable.</li>
<li>Future work planned.</li>
<li>Alternative solutions that were rejected (and why).</li>
<li>Performance considerations &#8211; this code might be special because it executes millions of times a second. So there is good reasons for some &#8220;ugliness&#8221;.</li>
<li>Update: Why the code was NOT done in a certain way.maybe the usual way to do a certain operation has resulted in a bug (reference the bug number in the comment! )</li>
<li>Update: You, as a developer, are confused by the code. Document your confusion! You may have just discovered a bug.</li>
<li>Update: Document other code looks related for a possible later refactoring.</li>
<li>Update: Document code that should be removed ( Java&#8217;s @Deprecated is very useful in this regards because IDEs can mark references to the deprecated code )</li>
</ol>
<p>The developer,  at the moment they are writing the code, must be able to explain <em>why</em> they are writing the code a certain way. It is a red flag to any developer if they cannot explain the why. They should double-check to make sure they understand the requirements. Chances are they don&#8217;t and they are doing the wrong thing. </p>
<p>I started requiring developers to clearly document the &#8220;why&#8221; in their code. I discovered developers that were doing things &#8220;wrong&#8221; because they were unaware of the correct solution. I discovered that I was not as clear in conveying the requirements  as I really thought. Without the developer&#8217;s &#8220;why&#8221; comment, it is easy to get frustrated with developers for the wrong reasons.</p>
<h4>Parting thought</h4>
<p>Why should the developers that come after the original developer have to spend any time ( and money! ) figuring out the previous work? </p>
<p>You may be the next developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://sworddance.com/blog/2009/03/04/code-review-7-comment-the-why-not-the-what/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
