<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Making the Complex Simple &#187; Self Improvement</title>
	<atom:link href="http://simpleprogrammer.com/category/self-improvement/feed/" rel="self" type="application/rss+xml" />
	<link>http://simpleprogrammer.com</link>
	<description>Software Development from John Sonmez&#039;s Perspective</description>
	<lastBuildDate>Tue, 07 Feb 2012 17:47:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='simpleprogrammer.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Making the Complex Simple &#187; Self Improvement</title>
		<link>http://simpleprogrammer.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://simpleprogrammer.com/osd.xml" title="Making the Complex Simple" />
	<atom:link rel='hub' href='http://simpleprogrammer.com/?pushpress=hub'/>
		<item>
		<title>Goal Setting and Routines</title>
		<link>http://simpleprogrammer.com/2011/09/19/goal-setting-and-routines/</link>
		<comments>http://simpleprogrammer.com/2011/09/19/goal-setting-and-routines/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:26:30 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=1390</guid>
		<description><![CDATA[I’m back finally! After moving across the country. I moved from Boise, Idaho to Wesley Chapel, Florida.  One of the main reasons I have been quiet lately has to do with the subject of this post. About goals I have heard many people talk about settings goals.  Setting goals is very important, but goals themselves [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1390&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’m back finally! After moving across the country.</p>
<p>I moved from Boise, Idaho to Wesley Chapel, Florida.  One of the main reasons I have been quiet lately has to do with the subject of this post.</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/09/goal.jpg"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border:0;" title="goal" src="http://complextosimple.files.wordpress.com/2011/09/goal_thumb.jpg?w=480&#038;h=298" alt="goal" width="480" height="298" border="0" /></a></p>
<h2>About goals</h2>
<p>I have heard many people talk about settings goals.  Setting goals is very important, but goals themselves do not ensure success.</p>
<p>Goals give us a way to measure and define success, but not to actually achieve it.</p>
<p>We do have to start with good goals, so let’s talk about what a good goal is.</p>
<p>A good goal is like good done criteria for a backlog.  A good goal is one that is:</p>
<ul>
<li>Measurable</li>
<li>Has a time constraint</li>
<li>Achievable without being overwhelming</li>
<li>Sufficiently broken down, (it is a single thing, not a collection of things.)</li>
</ul>
<p>If you don’t define a good goal, the chances of achieving it go down drastically.  If your goal is not clear cut enough, you may not even be able to tell when it is achieved.</p>
<p>In my world, good goals are things like:</p>
<ul>
<li>By Dec 10th I will lose 20 pounds.</li>
<li>I will read one technical book each month.</li>
<li>I will create and launch an iPhone application by Nov 15th.</li>
</ul>
<p>Bad goals are things like:</p>
<ul>
<li>I will improve my diet</li>
<li>I will start lifting weights</li>
<li>I will improve my SQL skills</li>
</ul>
<h2>Goals aren’t enough</h2>
<p>Once you have good goals, you should be good to go right?</p>
<p>Wrong!</p>
<p>How many times have you set good goals that you never achieved?  Always something seems to come up, or the timing isn’t right, etc.</p>
<p>The problem is, life happens.  You have to deal with all kinds of issues you can’t predict, so you don’t end up having the time to achieve your goals.</p>
<p>You usually don’t have anything on the line, so nothing is forcing you to complete the goals.</p>
<p>First let’s talk about the issue of life happening and disrupting you from achieving your goals.</p>
<p>There is a simple solution for this problem…</p>
<p><strong>Make your goals part of your life.</strong>  Rarely does life happen to me in such a way that it prevents me from doing things like showering, eating, brushing my teeth or going to work.  (I suppose now that I am down in Florida, a hurricane could happen and cause all that.)  In general though, we operate as humans best on routines.</p>
<p>I have found time and time again that the key to achieving goals is to build them into your daily routine.  Having a routine is critical to being successful.</p>
<p>Don’t believe me?  Think about the biggest losers you know in your life.  You know who I am talking about, that friend from high school that still doesn’t have a real job, sometimes sleeps on your couch, wakes up at noon, etc.</p>
<p>Routine or no routine?</p>
<p>Now think about the most successful people you know.</p>
<p>Routine or no routine?</p>
<h2>Routine disruption</h2>
<p>Part of the reason my posts stopped for the last few weeks is that I had my routine disrupted.  Back in Idaho before I moved, I had a pretty solid routine, it went something like this:</p>
<p><strong>Every week day:</strong> Egg white + Spinach breakfast, Spinach + light soup lunch, Steamed Chicken + vegetable dinner, read 15-30 minutes technical book.</p>
<p><strong>Monday:</strong> Lift chest and biceps, do prep work for Pluralsight, cook up chicken for the rest of the week</p>
<p><strong>Tuesday:</strong> Run 5k, record for Pluralsight</p>
<p><strong>Wednesday:</strong> Lift back and legs, do Android or iPhone app work</p>
<p><strong>Thursday:</strong> Run 5k, prep work for Pluralsight</p>
<p><strong>Friday:</strong> Lift shoulders and triceps</p>
<p><strong>Saturday:</strong> Run 5k, record for Pluralsight and or do Android or iPhone work</p>
<p><strong>Sunday:</strong> Write blog post for the week</p>
<p>That was my basic routine.  You can probably figure out my goals just by looking at my routine.</p>
<p>When I moved, this got disrupted, but I am getting back into a routine similar to this one again.  Once a good routine is established, life happens around your routine.</p>
<p>I usually stick with this basic routine and modify it based on the priorities of my goals.  At different points, blogging was a higher priority, so it took up a few more slots.  When I was really focused on getting my Android app done, that took more slots.</p>
<p>When you have a routine, you are making small steps on a regular basis towards your goals.</p>
<h6><strong>As always, you can subscribe to this </strong><a href="http://feeds.feedburner.com/MakingTheComplexSimple"><strong>RSS feed</strong></a><strong> to follow my posts on Making the Complex Simple.  Feel free to check out </strong><a href="http://elegantcode.com/"><strong>ElegantCode.com</strong></a><strong> where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter </strong><a href="http://twitter.com/jsonmez"><strong>here</strong></a><strong>.</strong></h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1390/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1390/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1390/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1390&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/09/19/goal-setting-and-routines/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/09/goal_thumb.jpg" medium="image">
			<media:title type="html">goal</media:title>
		</media:content>
	</item>
		<item>
		<title>Be Teachable, Be Command-able, Be Critique-able</title>
		<link>http://simpleprogrammer.com/2011/06/27/be-teachable-be-command-able-be-critique-able/</link>
		<comments>http://simpleprogrammer.com/2011/06/27/be-teachable-be-command-able-be-critique-able/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 13:31:33 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Psychology]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/2011/06/27/be-teachable-be-command-able-be-critique-able/</guid>
		<description><![CDATA[There are three major reasons why I see programmers, heck people in general, get stressed out, fail and eventually burn out. They can’t learn a lesson from someone else They can’t take orders from someone else They can’t take criticism from someone else There three qualities together I classify as the “yielding” qualities. The truth [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1355&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There are three major reasons why I see programmers, heck people in general, get stressed out, fail and eventually burn out.</p>
<ul>
<li>They can’t learn a lesson from someone else </li>
<li>They can’t take orders from someone else </li>
<li>They can’t take criticism from someone else </li>
</ul>
<p>There three qualities together I classify as the “yielding” qualities.</p>
<p><strong>The truth is people don’t like to yield.</strong></p>
<p><a href="http://complextosimple.files.wordpress.com/2011/06/image.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="image" border="0" alt="image" src="http://complextosimple.files.wordpress.com/2011/06/image_thumb.png?w=485&#038;h=362" width="485" height="362" /></a></p>
<p>We just don’t seem to be built that way.&#160; Often ego tends to get in the way and it causes us to miss opportunities to grow and thrive.</p>
<p>I’ve been pretty guilty of it myself from time to time, especially early in my career.&#160; </p>
<p>It has cost me friendships.&#160; </p>
<p>It has cost me opportunities to grow.&#160; </p>
<p>Most of all it has cost me time.&#160; Because the lessons we need to learn, we will learn, life makes sure of that.&#160; It is up to us how long it takes to learn them.</p>
<p>These three lessons are all similar in that they are all about learning something.&#160; We could quibble over whether or not being teachable and being critique-able are separate things or not, or even whether or not I can make up words like critique-able.</p>
<p>But, regardless here are my 3 lessons, not to say I am totally done learning them yet.</p>
<h2>Lesson 1: Be teachable</h2>
<p>Of all the ways this lesson applies, there is one that really sticks out in my head…</p>
<p>It is a bit of a strange scenario.</p>
<p>I was watching a live commentary on a Starcraft 2 match.&#160; (Starcraft 2 is one of those hugely popular real time strategy games.&#160; It has a unbelievable depth to strategy.&#160; It is also unbelievably competitive.)</p>
<p>The commentator for the match was commenting on the play of one of the players, we’ll call him our hero.&#160; Well, our hero was quite an experienced player.&#160; His skill level was probably as high or higher than the person who was commenting on his play.</p>
<p>The commentator would say some very basic things that were fundamental to the strategy of the game.&#160; He would make some point about how our hero should be doing this or that in this situation.&#160; He would make even some basic points about what button our hero should be pressing and how he should be holding his mouse or hands.&#160; Some very basic stuff that obviously our hero already knew.&#160; As a matter of fact, some of the comments he was making sounded so simplified and almost demeaning to make to a player of that caliber.</p>
<p>What amazed me though, is how our hero responded.&#160; He did not defend his actions or himself even once.&#160; He completely absorbed and acknowledged everything the commentator was saying about his game.&#160; He wasted no energy, no time, not a breath saying words either in his defense or confirming his prior knowledge of what he was being told.&#160; He just let every word the commentator was saying soak in knowing that some of it might not have been useful, but being appreciative of all of it.</p>
<p>Immediately I thought to myself, “why can I not be as teachable as this guy.”&#160; I thought if I could be that teachable, if I could be that egoless, I could really learn from anyone that had something to offer, not just those people who I perceived higher or more experienced than myself.</p>
<p>And that is the key to being teachable: learning from not just people who we think can teach us something, but recognizing that anyone can teach us a lesson if we can unbiasedly, undefendingly, uninterruptingly listen.</p>
<h2></h2>
<h2>Lesson 2: Be command-able</h2>
<p>It’s easy to be commendable, but difficult to be commandable.</p>
<p>Seems like no one wants to have someone else telling them what to do.&#160; It is very unfortunate though, because there is a huge value when we can teach ourselves to march to someone else’s drum beat.</p>
<p>I’ll use another gaming analogy to illustrate my point here.&#160; Those of you familiar with MMOs might be familiar with the concepts of raids.&#160; As difficult as it is for me to admit, I was at one point pretty involved in an online game called Lord of the Rings Online.</p>
<p>If you are not familiar with MMOs and raids, the basic concept is fairly simple.&#160; In these games they put some really nasty bosses for you to kill that have nice rewards.&#160; The trouble is you can’t kill this boss by yourself.&#160; You have to team up, and not with just 1 or two people.&#160; For some of these raids you might have to team up with 20 to 30 other players.</p>
<p>I raided with a few different groups of players in this game, and there was a clear distinction between the successful groups the the unsuccessful groups.&#160; There was one thing in common that the successful groups all had and the unsuccessful groups all lacked… the ability to be commanded.</p>
<p>You would think that skill level of the players, or the equipment they had, or even the number of players would make the biggest difference in the success or the failure of the raid, but you would be wrong.</p>
<p><strong>Every single time I went out for a raid, I found the single biggest factor, more important than skill, equipment or any other factor, was the ability for the players in the group to be commanded.</strong></p>
<p>The really strange thing is that sometimes the groups with too many skilled players would fare the worst.&#160; Sometimes in those groups no one wanted to be told what to do and each person wanted to act independently.&#160; In those cases we all became dragon snacks.</p>
<p>I know there are many of you out there reading this thinking that what I am saying only applies in wars and online battle games, but I would challenge you by saying every company, every business, every software project you are on is a war.</p>
<p>You might not be fighting against a army of invaders or an online dragon, but you are fighting competition, deadlines, internal and external politics and a whole host of things worse than undead dragons!</p>
<p>The bottom line is this: <strong>sometimes you just need to shut up, let someone else run the show and do what you’re told.</strong></p>
<p>Often the ability to do this is the single greatest asset you can bring to any team.</p>
<h2>Lesson 3: Be critique-able</h2>
<p>Being critique-able and being teachable are pretty similar, but in my mind I think of being critique-able as more of taking your lumps like a champ while being teachable is about trying to gather knowledge out of a situation.&#160; While you certainly can do either of these things in both situations, I make the distinction on where you put the focus.</p>
<p>We all screw up.&#160; Heck, I screw up at least once a day.&#160; If I make it a day without screwing up about 50 times, it’s probably because I spent all day sleeping, and that in itself represents at least 1 screw up.</p>
<p>A person who benefits from their screw ups though is someone who not only can recognize when they do screw up, but is willing to take the lumps for it that they deserve and even the ones they don’t deserve.</p>
<p>I do a bit of real estate investment on the side.&#160; It’s my retirement plan.&#160; One thing I can tell you about owning rental properties is that you need a good property management company.&#160; I can also tell you about some bad property management companies; I have fired plenty of them.</p>
<p>I’ve finally found a property management company here in Boise, Idaho that I have no intention of firing and it is not because they don’t screw up.&#160; They screw up, sometimes they screw up bad, but the thing about this management company that makes them different than the ones I have fired in the past is that when they screw up they admit it.</p>
<p>They don’t try and fight for their rights.&#160; They don’t try and claim how they did the best they could.</p>
<p>I called up the manager of the company one day when I had an issue with one of the bills I was sent on one of my statements, and do you know what he said?&#160; He said “John, I can see we messed up here.&#160; What can I do to make this right?”</p>
<p>He has said these very words on several occasions when there was some kind of issue or dispute, and I am absolutely sure at lease a couple of those times that he believed his company had done exactly right and made no mistake at all.</p>
<p>Sometimes I have to remind myself to shut up, nod my head, apologize and move on.</p>
<p>Sometimes I really have to force myself to consider that perhaps I am wrong.&#160; Perhaps I did do something wrong and I have something to learn from it.</p>
<p>Sometimes I really have to remind myself that nobody ever likes excuses.&#160; No one ever wants to hear “I am sorry, but.”&#160; Justifications nullify apologies.&#160; Not just for them, but for you.</p>
<p>As soon as you start to make an excuse for yourself, you take yourself off the hook.&#160; You lose all possibility of learning from your mistake, because it ceases to become a mistake in your mind.&#160; Instead it becomes an unfortunate circumstance.</p>
<p>My best advice: when someone critiques you, shut up, listen to what they have to say, acknowledge it, apologize and say you have no excuse.&#160; It takes a bit of courage.&#160; It stings a bit, but you’ll be a better person for it and you might actually learn something.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.&#160; Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.&#160; Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1355&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/06/27/be-teachable-be-command-able-be-critique-able/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/06/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>The Debugger Mindset</title>
		<link>http://simpleprogrammer.com/2011/06/17/the-debugger-mindset/</link>
		<comments>http://simpleprogrammer.com/2011/06/17/the-debugger-mindset/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 22:41:12 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Psychology]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/2011/06/17/the-debugger-mindset/</guid>
		<description><![CDATA[Today I want to talk to you about a serious mental disorder that affects far too many programmers. The symptoms of this disease are many: Frantically saying “It’ll work this time” Randomly adding +1 and –1 to integers Inability to see the forest Irritability Irrational paradoxical statements like “I am sure this is impossible, but [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1352&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I want to talk to you about a serious mental disorder that affects far too many programmers.</p>
<p>The symptoms of this disease are many:</p>
<ul>
<li>Frantically saying “It’ll work this time”</li>
<li>Randomly adding +1 and –1 to integers</li>
<li>Inability to see the forest</li>
<li>Irritability</li>
<li>Irrational paradoxical statements like “I am sure this is impossible, but I don’t know how it is happening.”</li>
<li>Screaming</li>
<li>Spitting at hamsters</li>
<li>The list goes on…</li>
</ul>
<p>What I am talking about is the debugger mind set and…</p>
<h2>It is a mental disorder</h2>
<p>So what is this debugger mindset I am talking about?</p>
<p>It is more than just overusing the debugger,<strong> it is thinking and acting in a way that is the same way one tends to think and act when they are stepping through code in the debugger.</strong></p>
<p>I am guilty of it as I imagine many of you are.</p>
<p>And it is a disease.</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/06/debuggermindset.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="debuggermindset" border="0" alt="debuggermindset" src="http://complextosimple.files.wordpress.com/2011/06/debuggermindset_thumb.png?w=500&#038;h=402" width="500" height="402" /></a></p>
<h2></h2>
<h2></h2>
<h2></h2>
<h2>A debugging tale all too familiar</h2>
<p>Picture this… You are just about to check in the final piece of code that you have been working on all week for this awesome feature you are developing and something is wrong.</p>
<p>It is just not working.&#160; You can’t figure out why.&#160; The behavior of the code seems to defy all logic.</p>
<p>You set a few break points and start stepping through code.&#160; (By the way it is 4:00 on a Friday and you were about to check in this code and go home a little early, you deserve it.)</p>
<p>Step… step… step…&#160; Check this variable… Check that variable… Evaluate this expression.</p>
<p>Nothing, no clue as to what is going on.&#160; You are beginning to sweat.&#160; The release is going out on Sunday.&#160; You need to get this fixed or the code can’t release.</p>
<p>You look at the clock.&#160; It is now 5:03.&#160; You glance at your phone and see you have a text from your wife.&#160; No time to look at what it says.&#160; You are intensely focused.&#160; You must solve this bug.</p>
<p>Step… step… step… Check this variable… Check that variable… Evaluate this expression.&#160; You begin to sweat more.</p>
<p>You can’t understand why this one little thing isn’t working.&#160; It is driving you nuts, it doesn’t make any sense… You start scratching at your head in frustration.</p>
<p>Time ticks by, it’s now 6:30.&#160; Your phone rings, it’s your wife.</p>
<p>“Did you get my text?&#160; When are you coming home?&#160; It’s Friday.&#160; It’s the weekend.”</p>
<p>You fumble to get to your SMS program on your phone.&#160; You don’t have time for this, you must SOLVE this bug, now!&#160; Grrr, you are getting angry and irritated.&#160; You try and hide it, but it comes through in your voice.</p>
<p>You’re thirsty, you’re hungry, your eyes hurt from not blinking.&#160; You’re tapping your foot like a madman intently focused on the keyboard.&#160; It’s now 7:40.</p>
<p>You start frantically changing variables.&#160; You’ve lost track of what the code is doing now, instead you’re just watching values in your watch window.&#160; It’s getting hard to think, minutes turn to hours. </p>
<p>You finally solve your bug at 11:03 PM, but your nerves are shot.&#160; The taste of victory is soured like milk left too long in the fridge.&#160; You can taste the chunky curds in your mouth as you think about how even though you fixed the problem, you still don’t understand why your solution worked or what was causing it.</p>
<h2></h2>
<h2>It is very important to avoid this pattern of behavior</h2>
<p>And it can destroy your productivity like nothing else.</p>
<p>You don’t actually have to be in the debugger to have this mindset, even though it often occurs when you are.</p>
<p>All developers are susceptible to it.&#160; I know I have spent my share of time thrashing around with it.&#160; It takes a fairly simple 1-hour-to-solve-problem and makes it take 8 hours to solve because we try to solve it in 5 minutes.</p>
<p><strong>Very few things in life have a 5 minute solution.</strong></p>
<p>When we start thinking this way, we lose all ability to think rationally and actually solve a problem.&#160; Instead we start zooming into symptoms and using frustration instead of wit.</p>
<p>This kind of mindset can put us into a downward spiral of burnout and insatiability.&#160; We end up wasting time and losing focus.&#160; It is the most frequent time in my career when I have made stupid mistakes.</p>
<h2>How to avoid the debugger mindset</h2>
<p>The is a perfect storm of conditions which tend to cause this kind of a mindset, mix and match these as you will:</p>
<ul>
<li>A looming deadline (self-imposed or otherwise)</li>
<li>Large chunks of almost complete work that can’t stand on its own</li>
<li>Being in a hurry and looking for a shortcut</li>
<li>Believing a problem is probably simple</li>
<li>Believing a problem is probably hard</li>
<li>Jumping to the debugger too soon</li>
<li>Being at the end of a marathon session</li>
<li>Not taking enough breaks</li>
</ul>
<p>There are many other conditions of course which can contribute to this mindset, but these are some of the ones I find most common.&#160; It can only take a few of these in combination to really push you over the edge into no man’s land.</p>
<p>Avoiding the debugger mindset can be as simple as trying to eliminate as many of these precursors as possible.</p>
<p>Here are a few tips I have found to directly counter this list above:</p>
<ul>
<li><strong>Don’t impose deadlines on yourself and try to ignore unrealistic ones that are imposed on you.</strong>&#160; Instead try to focus on doing a good job and being productive.&#160; You are much more likely to get fired for being in the debugger mindset and making a stupid brainless mistake than for taking a bit longer to accomplish a task or having to tell your boss that you cannot in good conscious commit to a deadline.&#160; Never forget that software development is always going to have a huge “unknowable” factor to it.&#160; No one can blame you for that and it is not your fault.</li>
<li><strong>Try to commit as frequently as possible and divide your work into </strong><a href="http://elegantcode.com/2010/07/31/breaking-even-small-things-up/"><strong>very small tasks</strong></a><strong>.</strong>&#160; <a href="http://simpleprogrammer.com/2010/07/09/why-small-is-better/">Smaller is better</a>.&#160; Also try to <a href="http://simpleprogrammer.com/2010/01/26/scrum-backlogs-that-cover-too-much-and-are-not-thinly-sliced-enough-and-have-spreadsheets-attached-and-have-non-specific-things-like-fix-everything-on-this-page/">split work vertically</a> rather than horizontally.&#160; This means trying to implement a feature in terms of small working pieces that work end to end, rather than trying to implement all the functionality in a single layer at a time.</li>
<li><strong>There are no shorcuts in programming.</strong>&#160; When you need time take it.&#160; Don’t forget to take time to quietly think about a problem.&#160; Quiet contemplation is work.&#160; It is not slacking off.&#160; Take a walk if you need to.&#160; Ask for a second set of eyes before you get into panic mode.</li>
<li><strong>Do not make an assumption about a problem until you understand fully what the problem is.</strong>&#160; Don’t tell yourself it is easy, don’t tell yourself it is difficult, instead refrain from making a judgment call until you have enough information to do so.</li>
<li><strong>Don’t prematurely go to the debugger.</strong>&#160; Always try to solve problems without the debugger first.&#160; Once you have gone to the debugger, you are much more likely to get sucked into the debugger mindset.&#160; If you do need to use the debugger, always have a hypothesis of what the problem is and use the debugger to confirm or deny it.&#160; </li>
<li><strong>Do not use the debugger to help you understand what the code is doing.</strong>&#160; Instead use unit tests for that or refactor to make the code clearer.&#160; Divide and conquer the problem into a series of branching hypothesizes.&#160; Use the debugger only when necessary to confirm or disprove a hypotheses and then form a new one and repeat all the while remaining calm and understanding that you don’t know how deep a rabbit hole is until you go down it.&#160; <em>(</em><a href="http://stackoverflow.com/questions/602138/is-a-debugger-the-mother-of-all-evil"><em>This StackOverflow question</em></a><em> points out a fairly extreme view of what I am saying here, but I tend to agree with it more than I disagree with it.&#160; I won’t say never use the debugger, but I will say that I myself use it too much and jump to it too quickly.)</em></li>
<li><strong>Take breaks and don’t work on the same piece of code for too long a period of time.</strong>&#160; As stated above, break your tasks into smaller tasks so that you are always near a checkpoint.&#160; If you are feeling frustrated, take a 5 minute break to clear your head and regain your focus.</li>
</ul>
<p>What do you think?&#160; Have you ever been in the debugger mindset?&#160; What are some ways you avoid it?</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.&#160; Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.&#160; Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1352&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/06/17/the-debugger-mindset/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/06/debuggermindset_thumb.png" medium="image">
			<media:title type="html">debuggermindset</media:title>
		</media:content>
	</item>
		<item>
		<title>Step 1: Reproduce the Problem</title>
		<link>http://simpleprogrammer.com/2011/05/20/step-1-reproduce-the-problem/</link>
		<comments>http://simpleprogrammer.com/2011/05/20/step-1-reproduce-the-problem/#comments</comments>
		<pubDate>Sat, 21 May 2011 03:57:34 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/2011/05/20/step-1-reproduce-the-problem/</guid>
		<description><![CDATA[I’ve spent a good deal of my programming life “spinning my wheels.” I don’t like to admit it, but I have spent countless hours trying to solve problems I didn’t fully understand. When you sit there trying to fix a defect or solve a programming problem without first reproducing it you are like a bicycle [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1335&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I’ve spent a good deal of my programming life “spinning my wheels.”</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/05/spinningwheels.png"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="SpinningWheels" border="0" alt="SpinningWheels" src="http://complextosimple.files.wordpress.com/2011/05/spinningwheels_thumb.png?w=487&#038;h=343" width="487" height="343" /></a></p>
<p>I don’t like to admit it, but I have spent countless hours trying to solve problems I didn’t fully understand.</p>
<p>When you sit there trying to fix a defect or solve a programming problem without first reproducing it you are like a bicycle thief hopelessly spinning the dials of a combination bike lock hoping to stumble upon that magical combination.</p>
<h2>It is a common ailment after all</h2>
<p>Don’t worry you and I are not alone, many programmers share the same kindred spirit of overeager rambunctiousness of trying to solve problems before they know what they fully are.</p>
<p>It is perhaps ones of the greatest killers of productivity and conflagration of the nerves of programmers both experienced and in-experienced.</p>
<p>I’ve learned this lesson a dozen times, but I learned it again this week as I was working with <a href="http://geekswithblogs.net/GruffCode/Default.aspx">Jesse Taber</a>.&#160; We recently instituted a remote pair programming program at my work, and I had the opportunity to pair up with Jesse this week.</p>
<p>See Jesse is the kind of programmer that pretty much always reproduces a problem before working on it.&#160; I thought I was pretty good at doing this and insisting it be done, but after working with Jesse I found that I tend to be a little more lazy in this area than I should.</p>
<h2>It seems pretty basic, but most of us don’t do it</h2>
<p>Most of us tend to jump right into a problem.&#160; Dive right into the code without completely understanding what we are up against.</p>
<p>I don’t know how many times I have attempted to solve a problem only to find that the actual problem was not reproducible at all.</p>
<p>A decent majority of problems that we try to solve either are not problems at all or are not anywhere close to the description of the problem we had been given.</p>
<p><strong>I’ve definitely learned that taking that hour of time upfront to properly set up your environment and actually reproduce the problem shaves many hours off the time it takes to solve the problem and verify your solution actually works.</strong></p>
<h2><strong>Sometimes problems can solve themselves</strong></h2>
<p>It is amazing how when you follow this simple advice problems have the seeming ability to solve themselves.</p>
<p>I’ve found many times in working on a difficult problem that the very act of the reproduction of the problem points to the actual cause.</p>
<p>When you think about it, it makes perfect sense.&#160; In order to reproduce a problem, you must cause the problem.&#160; If you have caused the problem, you may be able to identify the particular thing you did that caused it.</p>
<p>Sometimes it isn’t that easy, but reproducing the problem is still a great place to start.&#160; After I have reproduced a problem, I often find that I can divide and conquer that problem by breaking it into sub-problems.</p>
<p>This technique is very similar to basic troubleshooting.&#160; We follow steps that go something like this:</p>
<ol>
<li>Reproduce the original problem</li>
<li>Break apart the problem by determining if any aspects or symptoms of the problem that was recreated can be recreated in isolation</li>
<li>Once we have a small enough problem to solve, start taking away steps and elements of the recreation of the problem until we have the minimum set of of criteria required to create the problem</li>
<li>Come up with a hypothesis of the cause of the problem (not the solution), change the cause in the simplest way possible to prove or disprove the hypothesis (many times this will not involve changing any code yet)</li>
</ol>
<h2>Let us make a pact</h2>
<p>Let’s hold ourselves to a solemn vow of never again trying to solve a problem before we can reproduce it.</p>
<p>Don’t just take someone’s word for it anymore.&#160; Stick your head in the sand like an ostrich and refuse to believe there is a problem until you can see it for yourself.</p>
<p>What do you think?&#160; Have you ever tried to solve a problem only to find it does exist?&#160; Have you wasted hours of time trying to solve the wrong problem or randomly twiddling bits?</p>
<p>Oh, and if you are in QA or ever write up a defect.&#160; This pertains to you also, because you should realize that the most important part of a defect is always the steps to reproduce.&#160; A defect that cannot be reproduced is only noise, it cannot be solved, because the solution cannot be verified.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.&#160; Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.&#160; Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1335/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1335/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1335/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1335&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/05/20/step-1-reproduce-the-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/05/spinningwheels_thumb.png" medium="image">
			<media:title type="html">SpinningWheels</media:title>
		</media:content>
	</item>
		<item>
		<title>Published My First Course on Pluralsight</title>
		<link>http://simpleprogrammer.com/2011/04/12/published-my-first-course-on-pluralsight/</link>
		<comments>http://simpleprogrammer.com/2011/04/12/published-my-first-course-on-pluralsight/#comments</comments>
		<pubDate>Wed, 13 Apr 2011 04:27:51 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Cool Stuff]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=1305</guid>
		<description><![CDATA[My number of blog posts in the last couple of months has definitely been a little lower than I like, but I have a pretty good reason. I just got my first course published on Pluralsight! The course is called Android Development for .NET Developers and it covers most of the basic knowledge you would [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1305&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My number of blog posts in the last couple of months has definitely been a little lower than I like, but I have a pretty good reason.</p>
<p>I just got my first course published on <a href="http://www.pluralsight-training.net/microsoft/">Pluralsight</a>!</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/04/logomedium1.png"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="logomedium" src="http://complextosimple.files.wordpress.com/2011/04/logomedium_thumb.png?w=233&#038;h=56" border="0" alt="logomedium" width="233" height="56" /></a></p>
<p>The course is called <a href="http://www.pluralsight-training.net/microsoft/OLT/Course/Toc.aspx?n=android-intro">Android Development for .NET Developers</a> and it covers most of the basic knowledge you would need to go from knowing nothing about Android development to being able to create a fairly simple application and publish that application to the Android Market.</p>
<p>If you haven’t checked out <a href="http://www.pluralsight-training.net/microsoft/">Pluralsight</a>, it is a really good site for a wide variety of developer training videos.  They really managed to get some very good content on the site and there are videos on just about every .NET topic you can think of.</p>
<p>I have also really enjoyed working with the guys that run Pluralsight, they are all very friendly and very knowledgeable.  Thanks to <a href="http://twitter.com/elegantcoder">David Starr</a> and <a href="http://twitter.com/fritzonion">Fritz Onion</a> for all their help getting my course ready and published.</p>
<h2>You never really learn something till you teach it</h2>
<p><a href="http://complextosimple.files.wordpress.com/2011/04/teacher-point.gif"><img style="background-image:none;padding-left:0;padding-right:0;display:inline;padding-top:0;border-width:0;" title="teacher-point" src="http://complextosimple.files.wordpress.com/2011/04/teacher-point_thumb.gif?w=462&#038;h=425" border="0" alt="teacher-point" width="462" height="425" /></a></p>
<p>This simple truth became more apparent to me than ever during the process of making this course.</p>
<p>I thought I had a pretty good understanding of the Android fundamentals, having published a fairly complex application, <a href="http://simpleprogrammer.com/2011/01/04/introducing-pacemaker-for-android/">PaceMaker</a>.</p>
<p>What I became quickly aware of is that there is a huge difference between having knowledge and having understanding.</p>
<p>I equate knowledge as possessing a formula to be able to do something, but lacking knowing why or how to make modifications to the process.</p>
<p>Cooking provides an excellent example of this.  There are many people in the world who know how to cook a large number of dishes.  But many of these people only have the knowledge of cooking.  They have a large collection of recipes which they can follow to produce the desired result.</p>
<p>A professional chef on the other hand, has a true understanding of cooking.  This person might have knowledge of many recipes, but they also understand why the particular ingredients are used and can make modifications to those ingredients and steps.  They may even create something without preset steps because they understand what they are doing, not just have knowledge about it.</p>
<p>It was great to have the experience of creating these videos because I was able to acquire an in-depth understanding of Android development, not just a knowledge of what to do.</p>
<p>If you ever have the opportunity to teach, I definitely recommend you take that opportunity.  Even if you don’t think you are qualified to teach a subject, by the time you have prepared what you are going to teach, you will be qualified.  Trial by fire perhaps, but well worth the outcome.  Plus you’ll be helping others in the process.</p>
<h2>Much harder than I thought</h2>
<p>I do have to admit though, recording training videos is definitely much harder than I had originally anticipated.</p>
<p>In order to get 40 minutes of video, it might take 6 hours worth of work or even more depending on the prep work involved and how much editing after getting the raw footage.</p>
<p>I really expected that it would take about as much time as it takes to record something to produce that something, but I definitely learned that is not the case.</p>
<p>I often found that I had to draw a line and stop trying to refine a video because you can literally spend an unlimited amount of time editing and tweaking a video.</p>
<p>Another revelation that might be apparent to everyone else, but was quite an epiphany to me was that you can edit “umms” out of video very easily.  You can’t even notice where they are cut out!  My first video, I didn’t even realize I could edit anything, and I ended up taking like 50 cuts until I could get it right.</p>
<h2>Overall though, great experience, lots of fun</h2>
<p>I felt like I&#8217;ve been stretched in a different direction, as I had never done any video or audio recording before and had never really spent much time in a room talking to myself pretending to talk to other people, but it was a good kind of stretching.</p>
<p>I really actually enjoyed the process and I will definitely be doing more of this kind of work in the future.  Probably going to take a bit of a break before I start my next course though.  I want to make sure I take some time to get a good retrospective of the process and sharpen my saw a bit so my next videos can be even better.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.  Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1305/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1305/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1305/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1305&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/04/12/published-my-first-course-on-pluralsight/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/04/logomedium_thumb.png" medium="image">
			<media:title type="html">logomedium</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/04/teacher-point_thumb.gif" medium="image">
			<media:title type="html">teacher-point</media:title>
		</media:content>
	</item>
		<item>
		<title>Professionals Have Professional Looking Resumes</title>
		<link>http://simpleprogrammer.com/2011/02/15/professionals-have-professional-looking-resumes/</link>
		<comments>http://simpleprogrammer.com/2011/02/15/professionals-have-professional-looking-resumes/#comments</comments>
		<pubDate>Wed, 16 Feb 2011 03:20:18 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">http://simpleprogrammer.com/?p=1254</guid>
		<description><![CDATA[I&#8217;ve avoided talking about this subject a bit, because I didn&#8217;t want anyone to think I was looking for a job.&#160; I&#8217;m not. But, I think it is worth taking a moment to talk about one of the biggest blunders professional programmers make in their job search, careers. The mistake is not having a resume [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1254&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve avoided talking about this subject a bit, because I didn&#8217;t want anyone to think I was looking for a job.&#160; I&#8217;m not.</p>
<p>But, I think it is worth taking a moment to talk about one of the biggest blunders professional programmers make in their <strike>job search</strike>, careers.</p>
<p>The mistake is not having a resume that is of the same caliber in both presentation and content as the set of skills you are trying to sell.</p>
<h2>I&#8217;m no marketing whiz</h2>
<p>But, over the years I have come to understand the value of marketing.&#160; As a professional, <a href="http://simpleprogrammer.com/2010/01/12/selling-yourself/">you should always be trying to sell yourself</a>.</p>
<p>I&#8217;ll be honest, part of the reason I write this blog is because I know it is a valuable tool for marketing myself.</p>
<p>For most professional programmers your resume is your only real marketing method. When it looks worse than a 3rd grade book report and I see it, I immediately think you suck.</p>
<p>Sorry for the boldness, but no need to mince words here.&#160; </p>
<p><strong>Unless you have some awesome open source project you built, or a blog, or some other kind of flashy marketing tool, your resume IS your ONLY marketing and if that sucks, people are going to assume you do also.</strong>&#160;</p>
<p>To be completely honest again, in some part you have to admit that you do suck. Perhaps you are a great programmer, but you suck at common sense.&#160; I mean going through all the hard work of becoming a great programmer and not having the common sense to do the easy thing that will make it all worth it…</p>
<p><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: You know what you are? You&#8217;re like a big bear with claws and with fangs&#8230;    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: &#8230;big &amp;!%* teeth, man.    <br /><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: Yeah&#8230; big &amp;!%*teeth on ya&#8217;. And she&#8217;s just like this little bunny, who&#8217;s just kinda cowering in the corner.    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: Shivering.    <br /><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: Yeah, man just kinda&#8230; you know, you got these claws and you&#8217;re staring at these claws and you’re thinking to yourself, and with these claws you&#8217;re thinking, &quot;How am I supposed to kill this bunny, how am I supposed to kill this bunny?&quot;    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: And you&#8217;re poking at it, you&#8217;re poking at it&#8230;    <br /><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: Yeah, you&#8217;re not hurting it. You&#8217;re just kinda gently batting the bunny around, you know what I mean? And the bunny&#8217;s scared Mike, the bunny&#8217;s scared of you, shivering.    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: And you got these &amp;!%* claws and these fangs&#8230;    <br /><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: And you got these &amp;!%* claws and these fangs, man! And you&#8217;re looking at your claws and you&#8217;re looking at your fangs. And you&#8217;re thinking to yourself, you don&#8217;t know what to do, man. &quot;I don&#8217;t know how to kill the bunny.&quot; With *this* you don&#8217;t know how to kill the bunny, do you know what I mean?    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: You&#8217;re like a big bear, man.    <br /><b><a href="http://www.imdb.com/name/nm0269463/">Mike</a></b>: So you&#8217;re not just like &amp;!%* with me?    <br /><b><a href="http://www.imdb.com/name/nm0000681/">Trent</a></b>: No I&#8217;m not &amp;!%* with you.    <br /><b><a href="http://www.imdb.com/name/nm0887187/">Sue</a></b>: Honestly, man.</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/02/swingers443551.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="swingers443551" border="0" alt="swingers443551" src="http://complextosimple.files.wordpress.com/2011/02/swingers443551_thumb.jpg?w=464&#038;h=576" width="464" height="576" /></a></p>
<p>I know you might be thinking I am being harsh here, but really it is for your own good.</p>
<p>Let me give you an example.</p>
<p>Lets pretend that Pepsi let me design their new logo and ad copy for a magazine ad.</p>
<p><a href="http://complextosimple.files.wordpress.com/2011/02/pepsi-yum.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="pepsi yum" border="0" alt="pepsi yum" src="http://complextosimple.files.wordpress.com/2011/02/pepsi-yum_thumb.jpg?w=473&#038;h=463" width="473" height="463" /></a></p>
<p align="center"><u><em><strong>PEPSI!&#160; It eez so freakin good it will nock you&#8217;re socks off!</strong></em></u></p>
<p align="center"><u><em><strong>I drink it all the time.&#160; I have spearheaded drinking it at parties with 100-1000 people.</strong></em></u></p>
<p align="center"><u><em><strong>PEPSI! YES!&#160; TOTALLY AWESOME AND QUITE DRINKABLE!</strong></em></u></p>
<p>Next time you are at the store and you see a 12 pack of Pepsi with my hand drawn logo on it, and a big white board with no color that says &quot;DRINK PEPSI! TOTALLY AWESOME AND QUITE DRINKABLE&quot; are you going to buy it or are you going to think whoever made that piece of crap is a doofus?</p>
<p>The situation is far worse than what I described.&#160; Pepsi has many marketing venues and advertising campaigns.&#160; <strong>If all you have is your resume, then you just have one.</strong> There is nothing wrong with that, but it better be damn good!</p>
<p>Your resume is like a Superbowl ad for you and your programming skills.</p>
<h2>I would love to make a nice resume, but I do suck at writing and design</h2>
<p>It is good that you admit that, because if you are a programmer and your name isn&#8217;t <a href="http://www.hugoware.net/">Hugo</a>, you probably do suck at writing and design and that is Ok.&#160; </p>
<p>You should not be the person writing your resume or designing it.&#160; You should provide the information, you should review the design, you should even proof-read and edit it, but you should be letting someone else do most of the work.</p>
<p>Why?&#160; Because there are professionals that know how to write and design a resume. Perhaps with many hours of work and research you could create a resume as good or better than a professional resume writer, but chances are you can&#8217;t.</p>
<p>Just like a professional resume writer shouldn&#8217;t try and write their own software, they should hire you to do it, you shouldn&#8217;t try and write your own resume.</p>
<p>This might seem like strange advice.&#160; Perhaps it seems like a cop-out or uber-lame. You are welcome to think that if you want.</p>
<p>Perhaps you think, well if everyone did that then all resumes would be nicely formatted, not contain spelling errors and typos and be full of marketing hype.&#160; </p>
<p>That is true, but the good news for you is that HARDLY ANYONE IS DOING IT and by being one of the few who do, your resume will stand out and make the others look like something your cat puked up.</p>
<p>If you can get an edge, take the edge!</p>
<h2>People should judge my skills not my design and formatting on my resume</h2>
<p>I completely disagree.&#160; Having an ugly resume tells me a large amount about you&#8230; shall I list a few prejudice things I assume about you when I see your double spaced 6 page monstrosity?</p>
<ol>
<li>Doesn&#8217;t care about appearances &#8211; hmm too bad my customers do. </li>
<li>Doesn&#8217;t have self-respect &#8211; those who don&#8217;t respect themselves don&#8217;t respect others usually. </li>
<li>No sense of pride &#8211; if you can&#8217;t take pride in your own work, why do I expect you to take pride in the software you are building for me? </li>
<li>Doesn&#8217;t value the opinion of others. </li>
<li>Is limited by own abilities &#8211; if you can&#8217;t reach out to others for help in your area of weakness, I expect when you can&#8217;t figure something out, you&#8217;ll just flounder. </li>
<li>Doesn&#8217;t care about quality. </li>
<li>Is not detail oriented. </li>
<li>Lacks ambition, will settle for less. </li>
<li>Your code reflects all the above statements. </li>
</ol>
<p>Unfair?&#160; Perhaps.&#160; Untrue?&#160; Perhaps, but given no other information and a stack of 100 more resumes to go through, I&#8217;m going to go ahead and be prejudice.</p>
<h2>But it costs too much money</h2>
<p>It is called an investment. <strong> If you are not willing to put some money into your career, then why should someone else be willing to take a chance and make an investment in you?</strong></p>
<p>A good professional resume writer might charge around $500.&#160; That is chump change compared to the potential earnings increase of having a professionally written and designed resume.&#160; You may increase your negotiating power by a huge margin by appearing to be more professional and you will certainly increase the number of possible opportunities that are available to you.</p>
<p>Let&#8217;s use some real fake numbers like I always like to do.</p>
<p>Suppose that you have skills that on average would be worth about 60k a year in the market and your resume is getting around a 10% response rate from jobs you submit to.</p>
<p>Now of the jobs you submit to, most of the 10% responses you are getting are for jobs that pay right at your market rate, some are above, very few are way above, and some are below.</p>
<p>If you invest $500 in getting a really well done professional resume, you could reasonably expect to increase the base value of your market rate to say 65k and improve your response rate to 20%.</p>
<p>That is a pretty modest improvement, which only requires an investment of money to achieve.&#160; The immediate return on that investment is HUGE, and the lifelong return on that investment could be literally 10s of 1000s of percent.</p>
<p>Think about it.&#160; If you increase your starting wage at a company by just 5k, for a $500 investment, and you work for that company for 10 years, if you got no raises at all, you would make 50k return on your $500 investment.</p>
<p>Raises, by the way, are usually based on percentages of base pay, so it is realistically going to be even more.</p>
<p>Two more points, then I promise to stop beating this horse.</p>
<ul>
<li>It is likely that someone who had a very bad resume and expected to find jobs making 60k, could get a very good resume and find that one company willing to pay them 80k for that same set of skills. </li>
<li>It is very much more likely that the dream job you are after will have a much wider pool of candidates to choose from, even if they are paying the same market rate.&#160; So by having the better resume, you are more likely to get seen and get that dream job. </li>
</ul>
<h2>Final advice</h2>
<ul>
<li>Don’t hire some cheap resume writing service. You get what you pay for.&#160; Spend the money to get it done by a real professional who will do it right.&#160; This is the only hard part you have to do, you need to do a large amount of research here.&#160; I have hired several resume writers for myself and my wife, and I have had to fire a few, because they were basically just rip-offs.&#160; If you try to be cheap and you end up getting ripped off, don’t come crying to me. <img style="border-style:none;" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://complextosimple.files.wordpress.com/2011/02/wlemoticon-smile.png?w=500" /></li>
<li>Review the resume.&#160; You will need to go through more than 1 revision, probably at least 5.&#160; If you want something changed, ask for it.&#160; They will do it, you are paying for it.</li>
<li>You are still going to do most of the work of gathering the information.&#160; Figure out all the things you want to have on your resume and put it all in a mind-map to give to the resume writer.&#160; Garbage in, garbage out.</li>
<li>Whether you take this advice or not, before you ever send your resume to an employer, send it to your mom, your girlfriend, your English major buddy, anyone who will look at it and tell you why it is ugly and what you need to do to fix it.</li>
</ul>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.&#160; Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.&#160; Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1254/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1254/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1254/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1254&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2011/02/15/professionals-have-professional-looking-resumes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/02/swingers443551_thumb.jpg" medium="image">
			<media:title type="html">swingers443551</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/02/pepsi-yum_thumb.jpg" medium="image">
			<media:title type="html">pepsi yum</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2011/02/wlemoticon-smile.png" medium="image">
			<media:title type="html">Smile</media:title>
		</media:content>
	</item>
		<item>
		<title>I&#8217;m a Career Developer and That&#8217;s OK</title>
		<link>http://simpleprogrammer.com/2010/09/14/im-a-career-developer-and-thats-ok/</link>
		<comments>http://simpleprogrammer.com/2010/09/14/im-a-career-developer-and-thats-ok/#comments</comments>
		<pubDate>Tue, 14 Sep 2010 15:35:44 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=1102</guid>
		<description><![CDATA[Sometimes I feel like Greg Focker in Meet the Parents. There is a part in the movie where Greg goes to the breakfast table to be greeted by his girlfriend’s sister’s fiancé, Dr. Bob, and his father who is also a doctor. They ask him what he does, and he says he is a nurse.&#160; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1102&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Sometimes I feel like Greg Focker in Meet the Parents.</p>
<p><a href="http://complextosimple.files.wordpress.com/2010/09/liedetector.jpg"><img style="background-image:none;border-bottom:0;border-left:0;padding-left:0;padding-right:0;display:inline;border-top:0;border-right:0;padding-top:0;" title="liedetector" border="0" alt="liedetector" src="http://complextosimple.files.wordpress.com/2010/09/liedetector_thumb.jpg?w=476&#038;h=346" width="476" height="346" /></a></p>
<p>There is a part in the movie where Greg goes to the breakfast table to be greeted by his girlfriend’s sister’s fiancé, Dr. Bob, and his father who is also a doctor.</p>
<p>They ask him what he does, and he says he is a nurse.&#160; They think he is joking at first, but then they realize he is serious.&#160; They assume the MCATs were too hard, but he tells them he prefers nursing, because he can work in several areas of medicine and not have to deal with the bureaucracy that doctors do.</p>
<p>“You are a programmer?”</p>
<p>“Yes”</p>
<p>“Didn’t you want to move on to become an architect or manager?”</p>
<p>“No, I like writing code and solving hard problems.&#160; And I don’t want to deal with the bureaucracy that architects or managers have to deal with.&#160; I just want to write code and keep getting better at it.”</p>
<h2>What exactly is a “career developer?”</h2>
<p>The closest thing we have to this title is a Software Craftsman, but that seems a bit presumptuous.&#160; I am OK with being called a “career developer.”</p>
<p>It means that I don’t consider advancement to be something beyond writing code.&#160; Becoming a manager or a high level architect is not something I consider to be career advancement for me.</p>
<p>Even becoming a technical lead is not something I strive for in my personal advancement.&#160; Leadership is something that can never be assigned, but is always earned by reputation and willingness to help others.</p>
<p>It means that I consider advancement to be becoming better at writing code, learning more about best practices and implementing them.&#160; I measure advancement in terms of breadth and depth of knowledge in the field of software development and the ability to get things done.</p>
<p>A career developer is someone who values the process of learning and advancing their skills at programming and software development in general over a title, and, unfortunately in a large number of cases, pay. </p>
<p>Although, it does not mean that &quot;career developers” will not be paid well, it just means you have a harder time finding the right company that will recognize the value that you can bring and pay you accordingly.</p>
<h2>Why?</h2>
<p>I can’t speak for everyone, but for me it is about staying true to the reason I got into programming in the first place.&#160; It is the feeling of pure amazement and excitement, as you realize you can make the computer do what you want.</p>
<p>It is hard to match the satisfaction of seeing all your unit tests turn green, knowing that you wrote those tests before writing the code.</p>
<p>There is no novel that compares to the joy of reading through well written code clearly revealing its intent.&#160; Just as real as a character in a book.&#160; The greatest joy is when it is your own code.</p>
<p>There are not many things more exhilarating then facing that really hard problem that seems impossible to solve, not knowing if you actually will be able to solve it, until you finally break it down to small bite-sized pieces, and when you look down at your plate, you see the problem is suddenly gone, and you have emerged victorious!</p>
<p>What else can stimulate the mind in so many ways?&#160; What other activity can challenge you mentally to the same degree that programming can?&#160; What other act of creation allows you take take virtually nothing and make it into something real?</p>
<p>Where can you exaggerate so much, but in a blog?</p>
<p>Yes, perhaps I go a bit far, but at times what I say above is completely true, at least it seems that way to me.&#160; And that is precisely why I choose to keep slinging code.&#160; I’m looking for my next programming high.</p>
<h2>Don’t let the man get you down</h2>
<p>There is nothing wrong with striving to go into management or into higher level architecture instead, but you have to make the choice yourself, and you should not make the choice lightly.</p>
<p>One problem in the real world is that not many companies realize that there even is such a thing as a “career developer.”&#160; There is not really a job title for it.&#160; Senior Software Engineer doesn’t quite cut it.&#160; There are plenty of those out there.</p>
<p>Don’t be discouraged though, if you choose to go the route of the “career developer.”&#160; There are companies out there that do recognize the value of a developer with 10 years experience versus a developer with 1 year experience 10 times.&#160; There are many companies that want to hire exactly the kind of programmer that only want to be programmers, and will pay them well.</p>
<p>I’m fortunate enough to have found such a company.&#160; And I can’t be happier that I did.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.&#160; Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.&#160; Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1102&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2010/09/14/im-a-career-developer-and-thats-ok/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2010/09/liedetector_thumb.jpg" medium="image">
			<media:title type="html">liedetector</media:title>
		</media:content>
	</item>
		<item>
		<title>Book Review: The Pragmatic Programmer</title>
		<link>http://simpleprogrammer.com/2010/08/10/book-review-the-pragmatic-programmer/</link>
		<comments>http://simpleprogrammer.com/2010/08/10/book-review-the-pragmatic-programmer/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 13:51:09 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=1042</guid>
		<description><![CDATA[I recently completed reading The Pragmatic Programmer by Andrew Hunt and David Thomas. I wish I could take a time machine back to the year 2000 and read it then. So much of the information in the book seems to be concepts that many software developers understand and take for granted as general knowledge now, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1042&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently completed reading <a href="http://www.amazon.com/gp/product/020161622X?ie=UTF8&amp;tag=makithecompsi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=020161622X">The Pragmatic Programmer</a> by Andrew Hunt and David Thomas.</p>
<p><a href="http://complextosimple.files.wordpress.com/2010/08/pragmatic.jpg"><img style="display:inline;border:0;" title="pragmatic" src="http://complextosimple.files.wordpress.com/2010/08/pragmatic_thumb.jpg?w=382&#038;h=382" border="0" alt="pragmatic" width="382" height="382" /></a></p>
<p>I wish I could take a time machine back to the year 2000 and read it then.</p>
<p>So much of the information in the book seems to be concepts that many software developers understand and take for granted as general knowledge now, that wasn’t at the time of its writing.</p>
<p>The book is very much a collection of knowledge from years of practical experience writing code.  It is very specific in stating what kind of specific coding practices should be carried out and which ones should be avoided.</p>
<p>The content of the book lays somewhere between the low level software construction in a book like <a href="http://www.amazon.com/gp/product/1556154844?ie=UTF8&amp;tag=makithecompsi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1556154844">Code Complete</a> and a book targeting a higher level methodology or project management.</p>
<p><strong>Good:</strong></p>
<ul>
<li>Years of experience packed into a small package.</li>
<li>Most of the advice in this book is timeless.</li>
<li>Practical real world truth instead of theoretical talk.</li>
<li>Excellent focus on automation for everything you can automate.</li>
<li>Technology independent advice.</li>
</ul>
<p><strong>Bad:</strong></p>
<ul>
<li>There were definitely some dated pieces of advice that I wouldn’t recommend following today.</li>
<li>If you are already familiar with many of the software craftsmanship or general agile principles, much of this book will echo what you already know.  (Can’t fault the authors for that since this book is probably the origin of much of that information getting out, yet if you haven’t read the book, you should know what to expect.)</li>
</ul>
<p><strong>What I learned:</strong></p>
<p>I really liked the section of the book that talked about using “tracer bullets” in software development.  Basically the idea is that you can either prototype the software or build what you know and then adjust your aim to reach the user’s real requirements instead of trying to specify up front.</p>
<p>I think many times in development we get hung up on knowing all the details, but sometimes we need to fire “tracer bullets” first to see if we are hitting the target.</p>
<p>I also realized that I am guilty often of programming by coincidence.  Sometimes I will have put a magic incantation into the code and not really understood why it worked.  It is very important to understand why something works, not just make it work.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.  Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1042/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1042/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1042/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1042&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2010/08/10/book-review-the-pragmatic-programmer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2010/08/pragmatic_thumb.jpg" medium="image">
			<media:title type="html">pragmatic</media:title>
		</media:content>
	</item>
		<item>
		<title>The Hardest Thing I Struggle With</title>
		<link>http://simpleprogrammer.com/2010/07/20/the-hardest-thing-i-struggle-with/</link>
		<comments>http://simpleprogrammer.com/2010/07/20/the-hardest-thing-i-struggle-with/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:34:33 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Best Practices]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=1008</guid>
		<description><![CDATA[I ran up against it again as I was trying to figure out the “right” way to build an android application. Some of your coworkers probably don’t struggle with the issue because they really just don’t think about it that much. But, if you are reading this blog, you probably have encountered the problem I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1008&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I ran up against it again as I was trying to figure out the “right” way to build an android application.</p>
<p>Some of your coworkers probably don’t struggle with the issue because they really just don’t think about it that much.</p>
<p>But, if you are reading this blog, you probably have encountered the problem I am about to talk about.  It may be for you, like it is for me, the single greatest thing holding you back.</p>
<p>What am I talking about?</p>
<h2>The struggle with perfection</h2>
<p>We want to build perfect software, we want to build perfect code, but it is just not possible.</p>
<p>Like Tyler Duren’s alter ego, we want to put everything in a nice little box.</p>
<p><a href="http://complextosimple.files.wordpress.com/2010/07/fightclub0015.jpg"><img style="display:inline;border-width:0;" title="fight-club-0015" src="http://complextosimple.files.wordpress.com/2010/07/fightclub0015_thumb.jpg?w=460&#038;h=346" border="0" alt="fight-club-0015" width="460" height="346" /></a></p>
<p>I had mentioned earlier that not all software developers struggle with this problem.  I think it arises when you start to actively seek to improve your development skills.  It is natural to look for the “right” way to do something you want to get better at.</p>
<ul>
<li>There is a right way to swing a baseball bat.</li>
<li>There is a right way to do mathematical calculations.</li>
<li>You can play a piece of music perfectly on a piano.</li>
</ul>
<p>But there isn’t a right way to build software.</p>
<p>There are lots of wrong ways, and then there are many better ways that all have trade-offs against each other.</p>
<p>It is vey hard to come to grips with this reality.  At least for me it is.  I want to know how am I supposed to do it, and I don’t want to hear “any way you like”, or “however seems right to you.”</p>
<h2>Software development is part craft</h2>
<p>There is some science to it.  Don’t get me wrong.</p>
<p>The biggest problem in software development is not people struggling with perfection, but rather developers believing that there are no wrong ways to develop software.</p>
<p>You can learn what is right to some degree, up to a point.  But, after you steer away from the obviously wrong, you end up drifting into the true craft of software development.</p>
<p>When you only have one tool, software development is easy.  You just hack on things with your one tool.  You might not be very effective, or very efficient, and you may make a pretty big mess, but you generally can get things done and you know what to do.</p>
<p>When you have a toolbox full of tools, the world stops being so black and white.  Software development truly becomes an art or craft at this point, as you are forced to make trade-offs and choose architectures and technologies based on experience and intuition combined.</p>
<p>Our minds fight against this concept of unrule.  It is like playing monopoly with generalizations or ideas of how the game should be played, but no explicit rules.  Sometimes life is just easier within preset boundaries that clearly tell us what is right and what is wrong.</p>
<p>It is a strange twist of fate that the act of building something that is absolutely structured and governed by rules is such a rule-less and judgment based pursuit.</p>
<h2>Dealing with perfection in an imperfect world</h2>
<p>So why is striving for perfection bad anyway?</p>
<p>Well, it can be a major roadblock that prevents us from getting things done.</p>
<p>I’ll often find myself at the 90% better than I started solution, and pushing to get to 95%.  That push to 95% can take the same amount of time it took to get to 90%.</p>
<p>Sometimes when we are looking for the perfect architecture, or trying to apply patterns, because we believe they are right, we end up making things more complicated than they need to be, or we miss a better “less perfect” solution, because we have deemed it so.</p>
<p>One thing I have tried to do to curb my insatiable desire for perfection is to <strong>strive to always improve rather than for perfection itself.</strong></p>
<p>It is important for us to recognize when we are at that 90% mark and move on.</p>
<p>Next time we encounter a similar situation, we’ll hit the 91% mark, because we will have more experience and will have built better intuition.</p>
<p>Here are some tips and strategies I have picked up for dealing with the problem of perfection.</p>
<ul>
<li>Try to get rid of the all or nothing mentality.  Don’t do things just good enough to get by, but don’t try to do them perfectly either.  Do an excellent job, and know what that is.</li>
<li>Start working on things in a rough draft form.  Fill in details later.  This especially helpful with web pages or anything that requires design work.</li>
<li>Don’t get stuck on a problem that is mainly just polish.  If the elegant way to do something is causing you 10 hours of debugging, but you can do it in a less elegant way and hide the mess in a nice package, opt for the second.  You can always come back later, when you don’t feel pressured to find a solution.</li>
<li>Get a second opinion.  If you are struggling with a design issue and going back and forth in your head about the best way to do something, ask someone else and it might make one way or another perfectly clear.</li>
<li>Make yourself a research note.  Move on for now, and make a note to come back later or to research a technology or design.</li>
</ul>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.  Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/1008/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/1008/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/1008/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=1008&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2010/07/20/the-hardest-thing-i-struggle-with/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2010/07/fightclub0015_thumb.jpg" medium="image">
			<media:title type="html">fight-club-0015</media:title>
		</media:content>
	</item>
		<item>
		<title>The Importance of Always Reading</title>
		<link>http://simpleprogrammer.com/2010/07/02/the-importance-of-always-reading/</link>
		<comments>http://simpleprogrammer.com/2010/07/02/the-importance-of-always-reading/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 22:33:21 +0000</pubDate>
		<dc:creator>jsonmez</dc:creator>
				<category><![CDATA[Book Review]]></category>
		<category><![CDATA[Career]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Self Improvement]]></category>

		<guid isPermaLink="false">https://complextosimple.wordpress.com/?p=982</guid>
		<description><![CDATA[It has been a while since I wrote a book review. There is one coming soon, but I wanted to talk about why it has been so long. Simple answer… I stopped reading. What happened?  Well, I got caught up with switching jobs twice.  Lots of different things going on.  I started a running program, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=982&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It has been a while since I wrote a book review.</p>
<p>There is one coming soon, but I wanted to talk about why it has been so long.</p>
<p>Simple answer… I stopped reading.</p>
<p>What happened?  Well, I got caught up with switching jobs twice.  Lots of different things going on.  I started a running program, etc… etc… excuse… excuse.</p>
<p>I wasn’t following <a href="http://simpleprogrammer.com/2009/12/08/great-developers-are-librarians/">my own advice</a>.</p>
<p>It is really important to take a moment every once in a while, when you feel like you are off track or not reaching your goals, to reassess your priorities and goals and figure out what you need to get back on track.</p>
<p><a href="http://complextosimple.files.wordpress.com/2010/07/codeincomplete.jpg"><img style="display:inline;border-width:0;" title="CodeIncomplete" src="http://complextosimple.files.wordpress.com/2010/07/codeincomplete_thumb.jpg?w=420&#038;h=545" border="0" alt="CodeIncomplete" width="420" height="545" /></a></p>
<h2>You have to set a schedule</h2>
<p>That is primarily where I failed, and that is how I am succeeding now again.  At one point I was reading through books about 2 a month, but pretty soon a few months passed by without one book read.</p>
<p>When I was successful at reading, it was because I had set up a schedule or reading every day for so much time.</p>
<p>The simple matter of it is, as humans we are not good at <a href="http://simpleprogrammer.com/2010/05/07/drinking-from-the-firehose/">making good choices about priorities</a> without explicitly planning them out.</p>
<p>Now that I have set up a schedule of reading a minimum of 30 minutes each day, I am making progress again, and much faster than I thought.</p>
<h2>Aren’t you being a little strict?</h2>
<p>You may think that just reading blogs is enough to keep up with the information stream, and it may be, but it probably isn’t going to really expand your mind like a book will.</p>
<p>Why I recommend reading technical books (although, I would argue a book on people skills and other self-improvement books should also be mixed in.)</p>
<h4>Breadth of knowledge will increase.</h4>
<p>You will learn more about things and understand more of what is available to you even if you do not employ all the practices and technologies in the books you read.</p>
<h4>Depth of knowledge.</h4>
<p>Sometimes drilling down into an API or deep into a technique can help you truly master a technology or practice way more than hacking out code or consulting APIs to just find what you need to know.</p>
<h4>Motivation.</h4>
<p>This one is a surprise to most people, but what you read is what you are excited about, not the other way around.</p>
<p>Try it if you don’t believe me.  Pick any topic and start reading about it.  You will become passionate about that topic.</p>
<p>If you want to be a better software developer, read about software development.</p>
<h4>Reputable source of authority when influencing decisions.</h4>
<p>You can have the best idea in the world, but if your only authority is yourself, it doesn’t hold much credibility.  It is much more effective to say, “I think we should do it this way.  In <a href="http://www.amazon.com/gp/product/0735619670?ie=UTF8&amp;tag=makithecompsi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0735619670">Code Complete</a>, Steve McConnell says…”</p>
<h4>Unconscious knowledge absorption.</h4>
<p>I have always been amazed by how much information I picked up from reading than what I was conscious of knowing.</p>
<p>Many of my blog posts will echo things I have read in <a href="http://www.amazon.com/gp/product/0735619670?ie=UTF8&amp;tag=makithecompsi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0735619670">Code Complete</a>, or <a href="http://www.amazon.com/gp/product/0132350882?ie=UTF8&amp;tag=makithecompsi-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0132350882">Clean Code</a>, or any number of other books I have read, which I do not even consciously recall.</p>
<p>Sometimes when I write code, I intrinsically know it is the right way to do it, because of an unconscious conditioning.  (Make sure you read good books, or you will have the negative aspect of this effect.)</p>
<h2>My little tip</h2>
<p>One great way to get your reading done, and to stay in shape at the same time, is to do it on a treadmill.</p>
<p>I have been doing this for awhile now, and it really makes me feel like I am using my time wisely.</p>
<p>You can just walk on the treadmill, set a little incline to burn some extra calories, and after awhile you’ll forget you are walking.</p>
<h6>As always, you can subscribe to this <a href="http://feeds.feedburner.com/MakingTheComplexSimple">RSS feed</a> to follow my posts on Making the Complex Simple.  Feel free to check out <a href="http://elegantcode.com/">ElegantCode.com</a> where I post about the topic of writing elegant code about once a week.  Also, you can follow me on twitter <a href="http://twitter.com/jsonmez">here</a>.</h6>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/complextosimple.wordpress.com/982/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/complextosimple.wordpress.com/982/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/complextosimple.wordpress.com/982/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=simpleprogrammer.com&amp;blog=10597120&amp;post=982&amp;subd=complextosimple&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://simpleprogrammer.com/2010/07/02/the-importance-of-always-reading/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/695e2a956b2dcb5ac45a7095b6ee338a?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">jsonmez</media:title>
		</media:content>

		<media:content url="http://complextosimple.files.wordpress.com/2010/07/codeincomplete_thumb.jpg" medium="image">
			<media:title type="html">CodeIncomplete</media:title>
		</media:content>
	</item>
	</channel>
</rss>
