<?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>The 5min Blog &#187; Programming</title>
	<atom:link href="http://blog.5min.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.5min.com</link>
	<description>Behind the scenes (and in front of them) at 5min</description>
	<lastBuildDate>Sun, 22 Nov 2009 10:06:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Zen and the Art of Programming</title>
		<link>http://blog.5min.com/2007/06/10/zen-and-the-art-of-programming/</link>
		<comments>http://blog.5min.com/2007/06/10/zen-and-the-art-of-programming/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 09:12:17 +0000</pubDate>
		<dc:creator>Benny</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.5min.com/2007/06/10/zen-and-the-art-of-programming/</guid>
		<description><![CDATA[Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â 
I&#8217;ve been developing software for the last 10 years, and operating computers for 20. I have watched endless programmers, team leaders, project managers and CTOs bang their heads (or do other stupid things) with anger and frustrationevery time they observed the non-disputable fact of life that computers don&#8217;t always do what we want them to. [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: Verdana">Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â <img width="237" src="http://blog.5min.com/wp-content/uploads/2007/06/butterfly-detail.jpg" height="295" style="width: 237px; height: 295px" />Â </span></p>
<p><span style="font-family: Verdana">I&#8217;ve been developing software for the last 10 years, and operating computers for 20. I have watched endless programmers, team leaders, project managers and <span class="blsp-spelling-error"><span id="SPELLING_ERROR_0">CTOs</span></span> bang their heads (or do other stupid things) with anger and <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_1">frustration</span></span>every time they observed the non-disputable fact of life that computers don&#8217;t always do what we want them to. Hell, they sometimes don&#8217;t even do what they were asked to do (Which is something <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_2">completely</span></span> different from what we expect them to do.)</span></p>
<p><span style="font-family: Verdana"></span><span style="font-family: Verdana">This is a universal truth and software developers can benefit the most from integrating it into our systems: Things don&#8217;t always work as we expect. The difference between us is what we do with this fact. </span></p>
<p><span style="font-family: Verdana">As I see, it there are mainly two ways to handle this. Some ignore reality and stick to their opinions. We can see these guys shouting and hitting their computers and some of them develop <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_3">habits</span></span> of &#8220;saying YES and doing NO&#8221;, always being late and other <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_4">behaviors</span></span> that express <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_5">repressed</span></span> anger. On a more professional level, you may notice some programmers that insist on sticking to their bugs and can spend days with them, even if they could solve them quickly. By <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_6">struggling</span></span> with their work they <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_7">achieve</span></span> much self <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_8">feedback</span></span>like &#8220;I&#8217;m working so hard&#8221; and &#8220;This job is so difficult, I must be so smart to be doing it&#8221;.</span><span style="font-family: Verdana"> </span><span style="font-family: Verdana">Others accept reality and recognize the emotions this reality stirs in them. Those people will usually act according to decisions and not emotions. They also can be stressed or relaxed in their work, but they will at least make a <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_9">genuine</span></span> effort to make things better both professionally and inter-personally. </span></p>
<p><span style="font-family: Verdana">The amount of stress that we <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_10">acquire</span></span> at work is directly connected to the way we recognize and process our feelings and emotions during the workday. If we know how to harness these powerful emotions to our use we can <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_11">achieve</span></span> so much more then if we are fighting the emotions, working hard to keep them inside.</span><span style="font-family: Verdana">Software development is a very complex task, constructed of many little tasks that we perform and put together in order to create a complete product or feature. All this complexity is done using very, very, and complex hardware that include billions of tiny electrical components. It&#8217;s wonder it actually works at all! No wonder it has its <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_12">glitches</span></span>. </span></p>
<p><span style="font-family: Verdana">ThisÂ reminds me of a sentence from chaos theory that states that systems become more chaotic as they become more complex. I believe that computers are so complex that they conform to this rule.</span><span style="font-family: Verdana">Those that accept reality looks at every bug as an <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_13">opportunity</span></span> to improve, to learn new things, a <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_14">challenge</span></span> that needs to be met, not a problem that needs to be solved. Such a state of mind creates a relaxed, interesting, fruitful working <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_15">environment</span></span>. This is the right ground to promote creative thinking and creative solutions. With such inner position we can learn new things easily and enjoy the learning process. After all, if there are no more bugs our work is done. The essence of our work is bug fixing. This is what we do. Anyone can create bugs, not all of us can solve them.</span><span style="font-family: Verdana"> </span><span style="font-family: Verdana">After a while working in this state of mind one starts to write less, but more efficient code. One finds more time to think than hit on keys, but gets more work done faster. When it comes to approaching new challenges, one starts to use intuition. </span></p>
<p><span style="font-family: Verdana">Sometimes we &#8220;just know&#8221; things. It&#8217;s stupid to ask a beginner to use intuition. He should follow the rules for a while. But after a while, the solutions start <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_16">popping</span></span>up like popcorn. There are many ways to do each task and choosing the right one is many times an intuitive decision. We usually don&#8217;t have time to explore all the options well, and we have to choose. These decisions should be taken by an experienced person, and he will be stupid NOT to use intuition in his decisions.</span><span style="font-family: Verdana"> </span><span style="font-family: Verdana">Our intuition is our highest inner voice (emotions-thoughts-intuition) and only by using it can we <span class="blsp-spelling-corrected"><span id="SPELLING_ERROR_17">achieve</span></span> self-completion in our life and in our work.</span><span style="font-family: Verdana">I know there is no code sample with this post. I think developers can still benefit from it&#8230;</span><span style="font-family: Verdana">yours,</span><span style="font-family: Verdana">Benny.</p>
<p></span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.5min.com/2007/06/10/zen-and-the-art-of-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
