<?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>Stefano Ricciardi &#187; review</title>
	<atom:link href="http://stefanoricciardi.com/tag/review/feed/" rel="self" type="application/rss+xml" />
	<link>http://stefanoricciardi.com</link>
	<description>On Software Development and Thereabouts</description>
	<lastBuildDate>Thu, 02 Sep 2010 15:01:11 +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>Book Review: Pragmatic Thinking And Learning</title>
		<link>http://stefanoricciardi.com/2010/04/05/book-review-pragmatic-thinking-and-learning/</link>
		<comments>http://stefanoricciardi.com/2010/04/05/book-review-pragmatic-thinking-and-learning/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 20:55:06 +0000</pubDate>
		<dc:creator>stefanoricciardi</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://stefanoricciardi.com/?p=875</guid>
		<description><![CDATA[Since you are reading this blog I assume that you are a software developer, or more in general a &#8220;knowledge worker&#8221; as Peter Drucker refers to the person “who puts to work what he has between his hears rather than the brawn of his muscles or the skill of his hands” in his excellent book [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fstefanoricciardi.com%2F2010%2F04%2F05%2Fbook-review-pragmatic-thinking-and-learning%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fstefanoricciardi.com%2F2010%2F04%2F05%2Fbook-review-pragmatic-thinking-and-learning%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.amazon.co.uk/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050%3FSubscriptionId%3D0JTCV5ZMHMF7ZYTXGFR2%26tag%3Dstefaricci-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1934356050"><img style="margin: 0px 5px 0px 0px; display: inline;" src="http://ecx.images-amazon.com/images/I/51xArZnegaL._SL160_.jpg" alt="" align="left" /></a></p>
<p>Since you are reading this blog I assume that you are a software developer, or more in general a <em>&#8220;knowledge worker&#8221;</em> as <a href="http://en.wikipedia.org/wiki/Peter_Drucker">Peter Drucker</a> refers to the person <em>“who puts to work what he has between his hears rather than the brawn of his muscles or the skill of his hands”</em> in his excellent book <a href="http://www.amazon.co.uk/Effective-Executive-Peter-F-Drucker/dp/0434209503%3FSubscriptionId%3D0JTCV5ZMHMF7ZYTXGFR2%26tag%3Dstefaricci-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0434209503">Effective Executive</a>.</p>
<p>And if you try to keep up to date by reading books, blogs, listening to podcasts, etc&#8230; I sure don&#8217;t have to tell you how difficult it is staying on top of new technologies, frameworks, languages which come out quicker and quicker. It’s sure impossible to keep up with everything.</p>
<p>Trying to come up with some new ideas on how tackle this issue, I have picked up the book <a href="http://www.amazon.co.uk/Pragmatic-Thinking-Learning-Refactor-Programmers/dp/1934356050%3FSubscriptionId%3D0JTCV5ZMHMF7ZYTXGFR2%26tag%3Dstefaricci-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D1934356050">Pragmatic Thinking and Learning: Refactor Your Wetware</a> by <a class="zem_slink" title="Andy Hunt (author)" rel="wikipedia" href="http://en.wikipedia.org/wiki/Andy_Hunt_%28author%29">Andy Hunt</a> with high expectations, having loved <a href="http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X%3FSubscriptionId%3D0JTCV5ZMHMF7ZYTXGFR2%26tag%3Dstefaricci-21%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D020161622X">The Pragmatic Programmer</a> (see my review of that book <a href="http://stefanoricciardi.com/2009/11/09/book-review-the-pragmatic-programmer/">here</a>) where Andy Hunt was one of the two authors. And I must say that I have not been disappointed: Pragmatic Thinking and Learning is another great book.</p>
<p>Let’s have a quick look to the contents.</p>
<h2>From Novice To Expert</h2>
<p>The book first focuses on describing a few phases one goes through in his learning journey. The Dreyfus brothers have tried to formalize the steps to reach the expert status on a given skill (like practicing a sport or programming using a particular language) in the following way:</p>
<ul>
<li><strong>Novice</strong>: you start from here and for basically everything you have to do you need a &#8220;recipe&#8221;.</li>
<li><strong>Advance Beginner</strong>: you now start trying things on your own, and need <em>reference</em> documentation (think of a list of API)</li>
<li><strong>Competent</strong>: you have more <em>initiative</em>, can troubleshoot existing problems and solve new ones.</li>
<li><strong>Proficient</strong>: at this stage you are more self-conscious of your own skill and want to understand the larger picture. This feedback is vital for your continuous improvement.</li>
<li><strong>Expert</strong>: at this stage you keep looking for better ways of doing things. You tend to work from <em>intuition</em> as opposed to a fixed set of rules and reason: you just ten to &#8220;feel&#8221; what&#8217;s right in any given situation.</li>
</ul>
<h2>How Your Brain Works and How To Make The Best Use of It</h2>
<p>The model put forward of your brain here is that of a &#8220;dual core&#8221; CPU. But the two halves don&#8217;t work the same way:</p>
<ul>
<li><strong>L-Mode</strong>: this is your <em>linear</em> mode(traditionally associated with the left hemisphere): analytical, rational, verbal. This is perhaps the part of our brain that we are most familiar with in our day-to-day activities as software developers.</li>
<li><strong>R-Mode</strong>: intuitive, analogic, non-rational. These are the traits most commonly associated with artists.</li>
</ul>
<p>This major section of the book explains why, as a knowledge worker, you need <em>both</em> modes to fully exploit your abilities, and gives tips on how to &#8220;shut up&#8221; the L-Mode for a while so that you can engage more the R-mode.</p>
<p>It then goes on to help you &#8220;debug&#8221; your thinking process, introducing several cognitive biases (things such as &#8220;self serving bias&#8221;, &#8220;hawthorne effect&#8221;, &#8220;false memory&#8221;) and explains that many of your hard-coded thought patterns might just be due to the generation you belong to (are you in the <a class="zem_slink" title="Baby Boom Generation" rel="wikipedia" href="http://en.wikipedia.org/wiki/Baby_Boom_Generation">Baby Boom Generation</a>, in the <a href="http://en.wikipedia.org/wiki/Generation_X">Generation-X</a> or in the <a class="zem_slink" title="Generation Y" rel="wikipedia" href="http://en.wikipedia.org/wiki/Generation_Y">Millennial Generation</a>?).</p>
<h2>Learn to Learn and Gain Experience</h2>
<p>The book then concentrates on the best practices to learn:</p>
<ol>
<li>You need to set <a href="http://www.projectsmart.co.uk/smart-goals.html">SMART</a> objectives for what you want to reach. Having a plan will keep you focused.</li>
<li>You need to consider your skills as a knowledge portfolio. You need to diversify the areas you decide to invest in and dedicate some quality time to it regularly (which requires planning some time in advance: trying to find some <em>free hours </em>here and there simply doesn’t work…).</li>
<li>You need to discover how you learn best. Do you prefer books and videos (visual) or podcasts (audio)? Consider joining a study group,</li>
<li>Use advanced learning techniques such as <a href="http://en.wikipedia.org/wiki/SQ3R" target="_blank">SQ3R</a>, or <a href="http://en.wikipedia.org/wiki/Mind_Mapping" target="_blank">mind mapping</a>. Teach to others.</li>
<li>We learn best by doing: explore, play (= have fun) with the concepts, gets your hand dirty. Experiment and don’t be afraid to make mistakes, possibly in a non-stressful situation (you don’t want to have the pressure of a “real” work project).</li>
</ol>
<h2>Keep the Focus</h2>
<p>The last part of the book has is somehow lighter and it’s dedicated to ways to increase your focus and attention. The author touches upon different topics from meditation to productivity tricks: if you have been exposed to productivity blogs such as <a href="http://lifehacker.com/">Lifehacker</a> you are like to be familiar with most of these already</p>
<h2>Conclusions</h2>
<p>This has really been a fun book to read and I whole-heartedly recommend it. I have gone back to it quite a few times already after reading it from cover to cover.</p>
<p>Each small chapter contains a “Next Actions” section with exercises and goals for you to try out and throughout the book there are tons of references if you are interested in a particular topic and want to dig more.</p>
<p>It used to be that all you needed to perform your job was “The C Programming Language”. That’s not the case any more.</p>
<blockquote><p>If I had eight hours to cut down a tree, I’d spend six hours sharpening my ax. &#8212; Abraham Lincoln.</p></blockquote>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="float: right; border-style: none;" src="http://img.zemanta.com/pixy.gif?x-id=c4e653b7-1ab6-4d42-a231-4f4d02bbbcf1" alt="" /></div>
<div class="wlWriterHeaderFooter" style="margin: 0px; padding: 0px 0px 0px 0px;">
<div class="shoutIt"><a rev="vote-for" href="http://dotnetshoutout.com/Submit?url=http://stefanoricciardi.com/2010/04/05/book-review-pragmatic-thinking-and-learning/&amp;title=Book+Review%3a+Pragmatic+Thinking+And+Learning"><img style="border: 0px;" src="http://dotnetshoutout.com/image.axd?url=http://stefanoricciardi.com/2010/04/05/book-review-pragmatic-thinking-and-learning/" alt="Shout it" /></a></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://stefanoricciardi.com/2010/04/05/book-review-pragmatic-thinking-and-learning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top Podcasts For .NET Developers</title>
		<link>http://stefanoricciardi.com/2010/02/06/top-podcasts-for-net-developers/</link>
		<comments>http://stefanoricciardi.com/2010/02/06/top-podcasts-for-net-developers/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 18:02:43 +0000</pubDate>
		<dc:creator>stefanoricciardi</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://stefanoricciardi.wordpress.com/?p=742</guid>
		<description><![CDATA[Why Should You Care About Podcasts There are many ways to keep up to date to what’s going on in the software community. Blogs, books, magazines, conferences, discussion groups, mailing lists, you name it… So, should you care about podcasts? If you are anything like most of us mere mortals, you’ve already come to realize [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fstefanoricciardi.com%2F2010%2F02%2F06%2Ftop-podcasts-for-net-developers%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fstefanoricciardi.com%2F2010%2F02%2F06%2Ftop-podcasts-for-net-developers%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<h2>Why Should You Care About Podcasts</h2>
<p>There are many ways to keep up to date to what’s going on in the software community. Blogs, books, magazines, conferences, discussion groups, mailing lists, you name it… So, should you care about podcasts?</p>
<p>If you are anything like most of us mere mortals, you’ve already come to realize that there are way too many things that you would like learn and only so many hours in a day. Podcasts allow you to squeeze some more &#8220;learning time&#8221; from an otherwise compressed schedule.</p>
<p>I especially love to listen to podcasts on my running sessions. On the other end, I have found that I don&#8217;t usually care for them while commuting to and from work: I need some time to relax listening to good music before and after a stressful day. Your mileage might vary.</p>
<p>The podcasts listed below are basically the only one which I am subscribed to on iTunes. I can&#8217;t keep up with all the shows, so I try to cherry pick from the themes that are closer to my day to day work, occasionally listening to topics I am not familiar with just to see what&#8217;s going on.</p>
<p>A few other podcasts did not make my selection, like <a href="http://elegantcode.com/category/codecast/">Elegant Code</a> or <a href="http://itc.conversationsnetwork.org/series/stackoverflow.html">Stackoverflow</a>: after listening to a few episodes I found that they simply were not my cup of tea.</p>
<p>I especially love shows which have a clear focus, the right amount of &#8220;small talk&#8221;, and where the host(s) have a good understaing of the subject matter. Again, YMMV.</p>
<p><span id="more-742"></span></p>
<h2>05 &#8211; Deep Fried Bytes</h2>
<p><a href="http://deepfriedbytes.com/"><img style="display:inline;border-width:0;margin:0 5px 0 0;" title="DeepFriedBytes.2" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/deepfriedbytes-21.jpg" border="0" alt="DeepFriedBytes.2" width="104" height="45" /></a></p>
<p>At number 5 we have Deep Fried Bytes, hosted by <a href="http://keithelder.net/blog/" target="_blank">Keith Elder</a> and <a href="http://blog.cloudsocket.com/">Chris Woodruff</a>. The schedule is not strict, roughly one or two shows per month. Too bad because the content, almost exclusively on Microsoft technologies, tends to be top notch.</p>
<p>Favorite Eposide: <a href="http://deepfriedbytes.com/podcast/episode-35-why-comments-are-evil-and-pair-programming-with-corey-haines/">Episode 35: Why Comments Are Evil and Pair Programming With Corey Haines.</a></p>
<table border="0" cellspacing="0" cellpadding="0" width="239">
<tbody>
<tr>
<td width="135" valign="top">Content:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c5.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb5.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="135" valign="top">Signal-to-noise ratio:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c1.gif"><img style="display:inline;border-width:0;" title="amazonstar3C" src="http://stefanoricciardi.files.wordpress.com/2010/02/amazonstar3c_thumb1.gif" border="0" alt="amazonstar3C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="135" valign="top">Frequency:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar2c.gif"><img style="display:inline;border-width:0;" title="amazonstar2C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar2c_thumb.gif" border="0" alt="amazonstar2C" width="64" height="12" /></a></td>
</tr>
</tbody>
</table>
<h2>04 &#8211; Hanselminutes</h2>
<p><a href="http://www.hanselminutes.com/"><img style="display:inline;border-width:0;margin:0;" title="hanselminutes" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/hanselminutes1.jpg" border="0" alt="hanselminutes" width="104" height="104" /></a></p>
<p>At number 4 we find Hanselminutes, the podcast of the famous Microsoft <span style="text-decoration:line-through;">developer</span> geek <a href="http://www.scotthanselman.com">Scott Hanselman</a>. If you don&#8217;t know him, he&#8217;s the name behind one of the most followed <a href="http://www.scotthanselman.com">blog</a> for develpers.</p>
<p>His shows tend to be on the short side (usually around 30 minutes), but they are usually really focused. He&#8217;ll usually talk about .NET technologies.</p>
<p>Once in a while you can lift your spirit with one episode of the <em>Hanselminutiae</em> series, which are more unstructured and tend to be a conversation about nerdish stuff and gadgets with some geek guest.</p>
<p>Favorite episode: <a href="http://www.hanselminutes.com/default.aspx?showID=168">Uncle Bob Martin: SOLID, this time with feeling.</a></p>
<table border="0" cellspacing="0" cellpadding="0" width="239">
<tbody>
<tr>
<td width="139" valign="top">Content:</td>
<td width="98" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c1.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb1.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="139" valign="top">Signal-to-noise ratio:</td>
<td width="98" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c2.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb2.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="139" valign="top">Frequency:</td>
<td width="98" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c3.gif"><img style="display:inline;border-width:0;" title="amazonstar3C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c_thumb3.gif" border="0" alt="amazonstar3C" width="64" height="12" /></a></td>
</tr>
</tbody>
</table>
<h2>03 &#8211; Herding Code</h2>
<p><a href="http://herdingcode.com/"><img style="display:inline;border-width:0;margin:0;" title="herdingCode-165px" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/herdingcode165px1.png" border="0" alt="herdingCode-165px" width="104" height="104" /></a></p>
<p>At number 3 we have Herding Code, hosted by <a href="http://odetocode.com/blogs/scott/">K. Scott Allen</a>, <a href="http://weblogs.asp.net/kdente/">Kevin Dente</a>, <a href="http://www.lazycoder.com/weblog/">Scott Koon</a>, and <a href="http://weblogs.asp.net/jgalloway/">Jon Galloway</a>. Four hosts tend to produce a slightly lower signal to noise ratio compared to other podcasts, but the content is usually well worth it. Again, you&#8217;ll mostly hear about Microsoft technologies here.</p>
<p>Favorite episode: <a href="http://herdingcode.com/?p=189">Herding Code 51: Greg Young on Our Grand Failure – Thoughts on DDDD</a></p>
<table border="0" cellspacing="0" cellpadding="0" width="239">
<tbody>
<tr>
<td width="137" valign="top">Content:</td>
<td width="100" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="137" valign="top">Signal-to-noise ratio:</td>
<td width="100" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c2.gif"><img style="display:inline;border-width:0;" title="amazonstar3C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c_thumb2.gif" border="0" alt="amazonstar3C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="137" valign="top">Frequency:</td>
<td width="100" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c3.gif"><img style="display:inline;border-width:0;" title="amazonstar3C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c_thumb3.gif" border="0" alt="amazonstar3C" width="64" height="12" /></a></td>
</tr>
</tbody>
</table>
<h2>02 &#8211; DotNet Rocks</h2>
<p><a href="http://www.dotnetrocks.com/"><img style="display:inline;border-width:0;margin:0;" title="DotNetRocks" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/dotnetrocks1.jpg" border="0" alt="DotNetRocks" width="104" height="103" /></a></p>
<p>At number 2 we find what&#8217;s arguably the best and longest running podcast on .NET technologies. <a href="http://www.dotnetrocks.com/">DotNetRocks</a>, hosted by Carl Franklin and Richard Campbell and now at his 523 eposide, usually issues a new show twice a week.</p>
<p>At the beginning of every new show, there&#8217;s a short section (a couple of minutes or so) named &#8220;Better Know Framework&#8221; in which they &#8220;shine some light &#8220;on some class of the .NET Base Class Library.</p>
<p>If you have time for only one podcast and don&#8217;t care for other technologies/platforms, then this is probably the podcast you should be listening to.</p>
<p>Favorite episode: <a href="http://www.dotnetrocks.com/default.aspx?showNum=476">Panel: Is Software Development Too Complex?</a></p>
<table border="0" cellspacing="0" cellpadding="0" width="209">
<tbody>
<tr>
<td width="137" valign="top">Content:</td>
<td width="70" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c3.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb3.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="137" valign="top">Signal-to-noise ratio:</td>
<td width="70" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c4.gif"><img style="display:inline;border-width:0;" title="amazonstar4C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar4c_thumb4.gif" border="0" alt="amazonstar4C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="137" valign="top">Frequency:</td>
<td width="70" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c.gif"><img style="display:inline;border-width:0;" title="amazonstar5C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c_thumb.gif" border="0" alt="amazonstar5C" width="64" height="12" /></a></td>
</tr>
</tbody>
</table>
<h2>01 &#8211; Software Engineering Radio</h2>
<p><a href="http://www.se-radio.net/"><img style="display:inline;border-width:0;margin:0;" title="SoftwareEngineeringRadio" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/softwareengineeringradio1.jpg" border="0" alt="SoftwareEngineeringRadio" width="104" height="104" /></a></p>
<p>At the top of my list we have a podcast that is <em>not</em> devoted to .NET technologies.</p>
<p><a href="http://www.se-radio.net/">Software Engineering Radio</a>, usually hosted by <a href="http://www.voelter.de/">Markus Völter</a>, is your 10,000 feet view on what&#8217;s going on in the software industry: new languages, patterns, processes. And evergreen topics like OOAD, components, architecture, etc&#8230;</p>
<p>The shows are usually extremely focused on the topic to be discussed, and Markus shows a remarkable easiness moving from one subject to another. He surely prepares a lot before the shows; his questions to the guest are usually spot-on and he has a way of rephrasing the concepts exposed by the experts that really helps your understanding.</p>
<p>The show has a fortnight frequency, therefore I usually don&#8217;t miss a single show. I actually downloaded a lot of old episodes: since they are not so strictly connected with current-day technologies, they usually stand the test of time pretty well.</p>
<p>As an added plus, a show usually last about 1 hour which is perfect for my workout sessions <img src='http://stefanoricciardi.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Favorite episode: <a href="http://www.se-radio.net/podcast/2009-11/episode-150-software-craftsmanship-bob-martin">Software Craftsmanship With Bob Martin</a></p>
<table border="0" cellspacing="0" cellpadding="0" width="239">
<tbody>
<tr>
<td width="135" valign="top">Content:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c1.gif"><img style="display:inline;border-width:0;" title="amazonstar5C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c_thumb1.gif" border="0" alt="amazonstar5C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="135" valign="top">Signal-to-noise ratio:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c2.gif"><img style="display:inline;border-width:0;" title="amazonstar5C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar5c_thumb2.gif" border="0" alt="amazonstar5C" width="64" height="12" /></a></td>
</tr>
<tr>
<td width="135" valign="top">Frequency:</td>
<td width="102" valign="top"><a href="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c3.gif"><img style="display:inline;border-width:0;" title="amazonstar3C" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2010/02/amazonstar3c_thumb3.gif" border="0" alt="amazonstar3C" width="64" height="12" /></a><strong> </strong></td>
</tr>
</tbody>
</table>
<p><a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstefanoricciardi.com%2f2010%2f02%2f06%2ftop-podcasts-for-net-developers%2f"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fstefanoricciardi.com%2f2010%2f02%2f06%2ftop-podcasts-for-net-developers%2f" border="0" alt="kick it on DotNetKicks.com" /></a></p>
<p><a rev="vote-for" href="http://dotnetshoutout.com/Top-Podcasts-For-NET-Developers-Stefano-Ricciardis-Blog"><img src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fstefanoricciardi.com%2F2010%2F02%2F06%2Ftop-podcasts-for-net-developers%2F" alt="Shout it" /></a></p>
<p><!-- AddThis Button BEGIN --></p>
<p><a href="http://www.addthis.com/bookmark.php?v=250"><img style="border-width:0;" src="http://s7.addthis.com/static/btn/lg-share-en.gif" alt="Bookmark and Share" width="125" height="16" /></a></p>
<p><!-- AddThis Button END --></p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e6ceeafa-fe5c-4bd6-a48d-325da43e5abc" class="wlWriterSmartContent" style="display:inline;float:none;margin:0;padding:0;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>,<a rel="tag" href="http://technorati.com/tags/C%23">C#</a>,<a rel="tag" href="http://technorati.com/tags/podcast">Podcast</a></div>
]]></content:encoded>
			<wfw:commentRss>http://stefanoricciardi.com/2010/02/06/top-podcasts-for-net-developers/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Book Review: The Pragmatic Programmer</title>
		<link>http://stefanoricciardi.com/2009/11/09/book-review-the-pragmatic-programmer/</link>
		<comments>http://stefanoricciardi.com/2009/11/09/book-review-the-pragmatic-programmer/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 11:05:26 +0000</pubDate>
		<dc:creator>stefanoricciardi</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[software craftsmanship]]></category>

		<guid isPermaLink="false">http://stefanoricciardi.wordpress.com/?p=530</guid>
		<description><![CDATA[I recently embarked on a journey to read (or re-read) all the great classic books in the software literature. The Pragmatic Programmer is one of those books which is usually included in the recommended readings for a software developer, and deservedly so. The book, released in 1999, has been so successful that the two authors, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fstefanoricciardi.com%2F2009%2F11%2F09%2Fbook-review-the-pragmatic-programmer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fstefanoricciardi.com%2F2009%2F11%2F09%2Fbook-review-the-pragmatic-programmer%2F&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<h1><a title="The Pragmatic Programmer" href="http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1256673093&amp;sr=8-1"><img style="display:inline;border-width:0;margin:0 5px 0 0;" title="thepragrmaticprogrammer" src="http://69.175.59.226/~stefano3/blog/wp-content/uploads/2009/10/thepragrmaticprogrammer.jpg" border="0" alt="The Pragmatic Programmer" width="244" height="244" align="left" /></a></h1>
<p>I recently embarked on a journey to read (or re-read) all the great classic books in the software literature.</p>
<p>The <a title="The Pragmatic Programmer" href="http://www.amazon.co.uk/Pragmatic-Programmer-Andrew-Hunt/dp/020161622X/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1256673093&amp;sr=8-1">Pragmatic Programmer</a> is one of those books which is usually included in the recommended readings for a software developer, and deservedly so. The book, released in 1999, has been so successful that the two authors, <a href="http://pragprog.com/about">Andrew Hunt</a> and <a href="http://pragprog.com/about">David Thomas</a>, have since created their own publishing company, the <a href="http://pragprog.com/">Pragmatic Bookshelf</a> (with titles spanning a broad range of programming topics).</p>
<p>This book must really  have been a breakthrough when it hit the bookstores about 10 years ago. 1999 is one year before Kent Beck released his seminal book <a href="http://www.amazon.co.uk/Extreme-Programming-Explained-Embrace-Change/dp/0321278658/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1257536953&amp;sr=8-1"><em>Extreme Programming Explained: Embrace Change</em></a><em> </em>which exposed the agile software process to the masses<strong>.</strong> Both Andrew Hunt and David Thomas originally signed the <a href="http://agilemanifesto.org/">Agile Manifesto</a>, together with Kent Beck himself and a few others, and it shows. But it would be dismissive to describe this as a book on agile since it’s much more.</p>
<p>The book is structured as a series short 46 sections. Each section has challenges and even exercises where appropriate. It touches on <strong>design</strong> concepts such as orthogonality, decoupling, <a href="http://en.wikipedia.org/wiki/DRY">DRY</a> (which it coined), <a href="http://en.wikipedia.org/wiki/Domain_Specific_Languages">Domain Specific Languages</a>, <a href="http://en.wikipedia.org/wiki/Design_By_Contract">Design By Contract</a>, <a href="http://en.wikipedia.org/wiki/Metaprogramming">Metaprogramming</a>, <a href="http://en.wikipedia.org/wiki/Refactoring">Refactoring</a>; it has pages on <strong>process</strong> topics like build automation, “design to test”, test automation, estimation, requirements collection.</p>
<p>But where the book really shines is where it shows you how to “<em>become a better programmer</em>” (today we might say a <em>software</em> <em>craftsman</em>) and to take pride from it.</p>
<p>The <strong>pragmatic programmer</strong> is an early adopter, is inquisitive and realistic, and tries to be &#8220;f<em>amiliar with a broad range of technologies and environments</em>&#8220;.</p>
<p>The pragmatic programmer takes responsibility, values quality but recognizes when the software is “<em>good enough</em>”. The pragmatic programmer is a continuous learner (the “<em>learn at least one new language every year</em>” advice is often quoted), thinks critically about what he reads and hear, and knows how to communicate. The books explains how you can build these qualities.</p>
<p>The sections that I enjoyed the most is when the authors discuss about <em>tools</em>: the pragmatic programmer prefers working with plain text (the book itself it’s been written from XML transformed into TeX), masters a shell (command line) which he/she can program, knows at least one text manipulation language (e.g. Perl) and how to generate code from metadata.</p>
<p>Even though the recent reprints have links to later tools like JUnit, Ant, etc… still a few parts of the book begin to show its age. For example the authors suggest to pick <em>one</em> text editor (e.g. Emacs or VI) and become a power user (not just know the keyboard shortcuts but also how to extend it to suit your needs). There used to be a time when you could spend your whole working day inside Emacs: you could edit and build your programs, open a shell, handle emails and browse newsgroups, edit text documents (with LaTeX for example), even play games. As much as I love Emacs, I believe today it’s virtually impossible to beat the productivity gains you can get with specialized IDEs like Visual Studio or Eclipse, with their intellisense and plug-in ecosystems.</p>
<p>All in all, the Pragmatic Programmer is easily one of the best book on software development I have ever read. It has really inspired me to continue my journey to become a <em>“better programmer”</em>. Thanks to this book, I have now in my action list: learn a scripting language (Ruby?); learn a functional language (F#?); learn how to use a shell in the Windows environment (PowerShell?); read a book on usability; read a book on the human side of software development (“Peopleware&#8221;?). A lot of things. A lot of fun ahead.</p>
<p><!-- Kick it BEGIN --><br />
<a href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Fstefanoricciardi.net%2F2009%2F11%2F09%2Fbook-review-th%E2%80%A6tic-programmer%2F"><img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3A%2F%2Fstefanoricciardi.net%2F2009%2F11%2F09%2Fbook-review-th%E2%80%A6tic-programmer%2F" border="0" alt="kick it on DotNetKicks.com" /></a><br />
<!-- Kick it END --></p>
<p><a rev="vote-for" href="http://dotnetshoutout.com/Book-Review-The-Pragmatic-Programmer"><img src="http://dotnetshoutout.com/image.axd?url=http%3A%2F%2Fstefanoricciardi.net%2F2009%2F11%2F09%2Fbook-review-the-pragmatic-programmer%2F" alt="Shout it" /></a></p>
<p><!-- AddThis Button BEGIN --></p>
<p><a href="http://www.addthis.com/bookmark.php?v=250"><img style="border:0 none;" src="http://s7.addthis.com/static/btn/lg-share-en.gif" alt="Bookmark and Share" width="125" height="16" /></a></p>
<p><!-- AddThis Button END --></p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e6ceeafa-fe5c-4bd6-a48d-325da43e5abc" style="display:inline;float:none;margin:0;padding:0;">Technorati Tags: <a rel="tag" href="http://technorati.com/tags/Programming">Programming</a>, <a rel="tag" href="http://technorati.com/tags/review">Review</a>, <a rel="tag" href="http://technorati.com/tags/ood">OOD</a></div>
]]></content:encoded>
			<wfw:commentRss>http://stefanoricciardi.com/2009/11/09/book-review-the-pragmatic-programmer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
