<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Please, Ask Stupid Questions</title>
	<atom:link href="http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/</link>
	<description>programming, technology and human behavior</description>
	<lastBuildDate>Wed, 23 Jun 2010 00:33:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: mgb</title>
		<link>http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/comment-page-1/#comment-57</link>
		<dc:creator>mgb</dc:creator>
		<pubDate>Fri, 05 Sep 2008 16:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://looplabel.wordpress.com/?p=540#comment-57</guid>
		<description>The topic isn&#039;t trivial, and I wouldn&#039;t ever say it was.  But as a senior developer you should know certain basic facts.  It is hard enough to figure out why a concurrency problem occurs when you have a fundamental understanding of the isolated pieces.

You don&#039;t need to have implemented a transactional database engine, but you DO need to have kind-of-generally heard and read a few articles about CRUD and ACID after a relatively short time working with databases.  That&#039;s the core of my concern.

If the guys building software that we all know and love don&#039;t know about this stuff, that&#039;s a symptom of a really huge problem with education somewhere along the line.  This material is covered in any undergrad class that mentions parallelism or concurrency - hardware should do it a bit, databases should do it a bit, multiprocessing should do it a bit, etc.  If every industrial-strength coder out there isn&#039;t learning it, then maybe someone needs to take a look at why that is.

