<?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>alt-tag.com &#187; Management</title>
	<atom:link href="http://alt-tag.com/blog/archives/category/management/feed/" rel="self" type="application/rss+xml" />
	<link>http://alt-tag.com/blog</link>
	<description>Thoughts on everything from education and politics to internet usability, and programming.</description>
	<lastBuildDate>Sun, 22 Nov 2009 17:52:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Why change efforts are difficult</title>
		<link>http://alt-tag.com/blog/archives/2009/10/why-change-efforts-are-difficult/</link>
		<comments>http://alt-tag.com/blog/archives/2009/10/why-change-efforts-are-difficult/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:54:41 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://alt-tag.com/blog/?p=188</guid>
		<description><![CDATA[I came across a great explanation of what I believe are the primary reasons most organizational change efforts are exceedingly more difficult than leaders initially expect:
[Because] change in organizations typically involves shifts in the way people work, these may introduce feelings of inadequacy and dislocation that potentially challenge people&#8217;s identities as competent workers (Ezzamel, Willmott [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a great explanation of what I believe are the primary reasons most organizational change efforts are exceedingly more difficult than leaders initially expect:</p>
<blockquote><p>[Because] change in organizations typically involves shifts in the way people work, these may introduce feelings of inadequacy and dislocation that potentially challenge people&#8217;s identities as competent workers (Ezzamel, Willmott &#038; Frank, 2001; Kondo, 1990). Organizational changes may also reduce or replace meanings and practices that are central to people&#8217;s positive view of themselves, such as when they are no longer allowed to engage in activities or use artifacts that had signaled their prestige or prowess to others (Pettigrew, 1985). Furthermore, employees may consider new tasks and new approaches as affording them with less autonomy, responsibility, or standing in the organization than their previous ways of working (Cox, 1997), and they may interpret this as an overall loss of status and thus as a threat to their professional identify. <cite>da Cunha, J. V., &#038; Orlikowski, W. J. (2008). Performing catharsis: The use of online discussion forums in organizational change. <em>Information and Organization, 18</em>(2), 132-156. Page 133.</cite></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2009/10/why-change-efforts-are-difficult/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Books worth their weight in gold</title>
		<link>http://alt-tag.com/blog/archives/2009/09/books-worth-their-weight-in-gold/</link>
		<comments>http://alt-tag.com/blog/archives/2009/09/books-worth-their-weight-in-gold/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 14:55:56 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://alt-tag.com/blog/?p=145</guid>
		<description><![CDATA[For years, I&#8217;ve kept a personal (and unfortunately, unwritten) list of books I think every manager, programmer, and [insert category here] should read.
A book every programmer should read
The Pragmatic Programmer: From Journeyman to Master. Every programmer I hired was required to read this book. It&#8217;s a great resource for people managing programmers too. The book [...]]]></description>
			<content:encoded><![CDATA[<p>For years, I&#8217;ve kept a personal (and unfortunately, unwritten) list of books I think every manager, programmer, and [insert category here] should read.</p>
<h3>A book every programmer should read</h3>
<p><a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=020161622X" style="float:left;margin-right:3px"><img src="/blog/blogimages/books/PragProg.jpg"/></a><em><a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=020161622X">The Pragmatic Programmer: From Journeyman to Master</a></em>. Every programmer I hired was required to read this book. It&#8217;s a great resource for people managing programmers too. The book is entirely language agnostic, and focuses on how programmers do (or should) think and work. Most programming books do an adequate job of covering syntax, but few actually address the process of programming. My collegiate programming classes typically expected me to already know the syntax and focused more on the theory of the system, but they too offered little advice on how to actually program. This book, more than any other I&#8217;ve found, fills those gaps.</p>
<p>This book was so unlike most technical books, the authors went on to start their own <a href="http://www.pragprog.com">publishing house</a> for programming books. (I was fortunate to be a technical reviewer for <a href="http://www.amazon.com/gp/product/1934356018?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1934356018">one of them</a>.) All of their books that I&#8217;ve tried thus far have been of high quality.</p>
<p>Another excellent (but less essential) read for programmers is <em><a href="http://www.amazon.com/gp/product/0596007124?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596007124">Head First Design Patterns</a></em>. The book&#8217;s example are in Java, but are easily adapted to other languages.</p>
<h3>A book every technical manager should read</h3>
<p><a href="http://www.amazon.com/gp/product/0932633439?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0932633439" style="float:left;margin-right:3px"><img src="/blog/blogimages/books/Peopleware.jpg"/></a><em><a href="http://www.amazon.com/gp/product/0932633439?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0932633439">Peopleware: Productive Projects and Teams</a></em>, by Tom DeMarco and Timothy Lister. It covers everything from productivity to working conditions and incentives, and explains why programmers are different from &#8220;regular&#8221; folk. The advice here can be easily applied to all technical and knowledge workers. Highly recommended. <em><a href="http://www.amazon.com/gp/product/0767907698?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0767907698">Slack</a></em>, also by DeMarco (which I think is a more recent rendering of some of the same concepts) is on my &#8220;to read&#8221; list&#8212;when I finally get around to finishing it, I&#8217;ll comment on it as well.</p>
<h3>Two books every manager should read</h3>
<p><a href="http://www.amazon.com/gp/product/007148499X?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=007148499X" style="float:left"><img src="/blog/blogimages/books/Influencer.jpg" style="margin-right:3px"/></a><em><a href="http://www.amazon.com/gp/product/007148499X?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=007148499X">Influencer</a></em>, by Kerry Patterson. This book changed the way I think about organizational issues. It begins with the incredible premise that social problems can be addressed by leveraging a single behavior, then delivers example after monumental example demonstrating&#8212;with step-by step instructions&#8212;how true it can be. From eliminating a parasite in remote Africa, to quelling an AIDS epidemic, to more local and mundane organizational or personal problems, <em>Influencer</em> details in easy language why so many transformation efforts fail, and what to do about it.</p>
<p><a href="http://www.amazon.com/gp/product/0066620996?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0066620996" style="float:left;margin-right:3px"><img src="/blog/blogimages/books/GoodToGreat.jpg"/></a><em><a href="http://www.amazon.com/gp/product/0066620996?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0066620996">Good to Great</a></em>, by Jim Collins. Despite criticisms I&#8217;ve heard from a couple of academic researchers calling it &#8220;junk science,&#8221; this book is used in many highly ranked MBA programs, and made rounds at several organizations I&#8217;ve worked with, including Utah state government. Collins examines the differences between companies that were extraordinarily successful year after year (as measured by stock price) and those that hovered near the industry average. It is an interesting look at  many factors that shape the success of organizations.</p>
<h3>More worthwhile books</h3>
<p><a href="http://www.amazon.com/gp/product/0316010669?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0316010669" style="float:left"><img src="/blog/blogimages/books/Blink.jpg" style="margin-right:3px"/></a><em><a href="http://www.amazon.com/gp/product/0316010669?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0316010669">Blink</a></em>, by Malcolm Galdwell. The book is an easy to read and incredibly fascinating exploration of how we think and, despite our best intentions, are affected by biases. I&#8217;m surprised at how often anecdotes and insight from this book were relevant during my MBA courses. If you like <em>Blink</em> and want a more academic and in-depth treatment, I&#8217;ve found <em><a href="http://www.amazon.com/gp/product/0470049456?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0470049456">Judgement in Managerial Decision Making</a></em> to be similarly facinating.</p>
<p><a href="http://www.amazon.com/gp/product/0060084359?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0060084359" style="float:left"><img src="/blog/blogimages/books/Once_an_Eagle.jpg" style="margin-right:3px"/></a><em><a href="http://www.amazon.com/gp/product/0060084359?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0060084359">Once an Eagle</a></em>, by Anton Myrer. A fictional account of two soldiers spanning most the greatest wars of the 20th century. Through the characters, the author explores the ethics of leadership. I&#8217;ve heard it rumored (but don&#8217;t know for certain) that this book is required reading at some of the U.S. military academies. An excellent&#8212;although lengthy&#8212;read.</p>
<p>Others I&#8217;ve found worthwhile include:</p>
<ul>
<li><em><a href="http://www.amazon.com/gp/product/0470049456?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0470049456">Judgement in Managerial Decision Making</a></em>, by  Max Bazerman and Don Moore</li>
<li><em><a href="http://www.amazon.com/gp/product/0884271781?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0884271781">The Goal: A Process of Ongoing Improvement</a></em>, by Eliyahu Goldratt and Jeff Cox</li>
<li><em><a href="http://www.amazon.com/gp/product/0787960756?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0787960756">The Five Dysfunctions of a Team</a></em>, by Patrick Lencioni</li>
<li><em><a href="http://www.amazon.com/gp/product/1576751740?ie=UTF8&#038;tag=alttag-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1576751740">Leadership and Self-Deception</a></em>, by The Arbinger Institute</li>
</ul>
<p>Is there something else that should be on the list?</p>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2009/09/books-worth-their-weight-in-gold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textbook Wisdom on Performance Pay</title>
		<link>http://alt-tag.com/blog/archives/2009/02/textbook-wisdom-on-performance-pay/</link>
		<comments>http://alt-tag.com/blog/archives/2009/02/textbook-wisdom-on-performance-pay/#comments</comments>
		<pubDate>Tue, 10 Feb 2009 05:12:08 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Management]]></category>
		<category><![CDATA[Utah Politics]]></category>

		<guid isPermaLink="false">http://alt-tag.com/blog/archives/2009/02/textbook-wisdom-on-performance-pay/</guid>
		<description><![CDATA[It&#8217;s probably not as much of a hot topic since the State Board of Ed, in an effort to protect other parts of the education budget during these lean times, held back money for district performance pay programs pushed by our peerless legislature, but I suspect the conversation hasn&#8217;t wholly died.  I may not [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s probably not as much of a hot topic since the State Board of Ed, in an effort to protect other parts of the education budget during these lean times, held back money for district performance pay programs pushed by our peerless legislature, but I suspect the conversation hasn&#8217;t wholly died.  I may not be spending my copious free hours hanging out at USOE anymore, but I assure you someone in government is thinking about it.</p>
<p>For those wedded to the idea of performance pay and &#8220;differentiated compensation&#8221; (and not just in public education) may I offer the following nugget from, of all things, an accounting textbook:</p>
<blockquote><p>Incentive compensation for employees, such as bonuses, can, and probably should, be tied to balanced scorecard performance measures.  However, this should be done only after the organization has been successfully managed with the scorecard for some time&#8212;perhaps a year or more.  Managers must be confident that the performance measures are reliable, sensible, and understood by those who are being evaluated, and not easily manipulated.  As Robert Kaplan and David Norton, the originators of the balanced scorecard concept point out, &#8216;compensation is such a powerful lever that you have to be pretty confident that you have the right measures and have good data for the measures before making the link.&#8217;<cite>Garrison, R.H., Noreen, E.W., Brewer, P.C.  (2008) <em>Managerial Accounting</em>, 12th ed. McGraw-Hill. p 446.<br />Internal quote references Lori Calabrom &#8220;On Balance: A CFO Interview,&#8221; <em>CFO</em> Feb 2001, pp 73-78.</cite></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2009/02/textbook-wisdom-on-performance-pay/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Integrating Mantis and Subversion</title>
		<link>http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/</link>
		<comments>http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/#comments</comments>
		<pubDate>Wed, 29 Nov 2006 19:08:25 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/</guid>
		<description><![CDATA[Do you want to know how to integrate Mantis and SVN?  I did, but could never manage the right Google query to return a page written for someone unfamiliar with customizing Mantis.  (I&#8217;m still learning SVN too.)  This is the documentation I wish I&#8217;d had. This process is easier if you know [...]]]></description>
			<content:encoded><![CDATA[<p>Do you want to know how to integrate Mantis and SVN?  I did, but could never manage the right Google query to return a page written for someone unfamiliar with customizing Mantis.  (I&#8217;m still learning SVN too.)  This is the documentation I wish I&#8217;d had. This process is easier if you know Bash or some other scripting language. This was accomplished using Mantis 1.0.0rc2.  An older version may not work with these instructions.</p>
<h3>Introducing Subversion (SVN) Hooks</h3>
<p>Subversion allows for <a href=http://svnbook.red-bean.com/en/1.1/ch05s02.html#svn-ch-5-sect-2.1" title="Manual page for &quot;Hook Scripts&quot;">custom scripts</a> to be called when it performs certain actions on a repository.  Browse to your repository.  The server-side one, not your working copy. In <code>/path/to/svn/repository_name/hooks</code> you will see a list of sample scripts for the five actions subversion recognizes.</p>
<dl>
<dt><code>start-commit</code></dt>
<dd>Run before the commit transaction is created. May be used to stop the transaction and return error messages to clients.</dd>
<dt><code>pre-commit</code></dt>
<dd>Run when the transaction is complete, but before it is committed. It can be used to require comments to include a bug tracker ticket number, or enforce fine-grained access to parts of the repository. It can cause the transaction to rollback and return error messages to clients.</dd>
<dt><code>post-commit</code></dt>
<dd>Run after the transaction is committed, and a new revision is created. Often used to send notification emails or trigger repository backups. Errors from this hook are ignored Subversion comes with some scripts for common actions. Read the manual for more details.</dd>
<dt><code>pre-revprop-change</code></dt>
<dd>Revision properties such as log messages aren&#8217;t versioned. If you were to go back and change a log message, for example, the old one would be lost.  This hook, and its <code>post-</code> counterpart, offer a chance to reject or log the change.</dd>
<dt><code>post-revprop-change</code></dt>
<dd>Run after revision properties are changed.  There are some security restrictions built in, be sure to read the manual.</dd>
</dl>
<p>Well, that sounds simple.  All we have to do is write a script that will log into our bug tracking system and insert a comment on the appropriate ticket.  That sounds easy enough, but let&#8217;s not make things too complicated.  With  a few minor customizations, Mantis will do most of the work for us.</p>
<h3>Customizing Mantis</h3>
<p>The manual for Mantis has two relevant pages. One, titled <a href="http://manual.mantisbt.org/manual.configuration.source.control.integration.php" title="Mantis: Source Control Integration">&#8220;Source Control Integration&#8221;</a>, provides a list of customizable settings, but offers no directions on where these settings are most appropriately accessed.  The other, <a href="http://manual.mantisbt.org/manual.installation.cvs.integration.php" title="Mantis: CVS Integration">&#8220;CVS integration&#8221;</a>, is not terribly helpful either, but it does provide another piece of our puzzle&#8212;it tells us there is a command line PHP script included with Mantis that accepts a version control (e.g. SVN, CVS) log message via stdin, and adds comments to any tickets as appropriate.</p>
<p>First things first.  Create a new user in Mantis.  This is the account the script will use.  I called mine &#8220;svn&#8221;.  Make sure the user has permission to add comments and resolve tickets.  Don&#8217;t forget to add it to your project(s).</p>
<p>Open up <code>/path/to/mantis/config_inc.php</code>.  If it doesn&#8217;t exist, create it.  (If it doesn&#8217;t exist, you didn&#8217;t follow the installation directions.)  This file is used to override default settings.  It&#8217;s not distributed as part of Mantis, so when you upgrade, it won&#8217;t be overwritten. This is where you should have your database connection information, and where you would override the default colors, status/severity options, or any number of <a href="http://manual.mantisbt.org/manual.configuration.php" title="Mantis: Configuration Options">configurable settings</a>.</p>
<p>Add the following lines to <code>/path/to/mantis/config_inc.php</code>:</p>
<p><code class="codeblock">$g_source_control_account = 'svn';<br />
$g_source_control_regexp  = '/\b(?:bug|issue)\s*[#]{0,1}(\d+)\b/i';</code></p>
<p>What does it all mean?  (Some credit is due <a href="http://www.digitalpeer.com/id/mantis" title="Digitalpeer.com: Mantis and SVN Integration">Digitalpeer</a> for helping me through this.  I found it just as I was getting the integration working.  It would have saved some time.)</p>
<dl>
<dt><code>$g_source_control_account</code></dt>
<dd>This is the user we created in Mantis.</dd>
<dt><code>$g_source_control_regexp</code></dt>
<dd>This is the regular expression Mantis will match against the log message.  This is an optional setting; the default is <code>/\bissue [#]{0,1}(\d+)\b/i</code>.</dd>
</dl>
<h4>Using a custom RegExp</h4>
<p>You&#8217;ll notice I defined a regular expression different from the default.  I wanted to not only match the string &#8220;issue #1337&#8243;, but to be a bit more liberal, matching the phrase &#8220;bug #1337&#8243; too.  For those of you savy enough to craft your own expressions, the first capturable group <em>must</em> be the bug number, or the script won&#8217;t work.  (This is hard-coded into Mantis.)  Hence the non-capturing group <code>(?:bug|issue)</code>. </p>
<h4>Automatically closing tickets</h4>
<p>These custom settings lay the groundwork for Mantis to automatically add comments to tickets based on SVN log messages. There are additional settings we can use to get Mantis to resolve tickets automatically too, based on a different regular expression. To enable this behavior, add the following lines to <code>/path/to/mantis/config_inc.php</code>:</p>
<p><code class="codeblock">$g_source_control_set_status_to     = RESOLVED;<br />
$g_source_control_set_resolution_to = FIXED;<br />
$g_source_control_fixed_regexp  = '/\bfix(?:ed|es)\s+(?:bug|issue)?\s*[#]{0,1}(\d+)\b/i';</code></p>
<dl>
<dt><code>$g_source_control_set_status_to</code></dt>
<dd>The status to set the ticket to.  Use <code>CLOSED</code> if you prefer.</dd>
<dt><code>$g_source_control_set_resolution_to</code></dt>
<dd>The resolution attached to the ticket.  There are constants defined for each built-in resolution.  You may use a different one, but <code>FIXED</code> makes the most sense.</dd>
<dt><code>$g_source_control_fixed_regexp</code></dt>
<dd><em>This is an undocumented setting.</em> The default is to be equal to <code>$g_source_control_regexp</code>, but I only wanted certain tickets to be automatically closed, so I used a different regular expression.  My expression matches &#8220;fixes issue #1337&#8243;, &#8220;fix bug #1337&#8243;, or simply &#8220;fixed #1337&#8243;.  (Plus several iterations on those words.) The ticket number must be the first captured group. Altering the expression to also accept the words &#8220;solved&#8221; and &#8220;solves&#8221; is left as an exercise for the reader.</dd>
</dl>
<h4>Testing Mantis</h4>
<p>Before we go further, let&#8217;s make sure we implemented the Mantis settings properly.  Run the following from the command line (alter the paths, of course)<br />
<code class="codeblock"><strong>%&gt;</strong>&nbsp;/path/to/php /path/to/mantis/core/checkin.php &lt;&lt;&lt; "My web monkey fixed issue #1337 by accident."</code>
</p>
<p>If you&#8217;ve configured Mantis correctly, there should be a new comment on ticket #1337.</p>
<h3>Connecting the pieces</h3>
<p>Now that we have Mantis set to accept log messages from our version control system, we need to connect Subversion to it.  Remember the hooks from the beginning of this article? We&#8217;re going to write one.  I used Bash script.  (Be nice, I&#8217;m still learning Bash.)</p>
<p>Save the following file to <code>/path/to/svn/hooks/post-commit</code> (no file extension):</p>
<p><code class="codeblock">#!/bin/bash<br />
&nbsp;<br />
REPOS="$1"<br />
REV="$2"<br />
&nbsp;<br />
log=$(svnlook log -r $REV $REPOS)<br />
&nbsp;<br />
/usr/bin/php -q /var/bugtracker/core/checkin.php &lt;&lt;&lt; "$log"</code></p>
<h4>What is <code>svnlook</code>?</h4>
<p>The program <code>svnlook</code> is distributed as part of Subversion.  Given a revision and repository path as parameters, it will return various properties of the revision, such as the <a href="http://svnbook.red-bean.com/en/1.1/re42.html" title="Subversion Manual: svnlook author">author</a> or <a href="http://svnbook.red-bean.com/en/1.1/re44.html" title="Subversion Manual: svnlook changed">which files were changed</a>.  In this case we&#8217;re asking only for the <a href="http://svnbook.red-bean.com/en/1.1/re51.html" title="Subversion Manual: svnlook log">log message</a>.</p>
<h4>Permissions</h4>
<p>Give the file permission to executable by your repository.  This will be slightly different for each setup, but something similar to the following should do the trick:</p>
<p><code class="codeblock"><strong>%&gt;</strong>&nbsp;cd /path/to/svn/hooks<br />
<strong>%&gt;</strong>&nbsp;chmod 770 post-commit<br />
<strong>%&gt;</strong>&nbsp;chgrp svn post-commit</code></p>
<h4>More on <code>post-commit</code></h4>
<p>The <code>post-commit</code> hook takes two parameters: the repository path and the revision number. If you needed to run <code>post-commit</code> manually (testing your script!), it would look something like this for revision 746:</p>
<p><code class="codeblock"><strong>%&gt;</strong>&nbsp;/path/to/svn/hooks/post-commit /path/to/svn/repository_name 746</code></p>
<h3>SVN and Mantis in perfect harmony</h3>
<p>There you have it.  That&#8217;s how you integrate Subversion with Mantis.  If you have questions, feel free to leave a comment.</p>
<div class="seeAlso">
<p>Special thanks to the guys who spent time writing <em><a href="http://svnbook.red-bean.com/en/1.1/index.html" title="Version Control with Subversion (For Subversion 1.1)">Version Control with Subversion (For Subversion 1.1)</a></em>: Ben Collins-Sussman, Brian W. Fitzpatrick, and C. Michael Pilato. The world would be a better place if every piece of open source software was documented this well. (By contrast, the Mantis documentation is terribly out of date and rather disorganized.)</p>
<h4>A more advanced script</h4>
<p>I wasn&#8217;t content with having just a log message added to my Mantis tickets.  I wanted to know who did it, and what files were changed.  Thus, my actual script is a bit more complicated.  (Remember, I&#8217;m still learning Bash, so be nice.)<br />
<code class="codeblock">#!/bin/bash<br />
&nbsp;<br />
REPOS="$1"<br />
REV="$2"<br />
&nbsp;<br />
auth=$(svnlook author -r $REV $REPOS)<br />
dt=$(svnlook date -r $REV $REPOS)<br />
changed=$(svnlook changed -r $REV $REPOS)<br />
log=$(svnlook log -r $REV $REPOS)<br />
n=$'\n'<br />
/usr/bin/php -q /var/bugtracker/core/checkin.php &lt;&lt;&lt; "Changeset [${REV}] by $auth, $dt$n$log$n$changed"</code>
</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/feed/</wfw:commentRss>
		<slash:comments>117</slash:comments>
		</item>
		<item>
		<title>Customer Service Done Right</title>
		<link>http://alt-tag.com/blog/archives/2006/09/customer-service-done-right/</link>
		<comments>http://alt-tag.com/blog/archives/2006/09/customer-service-done-right/#comments</comments>
		<pubDate>Wed, 06 Sep 2006 05:18:23 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Customer Service]]></category>
		<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://alt-tag.com/blog/archives/2006/09/customer-service-done-right/</guid>
		<description><![CDATA[A friend of mine recently accepted a position at Boise State University, and documented the numerous customer service troubles he encountered along the way. It&#8217;s a bit long but worth reading. I&#8217;ve highlighted his main points here.

As customers, we search for someone to blame, but only because we want a problem fixed. The person who [...]]]></description>
			<content:encoded><![CDATA[<p>A friend of mine recently accepted a position at Boise State University, and <a href="http://helpdesk.boisestate.edu/mark/move1.html">documented the numerous customer service troubles</a> he encountered along the way. It&#8217;s a bit long but worth reading. I&#8217;ve highlighted his main points here.</p>
<ul>
<li>As customers, we search for someone to blame, but only because we want a problem fixed. The person who caused the problem may not be the one to fix it. When working with customers, take ownership; connect the customer to the solution.</li>
<li>Uncorrected little mistakes can become big mistakes. Responsibility lies with those who made the little mistakes at the beginning.</li>
<li>Don&#8217;t try to hide mistakes. Take responsibility&#8212;)but more than that, take ownership of finding a solution.</li>
<li>Capitulating early won&#8217;t provide the emotional win, but in real terms it may be cheaper than arguing. Even if we don&#8217;t consider intangibles like a positive brand image, word-of-mouth, repeat customers, or opportunity costs, our time and our employees&#8217; time is valuable. Understand the cost of covering mistakes.</li>
<li>Empathize, don&#8217;t patronize. We do this by taking ownership, sharing information and providing options.</li>
</ul>
<p>You can see the recurring theme:  <strong>take ownership</strong>.</p>
<p>I had problem with a major telecom when I last moved. (The <em>other</em> major telecom had caused me some significant trouble, so I switched.) I still had no service one week after it was to have been hooked up. It took eight hours on the phone (much of it on hold) over the course of more than fourteen calls to about five different customer service lines (all with horrible phone trees) before was I finally connected to a manager that promised he would personally make sure it was fixed. I was pessimistic, but willing to trust him. I <em>wanted</em> to trust him. He couldn&#8217;t, of course, fix it over the phone, but he did promise to call me back. (Which he did after it was fixed that evening.)</p>
<p>The simple act of someone taking ownership was enough to ease my frustration. I finally felt as if someone cared (empathy), he promised to call me back (information), and he followed through (trust). Why did it take so long to find someone willing to do that?</p>
<p>If you ever have to deal with customers, or manage people who do, head on over and read the whole thing.</p>
<p><em>Before you ask, yes, I know he&#8217;s using a knock-off  of my design. Imitation is the sincerest form of flattery.  And, he asked politely.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2006/09/customer-service-done-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Principles of Law (Part II)</title>
		<link>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-ii/</link>
		<comments>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-ii/#comments</comments>
		<pubDate>Mon, 30 Jan 2006 05:17:20 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Utah Politics]]></category>

		<guid isPermaLink="false">http://tag-strategia.com/blog/?p=29</guid>
		<description><![CDATA[Last week I mentioned some of the ways I approach proposed rules/legislation when evaluating my position. Again, these indicators are 1) being overly specific, 2) being individualized, 3) the absence of consequences and 3) the violation of locality. (Again, IANAL)
Embracing generality
I argued against laws attempting to cover every eventuality through specific language. The alternative is [...]]]></description>
			<content:encoded><![CDATA[<p><em><a href="/blog/archives/2006/01/principles-of-law-part-i/">Last week</a> I mentioned some of the ways I approach proposed rules/legislation when evaluating my position. Again, these indicators are 1) being overly specific, 2) being individualized, 3) the absence of consequences and 3) the violation of locality. (Again, <a href="http://en.wikipedia.org/wiki/IANAL" title="Wikipedia.org: IANAL"><abbr title="I am not a laywer.">IANAL</abbr></a>)</em></p>
<h4>Embracing generality</h4>
<p>I argued against laws attempting to cover every eventuality through specific language. The alternative is a system of law based on principles, rather than specific situations. In my mind, the best example of a set of principles in U.S. law is the <a href="http://usinfo.state.gov/usa/infousa/facts/funddocs/billeng.htm" title="U.S. Info: Bill of Rights">Bill of Rights</a>. Had the founders chosen to define &#8220;speech&#8221; in a more specific manner, it might not now include radio, television, or the internet.</p>
<h4>Solving an individual&#8217;s problems</h4>
<p>An example might prove better than an explanation: In 2004, one of our state legislators pushed a movement to split one of the state&#8217;s larger school districts.  Existing law requires a petition, a public study, and eventually, a majority vote from each of the affected areas.  After the study was released, many citizens realized the disparity in property taxes in the two area was too significant to justify the new district, and most lost interest in the idea. (Taxes in the established area would fall slightly, but taxes in the proposed &#8220;new&#8221; district&#8212;a fast growing area&#8212;would likely double.) Despite a very clear public opinion in opposition to the new school district, the same representative has since sponsored legislation to alter regulations regarding the creation of new school districts. The bill was defeated in 2005; the same legislator is running a similar bill again this year.</p>
<p>I&#8217;m concerned when legislators consider bills criminalizing legal behavior they (or lobbyists) don&#8217;t like. A 2004 bill <a href="http://www.utahpolitics.org/archives/000049.shtml" title="UtahPolitics.org: ">crafted by telecoms</a> and written for the primary purpose of defeating <abbr title="Utah Telecommunications Open Infrastructure Agency">UTOPIA</abbr>, a municipal broadband project, is a recent example. This year, our legislature is considering a senator&#8217;s quest to minimize the teaching of evolution in public schools, against the recommendation of scientists from every major university in the state. (I have yet to hear a single high school science teacher or college professor, including those from private religious universities, speak in favor of the bill, although I&#8217;ve heard many speak against it.) The senator has created a problem where none existed, and is diverting public discussion from more important topics.</p>
<h4>Locality</h4>
<p>Laws should be implemented at the lowest reasonable level. Federal laws against counterfeiting U.S. currency are reasonable.  A federal law mandating all public school students achieve a 100% pass rate on standardized tests is not. A minimum state curriculum, which can be expanded and customized by local districts is a common, reasonable approach. A proposed state law requiring elementary school principles to hold back third-graders unable to meet reading requirements oversteps the concept of locality, although successful programs similar to the one proposed exist at the district and even school level.</p>
<p>Last year in an informal meeting with the state legislature Republican leadership, one of the members present recognized that many legislators were criticizing the federal government for infringing on state issues (especially regarding NCLB), while acting in a similar manner by imposing requirements on local school districts.  He suggested in a general manner that some legislative restraint might be in order. I appreciated the observation.</p>
<h4>Trust</h4>
<p>Overcoming the pressure to legislate from too high of a level comes down to trust.  If the State Board of Education is asked to take action better left to local districts, it is appropriate to exercise trust in those at the local level.  They too are elected, and can often be more responsive to their communities. (Trust in local decision makers was a significant factor in the State Board of Education&#8217;s decision to allow Rich School District to pursue the option of a four-day school week.)</p>
<p>The U.S. Department of Education rigidly applied the mandates of NCLB due to an institutional lack of trust in states. This has changed somewhat in recent months as the new U.S. Secretary of Education, Margaret Spellings, has been granting states more flexibility in choosing their approach to NCLB. In the same way, I hope our legislature will have faith that elected officials, more local to the problem than they, are working toward common goals, and that however well-intentioned some legislation may be, situations can and should be addressed at a more local level.</p>
<h4>Final thoughts</h4>
<p>These observations apply to any type of organization, not just our government. Implementing successful laws can be a difficult task, but I find that whenever I have a concern about about a rule I&#8217;m considering, or legislation I&#8217;m asked to take a position on, that concern can often be reduced to specificity or locality.</p>
<div class="seeAlso">
<p>Related links:</p>
<ul>
<li><a href="http://le.utah.gov/asp/billsintro/index.asp" title="Utah State Legislature: Search">Search current and past Utah legislation</a></li>
<li>A <em>Washington Post</em> article, <a href="http://www.washingtonpost.com/ac2/wp-dyn?pagename=article&#038;node=&#038;contentId=A23818-2003Nov10&#038;notFound=true" title="Washington Post: &quot;No Child Left Behind Act: Fact and Fiction&quot;">&#8220;No Child Left Behind Act: Fact and Fiction&#8221;</a> gives the silliest reason I&#8217;ve come across for the unreasonable &#8220;100% by 2014&#8243; requirement in NCLB.</li>
<li>A Google search turned up several sites with listings of America&#8217;s sillier laws. Many are simply outrageous situations covered under more general laws, and many lacked references, but it was a humorous read. See one listing of <a href="http://www.dumblaws.com/laws/united-states/utah/" title="DumbLaws.com: Utah">stupid Utah laws</a>.</li>
<li>Found on Amazon: <a href="http://www.amazon.com/gp/product/1402716702/ref=pd_sbs_b_2/102-2034649-9067359?%5Fencoding=UTF8&#038;v=glance&#038;n=283155" title="Amazon.com: Wacky Laws, Weird Decisions, and Strange Statutes"><em>Wacky Laws, Weird Decisions, and Strange Statutes</em></a>.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-ii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Principles of Law (Part I)</title>
		<link>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-i/</link>
		<comments>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-i/#comments</comments>
		<pubDate>Sun, 22 Jan 2006 08:42:55 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Management]]></category>
		<category><![CDATA[Utah Politics]]></category>

		<guid isPermaLink="false">http://tag-strategia.com/blog/?p=27</guid>
		<description><![CDATA[My comments on this topic are too long for a single post. This is part one of a multi-part discussion, which will eventually be compiled into a single essay. (IANAL)
As the legislative session opens, I wanted share some observations on law, discuss what makes good law, and explore ways to identify poor laws. In many [...]]]></description>
			<content:encoded><![CDATA[<p><em>My comments on this topic are too long for a single post. This is part one of a multi-part discussion, which will eventually be compiled into a single essay. (<a href="http://en.wikipedia.org/wiki/IANAL" title="Wikipedia.org: IANAL"><abbr title="I am not a laywer.">IANAL</abbr></a>)</em></p>
<p>As the legislative session opens, I wanted share some observations on law, discuss what makes good law, and explore ways to identify poor laws. In many cases, I believe &#8220;poor law&#8221; is often based on commonly held principles, but however well-intentioned is held back in its success by poor scripting, poor planning, or poor implementation. In this article I list items I consider to be some indicators of poor law; no single item purports to be a definitive identification, these are merely lenses I use in evaluating legislation.  (I believe these same principles hold true for evaluating the rules of any organization or business, not just our laws.</p>
<p>In summary these indicators are 1) being overly specific, 2) being individualized, 3) the absence of consequences and 3) the violation of locality.</p>
<h4>Specificity begets specificity</h4>
<p>The more specific a law is, the more specific it needs to be. Once a lawmaker attempts to predict alternatives and possibilities, the need to expand the law to include all eventualities is inevitable. As more specifics are generated, the possibility of loopholes increases, resulting in further legislation. Additionally, an over-specific law replaces reasonable judgment at the &#8220;front lines,&#8221; or most local level, robbing affected parties of flexibility.</p>
<h4>A hypothetical situation</h4>
<p>Let us assume a state wishes to define a process for soliciting contractors for public works projects. All involved agree the process should be fair and equitable. The law is written to require a committee to review bids. In order to be impartial and avoid the appearance of political rewards or cronyism, the committee must be removed from the department actually requiring the service. Proposals must be made public for some period before being considered. Such a system would seem to be fair.</p>
<p>Well intentioned lawmakers may then further &#8220;refine&#8221; the process by appending provisions giving preference to local businesses or companies owned by minorities. An appeals process might be instituted to ensure any party can challenge the fairness of a decision&#8211;in order to by worthwhile, such a provision would require the bid process be halted, or reversed and reconsidered. At risk of offending some party, a process to challenge the project&#8217;s necessity (by reason of the environment, racial equity, cost concerns, etc.) might also be instituted. As the department requesting service and the fulfillment contractor are separated, a series of regular status reports might be required to ensure the contract is being filled appropriately. The list of possible refinements in the interest of fairness is extensive.</p>
</p>
<p>This &#8220;hypothetical&#8221; is a too common practice around the country. Examined in part, each additional requirement seems reasonable; as a whole, it is a cumbersome processes costing additional resources at every step. Process similar to this &#8220;hypothetical&#8221; are the reason many contractors bid for government projects at a significantly higher rate than they would for non-government customers.</p>
<h4>Micromanagement In Action</h4>
<p>A relatively new California law (<a href="http://www.spb.ca.gov/spbtrain/ab1825.htm" title="California Government Code 12950.1 (AB 1825) &quot;Sexual Harassment Prevention&quot;">Government Code 12950.1</a>, which has spawned a host of training and consulting companies) requires companies of more than 50 employees to have sexual harassment training programs in place for all supervisors. The law replaced a much simpler one which simply stipulated employers were expected to take &#8220;reasonable steps.&#8221; The new version imposes requirements regarding the type and frequency of training, questions the experience of instructors, defines course content, and prescribes the method of instruction to a level that would embarrass even the most devoted micro-managers. Yet, the law provides no insulation from liability if complied with. It&#8217;s specificity is a burden to businesses, and provides no additional benefit (to citizens or business) over the law it replaced.</p>
<h4>Hate crimes</h4>
<p>The listing of specific protected classes causes me to question many so-called hate crimes legislation&#8212;or any other anti-discrimination law. (Some may argue that Utah does not have hate crimes laws; this is half-truth. See <a href="http://www.le.state.ut.us/~code/TITLE76/htm/76_03013.htm" title="Utah Code 76-3-203.3">Utah Code 76-3-203.3</a>.) The trap of specifying groups introduces the possibility of excluding some group. Such a list might include ethnicity, culture (not the same thing!), religion (does this include atheists?), sexual preference, income level, family or marital status, employment (or lack thereof), disability or handicap, education level &#8230; the list goes on. Our current law, which has been on the books in some form for more than a decade, upgrades misdemeanors intended to &#8220;intimidate or terrorize&#8221; to felonies. It&#8217;s simple and adequate, focusing on principles rather than contingencies.</p>
<p><em>Will be continued&#8230;</em></p>
<div class="seeAlso">
Related links:</p>
<ul>
<li>Kathy Sierra effectively discusses the inverse correlation between micromanagement and original thought in her article <a href="http://headrush.typepad.com/creating_passionate_users/2005/12/braindeath_by_m.html" title="Creating Passionate Users: BrainDeath by Micromanagement">&#8220;BrainDeath by Micromanagement: The Zombie Function&#8221;</a></li>
<li>Utah&#8217;s &#8220;hate crimes&#8221; law, challenged on grounds it was unconstitutionally broad and unconstitutionally vague, was <a href="http://jurist.law.pitt.edu/paperchase/2005/02/utah-hate-crime-law-facially.php" title="">ruled facially constitutional</a> by the U.S. Tenth Circuit Court of Appeals. (Read the decision, <a href="http://www.kscourts.org/ca10/cases/2005/02/03-4245.htm" title="03-4245 Ward v. State of Utah">Ward v. State of Utah</a>.)</li>
<li>For a philosophical argument against hate-crimes legislation, see <a href="http://www.issues-views.com/index.php/sect/25000/article/25096"><em>Issues &amp; Views</em>, &#8220;Utah&#8217;s &#8216;hate crimes&#8217; lobby tries again&#8221;</a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2006/01/principles-of-law-part-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hiring Technical People</title>
		<link>http://alt-tag.com/blog/archives/2005/12/hiring-technical-people/</link>
		<comments>http://alt-tag.com/blog/archives/2005/12/hiring-technical-people/#comments</comments>
		<pubDate>Wed, 14 Dec 2005 08:30:29 +0000</pubDate>
		<dc:creator>Tom</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://tag-strategia.com/blog/?p=24</guid>
		<description><![CDATA[Back at the beginning of the month I had the pleasure of attending Phil Windley&#8217;s CTO Breakfast. The discussion turned to hiring technically competent employees, which was particularly relevant to me, as I&#8217;m looking to hire a handful of competent ]]></description>
			<content:encoded><![CDATA[<p>Back at the beginning of the month I had the pleasure of attending Phil Windley&#8217;s <a href="http://www.windley.com/archives/2005/12/cto_breakfast_r_8.shtml" title="Windley.com: CTO Breakfast Report">CTO Breakfast</a>. The discussion turned to hiring technically competent employees, which was particularly relevant to me, as I&#8217;m looking to hire a handful of competent <abbr title=Recursive acronym for PHP: Hypertext Preprocessor">PHP</abbr> programmers.</p>
<p>The discussion was timely, as I had spent several hours the previous evening reading articles on interviewing strategy, starting with <a href="http://joelonsoftware.com/" title="Joel On Software">Joel Spolsky</a>, and following links to a slew of sites including <a href="http://www.techinterview.org/faq.html" title="TechInterview.org">techinterview.org</a>, and <a href="http://gladwell.com/2000/2000_05_29_a_interview.htm" title="Gladwell.com: The New-Boy Network">Malcolm Gladwell&#8217;s site</a> (author of <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0316172324&#038;tag=tagstrategia-20&#038;camp=1789&#038;creative=9325" title="Amazon.com: Blink"><em>Blink</em></a> and <a href="http://www.amazon.com/exec/obidos/redirect?link_code=as2&#038;path=ASIN/0316316962&#038;tag=tagstrategia-20&#038;camp=1789&#038;creative=9325" title="Amazon.com: The Tipping Point"><em>The Tipping Point</em></a>). The one point from my browsing that stays with me several weeks later is the thought from Gladwell, quoting Frank Bernieri, a psychologist at the University of Toledo:</p>
<blockquote cite="http://gladwell.com/2000/2000_05_29_a_interview.htm"><p>&#8220;[Tricia Prickett, an undergraduate researcher,] took fifteen seconds of videotape showing the applicant as he or she knocks on the door, comes in, shakes the hand of the interviewer, sits down, and the interviewer welcomes the person,&#8221; Bernieri explained. &#8230; Prickett got a series of strangers to rate the applicants based on the handshake clip, using the same criteria that the interviewers had used. &#8230; &#8220;On nine out of the eleven traits the applicants were being judged on, the observers significantly predicted the outcome of the interview.&#8221;</p>
<div class="cite">Malcolm Gladwell, <a href="http://gladwell.com/2000/2000_05_29_a_interview.htm" title="Gladwell.com: The New-Boy Network">&#8220;The New-Boy Network &#8220;</a><br />Referenced Tue, 13 Dec 2005 23:47 (MDT)</div>
</blockquote>
<p>Gladwell emphasizes the point from his own experience. He was meeting with a Harvard student, and asked several questions. He relates the following regarding one of the answers:</p>
<blockquote cite="http://gladwell.com/2000/2000_05_29_a_interview.htm"><p>Because I had decided, right off, that I liked him, what I heard in his answer was toughness and confidence. Had I decided early on that I didn&#8217;t like [him], I would have heard in that reply arrogance and bluster. The first impression becomes a self-fulfilling prophecy: we hear what we expect to hear.</p>
<div class="cite">Malcolm Gladwell, <a href="http://gladwell.com/2000/2000_05_29_a_interview.htm" title="Gladwell.com: The New-Boy Network">&#8220;The New-Boy Network &#8220;</a><br />Referenced Tue, 13 Dec 2005 23:47 (MDT)</div>
</blockquote>
<p>I&#8217;ve seen this as I&#8217;ve sat on both sides of the interview table. While working at a private university, I was asked to hire and train 21 employees in just over a month. It was just prior to the start of the semester, so we had numerous candidates to choose from. I can still recall several candidates who made an impression one way or the other within the first few minutes&#8212;and their technical responses made little difference in the final outcome.</p>
<h4>Asking Technical Questions</h4>
<p>While at the CTO Breakfast, another participant expressed some frustration in finding developers locally.  He was asking technical questions to his interviewees, and was disappointed none had thus far answered at a level he preferred.  Others present suggested the question might be too specific, and that more general questions might be more worthwhile. If we ignore for the moment the suggestion that interviews may be decided in the first twenty seconds, what questions are appropriate?</p>
<p>When applying for a data reporting position at a major internet retailer, the interviewer tapped the director of software development to ask me technical questions to verify my knowledge of <abbr title="Structured Query Language">SQL</abbr>, which were mostly related the effect of null values on data sets. I didn&#8217;t feel like I did terribly well, despite several years experience in the field, but he gave me high marks.  (We&#8217;ve both since left the company, but are still friends, which takes me back to the the thought that the first impression may prove stronger than the quality of answers.)</p>
<p>What kinds of questions prove valuable?  Those present at the breakfast suggested several:</p>
<ul>
<li>What blogs do you follow, or what web sites do you read regularly?</li>
<li>What did you Google before this interview?</li>
<li>Have you contributed to an open source project?</li>
<li>What programming projects have you completed primarily for personal use (e.g. just for the challenge or fun of it)?</li>
</ul>
<p>After being hired by the internet retailer, I got to talking with the development manager about the questions he asks developers. He likes to ask candidates to perform some simple string manipulation without using any of the standard C libraries; it serves as a stepping stone to software architecture questions, asking candidates to justify their solution from different perspectives, such as process speed or memory conservation. When interviewing at other companies I&#8217;ve been asked about the benefits and hazards of multiple inheritance in object-oriented languages, or what kind of quality controls are appropriate for evaluating data sets. Only once have I been asked a puzzle question (&#8221;How many barbers are there in the U.S.?&#8221;), which I found to be not only completely out of left field, but also rather useless as an evaluation of my problem-solving ability.</p>
<h4>A Realistic Environment</h4>
<p>Another question from the CTO Breakfast was whether we (unintentionally) make the interview environment limiting or artificial. If we ask programming questions, do we provide access to Google, or online manuals? I spend much of my time programming in PHP&#8212;and I wouldn&#8217;t be nearly as effective without the ability to regularly reference the online documentation to verify function names, return values, and attribute order.</p>
<p>The very nature of most interviews (chairs on opposing sides or a desk) also lend to a somewhat restrictive setting.  I&#8217;m more comfortable when I can pace in front of a whiteboard with a marker in my hand, erasing my first several ideas as a solid solution is built piece by piece. An interview is rarely as forgiving as a whiteboard.</p>
<p>I haven&#8217;t had a chance to put into practice the ideas I gleaned from the discussion. (The most recent applicant never showed.) I&#8217;m sure I&#8217;ll get the chance soon&#8212;I still need to hire several web programmers!</p>
]]></content:encoded>
			<wfw:commentRss>http://alt-tag.com/blog/archives/2005/12/hiring-technical-people/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