I agree, by the by, that questions are fine to ask.  Better to know than not.  But years of maintenance coding has taught me to seek the root of the problem whenever possible.</description>
		<content:encoded><![CDATA[<p>The topic isn&#8217;t trivial, and I wouldn&#8217;t ever say it was.  But as a senior developer you should know certain basic facts.  It is hard enough to figure out why a concurrency problem occurs when you have a fundamental understanding of the isolated pieces.</p>
<p>You don&#8217;t need to have implemented a transactional database engine, but you DO need to have kind-of-generally heard and read a few articles about CRUD and ACID after a relatively short time working with databases.  That&#8217;s the core of my concern.</p>
<p>If the guys building software that we all know and love don&#8217;t know about this stuff, that&#8217;s a symptom of a really huge problem with education somewhere along the line.  This material is covered in any undergrad class that mentions parallelism or concurrency &#8211; hardware should do it a bit, databases should do it a bit, multiprocessing should do it a bit, etc.  If every industrial-strength coder out there isn&#8217;t learning it, then maybe someone needs to take a look at why that is.</p>
<p>I agree, by the by, that questions are fine to ask.  Better to know than not.  But years of maintenance coding has taught me to seek the root of the problem whenever possible.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anders Sandvig</title>
		<link>http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/comment-page-1/#comment-56</link>
		<dc:creator>Anders Sandvig</dc:creator>
		<pubDate>Thu, 04 Sep 2008 22:37:20 +0000</pubDate>
		<guid isPermaLink="false">http://looplabel.wordpress.com/?p=540#comment-56</guid>
		<description>@mgb
&lt;em&gt;&quot;Tell me I’m wrong, but please don’t appeal to a straw man argument of being mean to people when they legitimately should know better.&quot;&lt;/em&gt;

I see your point, and I do understand your reaction. I didn&#039;t mean to hang you out in any way. I mostly quoted Chris for the comment about the importance of an open (work) environment, where any question can be asked without fear of being ridiculed.

I agree that we should have certain expectations to senior developers, but I also think that those expectations vary from person to person, depending on their own experience and background. For example, I learned assembly language when I was fourteen, but I don&#039;t expect other programmers to know assembly. Even though I think those that do have an advantage in many situations, I also know many skilled developers who never needed to learn assembly and thus never did. Similarly, I have never implemented a transactional database engine, and there are probably many concepts involved in doing so that I am not aware of or don&#039;t understand.

Personally, I am not surprised to learn that even experienced developers have trouble understanding transactions, database locks and parallelism. The topic may seem trivial to you, but I know many who consider the subject of parallelism inherently complex.

Anyway, my point here is not whether someone should know the theory behind database locks and implementation of transactions or not. Even if someone &lt;em&gt;should&lt;/em&gt; know what they are asking about, I still think it&#039;s important that they &lt;em&gt;do&lt;/em&gt; ask.</description>
		<content:encoded><![CDATA[<p>@mgb<br />
<em>&#8220;Tell me I’m wrong, but please don’t appeal to a straw man argument of being mean to people when they legitimately should know better.&#8221;</em></p>
<p>I see your point, and I do understand your reaction. I didn&#8217;t mean to hang you out in any way. I mostly quoted Chris for the comment about the importance of an open (work) environment, where any question can be asked without fear of being ridiculed.</p>
<p>I agree that we should have certain expectations to senior developers, but I also think that those expectations vary from person to person, depending on their own experience and background. For example, I learned assembly language when I was fourteen, but I don&#8217;t expect other programmers to know assembly. Even though I think those that do have an advantage in many situations, I also know many skilled developers who never needed to learn assembly and thus never did. Similarly, I have never implemented a transactional database engine, and there are probably many concepts involved in doing so that I am not aware of or don&#8217;t understand.</p>
<p>Personally, I am not surprised to learn that even experienced developers have trouble understanding transactions, database locks and parallelism. The topic may seem trivial to you, but I know many who consider the subject of parallelism inherently complex.</p>
<p>Anyway, my point here is not whether someone should know the theory behind database locks and implementation of transactions or not. Even if someone <em>should</em> know what they are asking about, I still think it&#8217;s important that they <em>do</em> ask.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mgb</title>
		<link>http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/comment-page-1/#comment-55</link>
		<dc:creator>mgb</dc:creator>
		<pubDate>Thu, 04 Sep 2008 20:48:12 +0000</pubDate>
		<guid isPermaLink="false">http://looplabel.wordpress.com/?p=540#comment-55</guid>
		<description>As the asker of the offending question, I think it&#039;s fair to ask the senior architects in an organization building a major website to know a bit about certain things.  We&#039;re not talking about anyone at all, we&#039;re talking about someone who&#039;s building a major site for coders.  I was expressing astonishment rather than specifically beating on Jeff for his lack of knowledge.  Do you honestly believe it&#039;s ok for someone to be at that level and still be entirely unaware of even the possibility of a read preventing a write?  I&#039;m no guru, but I would expect &lt;b&gt;anyone&lt;/b&gt; in a technical leader role to know about that kind of really basic knowledge.  Tell me I&#039;m wrong, but please don&#039;t appeal to a straw man argument of being mean to people when they legitimately should know better.</description>
		<content:encoded><![CDATA[<p>As the asker of the offending question, I think it&#8217;s fair to ask the senior architects in an organization building a major website to know a bit about certain things.  We&#8217;re not talking about anyone at all, we&#8217;re talking about someone who&#8217;s building a major site for coders.  I was expressing astonishment rather than specifically beating on Jeff for his lack of knowledge.  Do you honestly believe it&#8217;s ok for someone to be at that level and still be entirely unaware of even the possibility of a read preventing a write?  I&#8217;m no guru, but I would expect <b>anyone</b> in a technical leader role to know about that kind of really basic knowledge.  Tell me I&#8217;m wrong, but please don&#8217;t appeal to a straw man argument of being mean to people when they legitimately should know better.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Corey</title>
		<link>http://blog.looplabel.net/2008/09/03/please-ask-stupid-questions/comment-page-1/#comment-54</link>
		<dc:creator>Corey</dc:creator>
		<pubDate>Wed, 03 Sep 2008 20:51:11 +0000</pubDate>
		<guid isPermaLink="false">http://looplabel.wordpress.com/?p=540#comment-54</guid>
		<description>I agree completely.  Thinking someone is stupid because they don&#039;t know something is, well, retarded.  Everyone can&#039;t know everything, it&#039;s all about being able to do some problem solving and be able to learn new things and figure things out.</description>
		<content:encoded><![CDATA[<p>I agree completely.  Thinking someone is stupid because they don&#8217;t know something is, well, retarded.  Everyone can&#8217;t know everything, it&#8217;s all about being able to do some problem solving and be able to learn new things and figure things out.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
