<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software by Rob &#187; Becoming a Better Developer</title>
	<atom:link href="http://www.softwarebyrob.com/category/becoming-a-better-developer/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwarebyrob.com</link>
	<description>Passionate about Startups and MicroISVs</description>
	<lastBuildDate>Thu, 02 Feb 2012 23:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Why You Should Re-architect Your Career to Amplify Your Strengths</title>
		<link>http://www.softwarebyrob.com/2010/02/03/why-you-should-re-architect-your-career-to-amplify-your-strengths/</link>
		<comments>http://www.softwarebyrob.com/2010/02/03/why-you-should-re-architect-your-career-to-amplify-your-strengths/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 11:30:16 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/?p=1190</guid>
		<description><![CDATA[Each of us has our own set of strengths and weaknesses but we never take the time to figure out what they are. Even if you did would you know what to do with the information? You&#8217;ve probably heard that you need to identify weaknesses so you can fix them. After all, if you&#8217;re already [...] <a href="http://engine.influads.com/click/4f333534353b27e61200000f"><img hspace="8" vspace="8" align="right" src="http://engine.influads.com/image/4f333534353b27e61200000f"/></a>]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2010%2F02%2F03%2Fwhy-you-should-re-architect-your-career-to-amplify-your-strengths%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2010%2F02%2F03%2Fwhy-you-should-re-architect-your-career-to-amplify-your-strengths%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Each of us has our own set of strengths and weaknesses but we never take the time to figure out what they are. Even if you did would you know what to do with the information?</p>
<p>You&#8217;ve probably heard that you need to identify weaknesses so you can fix them. After all, if you&#8217;re already strong in an area there&#8217;s no need to hone that skill, right? You should focus on your weaknesses so people don&#8217;t point and laugh at you when you try to&#8230;do whatever it is you&#8217;re weak at. Right?</p>
<p>That&#8217;s what most people think, but I&#8217;ve found this approach to be a recipe for mediocrity.</p>
<p><span id="more-1190"></span><strong>Becoming World Class</strong><br />
People who become world class at something begin with a strength in that area.</p>
<p>Tiger Woods had some kind of pre-disposition to be a decent golfer. Paul McCartney had some kind of innate musical talent before he picked up a guitar, Yo-Yo Ma was likely a tiny bit better playing stringed instruments than his classmates, and Albert Einstein had something unique about his brain chemistry before he ever thought about the cosmos.</p>
<p>But these strengths take time to develop. To become world-class (or to take it one step beyond and re-define that term in your field) you have to invest thousands of hours of focused practice into that strength. This is known in psychology as the ten thousand hour rule, and Malcolm Gladwell ruined it for the rest of us by beating this idea to death in his book <a href="http://www.amazon.com/gp/product/0316017922?ie=UTF8&amp;tag=softwarbyrob-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0316017922">Outliers</a>.</p>
<p>But the idea is that you need something on the order of 10,000 hours of focused practice to master something like the cello, golf, songwriting, or theoretical physics.</p>
<p><strong>Becoming Mediocre</strong><br />
Perhaps Paul McCartney is particularly deficient in the skills needed to properly operate a motor vehicle. I don&#8217;t know this to be true, let&#8217;s just suppose for the sake of argument.</p>
<p>Suppose that when Sir Paul was young that instead of spending hour upon hour playing music that he had instead focused on learning the skills necessary to drive a car. He practiced steering, using the gas pedal, shifting, etc&#8230; all with the hope of becoming a Formula One driver.</p>
<p>He would have become a better driver, but it&#8217;s almost certain that he would never have become world class at an activity where he has a particular weakness.</p>
<p>Instead of becoming one of the best known singer/songwriters of all time he would have become a second rate driver.</p>
<p>By focusing on something where he already had an innate strength (or innate passion) he was able to become one of the best of all time. And the same story can be applied to Woods, Einstein, and Yo-Yo Ma.</p>
<p><strong>Football vs. Track</strong><br />
One more example and then I&#8217;ll get back to talking about software and entrepreneurship.</p>
<p>In high school I played football because that&#8217;s what the popular kids did, but I wasn&#8217;t well suited for it. I worked my butt of at becoming a good football player. Every Saturday my dad would take me and my brother down to a park to run routes, practice diving, do speed drills&#8230;things that none of my teammates were doing on the weekends.</p>
<p>And I got better. But I was never, and could never have been, great. The skills required for football were particularly lacking in me, and although I was able to improve through literally hundreds of hours of practice, I was never as good as the best receivers in the league.</p>
<p>The track was another story. With my height I was well-suited for the long hurdles and winning races became almost second nature. I worked at it, but the improvements were dramatic as I invested time into running.</p>
<p>I excelled at it from the start and ended up setting a school record, winning the league, and going to the state championships. A far cry from my mediocre performance on the gridiron.</p>
<p>I&#8217;ve always wondered how much better I could have been on the track had I never played football, and instead invested that time into becoming a better runner.</p>
<p><strong>Now Back to Software</strong><br />
Let&#8217;s translate this to being a software developer / entrepreneur.</p>
<p>Most people have no idea about their strengths and weaknesses. So that&#8217;s the first step &#8211; learning what they are.</p>
<p>And secondly, when most people find out they have a weakness they want to improve it.</p>
<p>&#8220;Oh my gosh, I&#8217;m a terrible public speaker&#8230;I need to become better at it!&#8221;</p>
<p>But this is the polar opposite, 180 degrees off, wrong way to approach it.</p>
<p>Instead, figure out your strengths and re-configure your career to amplify and build on them. Avoid any position that requires a lot of public speaking, but instead take that job (or start your own company) where you do a lot of solo coding (if that&#8217;s what you&#8217;re good at). Some people excel at not needing social interaction and being extremely productive on their own.</p>
<p>After struggling for years, wondering why I was unhappy at most of my jobs I came to realize that they were pushing me to improve upon my weaknesses. After a few years of introspection I decided to change my career path and became a <a href="http://www.micropreneur.com">Micropreneur</a>. Micropreneurship fits well with my strengths and has lead to more career happiness than I&#8217;ve experienced in years.</p>
<p><strong>Now Back to You</strong><br />
Most people, and developers in particular, are unhappy with their jobs. And I conjecture that much of that is because you&#8217;re doing something that requires you to utilize one or more weaknesses, and at the same time not taking advantage of your strengths.</p>
<p>If you&#8217;re not a good public speaker and you don&#8217;t enjoy it, don&#8217;t take a position in management where you have to present to executives every month.</p>
<p>If you&#8217;re not a good writer and don&#8217;t enjoy it, don&#8217;t start a blog.</p>
<p>It&#8217;s not only more productive to capitalize on your strengths, it&#8217;s way more fun. You&#8217;re good at it from the start; better than most, in fact. So you will experience a lot of victory in that area. This will mean the activity will be enjoyable from the start.</p>
<p>So what can you do? Spend $13 to buy <em><a href="http://www.amazon.com/gp/product/159562015X?ie=UTF8&amp;tag=softwarbyrob-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=159562015X">StrengthsFinder 2.0</a></em> (or any other book that helps you find your strengths &#8211; this one isn&#8217;t magic; it just happens to be the one I&#8217;ve used). For a more fact-based justification of this entire approach read the pre-cursor to <em>StrengthsFinder</em> called <a href="http://www.amazon.com/gp/product/0743201140?ie=UTF8&amp;tag=softwarbyrob-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0743201140"><em>Now, Discover Your Strengths</em></a>.</p>
<p>Take the test and figure out your strengths.</p>
<p>Consider making a change in your career path.</p>
<p>It may mean you need to change jobs. You may need to do something rash like start a startup or start building apps on the side and become a Micropreneur. Or you may be amazingly lucky and your current situation is already making you extremely happy (and ask yourself if it&#8217;s because it&#8217;s amplifying your strengths so you know how to find this optimal situation in the future should things change).</p>
<p>But whatever you do, don&#8217;t focus on improving a weakness. I&#8217;ve been there. It doesn&#8217;t end well.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">Everyone has strengths and weaknesses. Even B.A. Barracus (CHECK SPELLING) didn&#8217;t like to fly. Most of us never take the time to figure out the difference in ourselves, and even if we did we probably wouldn&#8217;t know what to do with that information.</p>
<p>You&#8217;ve probably heard that you need to identify weaknesses so you can improve upon them. After all, if you&#8217;re already strong in an area there&#8217;s no need to hone that skill, right? You should focus on your weaknesses so people don&#8217;t point and laugh at you when you try to&#8230;do whatever it is you&#8217;re weak at.</p>
<p>But I&#8217;ve found that this is a recipe for mediocrity.</p>
<p>&#8211;MORE LINK&#8211;</p>
<p>BECOMING WORLD CLASS<br />
People who become world class at something begin with a strength in that area.</p>
<p>I would argue that Tiger Woods had some kind of pre-disposition to be a decent golfer. Paul McCartney had some kind of innate musical talent before he picked up a guitar, Yo-Yo Ma was likely a tiny bit better playing stringed instruments than his classmates, and Albert Einstein had something unique about his brain chemisty before he ever thought about the cosmos.</p>
<p>But these strengths take time to develop. To become world-class (or to take it one step beyond and re-define that term in your field) you have to invest thousands of hours of focused practice into that strength. This is known in psychology as the ten thousand hour rule, and Malcom Gladwell ruined it for the rest of us by beating this idea to death in his book Outliers (LINK HERE).</p>
<p>But the idea is that you need something on the order of 10,000 hours of focused practice to master something like the cello, golf, songwriting, or theoretical physics.</p>
<p>BECOMING MEDIOCRE<br />
Perhaps Tiger Woods is particularly deficient in the skills needed to properly operate a motor vehicle. I don&#8217;t know this to be true, let&#8217;s just suppose for the sake of argument.</p>
<p>Suppose that when Tiger were young instead of spending hour upon hour on the golf course practicing his drive that he had instead focused on learning the skills necessary to drive a car. He practiced steering, using the gas pedal, shifting, etc&#8230; all with the hope of becoming a Forumla One driver.</p>
<p>He would have become a better driver, but it&#8217;s almost certain that he would never have become world class at an activity where he has a particular weakness.</p>
<p>Instead of becoming a world class golfer he would have become a second rate driver instead of a household name.</p>
<p>By focusing on something where he already had an innate strength (or innate passion) he was able to become one of the best golfers of all time. Such is the story with McCartner, Einstein, and Yo-Yo Ma.</p>
<p>HIGH SCHOOL VS TRACK<br />
In high school I played football because that&#8217;s what the popular kids did, but I wasn&#8217;t particularly suited for it. I was 5&#8217;11&#8243;, 115 lbs. as a freshman and although I was a good distance runner I had no quickness in short sprints.</p>
<p>But I worked my butt of at becoming a good football player. Every Saturday my dad would take us down to a park and run routes, practice diving, do speed drills&#8230;things that none of my teammates were doing on the weekends.</p>
<p>And I got better. But I was never, and could never have been, great. The skills required for football were particularly lacking in me, and although I was able to improve through literally hundreds of hours of practice, I was never as good as the best receivers in the league.</p>
<p>I was good enough to start every game for two years before an injury forced me to leave the sport, but I never made the phenom catches or the great runs. Those were reserved for people who had strengths in the areas necessary to be great receivers.</p>
<p>Now the track was another story. With my height I was particularly well-suited for the long hurdles and winning races became almost second nature. I worked at it, but the improvements were dramatic as I invested time into running.</p>
<p>I exceled at it from the start and ended up setting a school record, winning my league, and going to the state championships. A far cry from my mediocre performance on the gridiron.</p>
<p>And I&#8217;ve always wondered how much better I could have been on the track had I never played football, and instead invested that time into becoming a better runner.</p>
<p>MY EXAMPLE<br />
Let&#8217;s translate this to being a software developer / entrepreneur.</p>
<p>Most people have no idea about their strengths and weaknesses. So that&#8217;s the first step &#8211; learning what they are.</p>
<p>And secondly, when most people find out they have a weakness in an area they want to work to improve it.</p>
<p>&#8220;Oh my gosh, I&#8217;m a terrible public speaker&#8230;I need to become better at it!&#8221;</p>
<p>But this is the polar opposite, 180 degrees off, wrong way to approach it.</p>
<p>Instead, figure out your strengths and re-configure your career to amplify and build on them. Avoid any position that requires a lot of public speaking, but instead take that job (or start your own company) where you do a lot of solo coding (if that&#8217;s what you&#8217;re good at). Some people excel at not needing social interaction and being extremely productive on their own.</p>
<p>ONE APPROACH TO FINDING YOUR STRENGTHS<br />
About four years ago I read the book StrengthsFinder 2.0, which argues the above premise to follow your strengths (Note: I held that opinion before reading the book but it solidified the idea in my mind). In the book there is an online test to find out your strengths, which I took.</p>
<p>Among my &#8220;themes&#8221; (aka strengths) are:</p>
<p>Learner &#8211; People strong in the Learner theme have a great desire to learn and want to continuously improve. In particular, the process of learning, rather than the outcome, excites them.</p>
<p>Maximizer &#8211; People strong in the Maximizer theme focus on strengths as a way to stimulate personal and group excellence. They seek to transform something strong into something superb.</p>
<p>And I&#8217;ve found that anytime in my career where things grow stagnant, I become unsettled and move on pretty quickly. Things have to be moving and I have to be learning or I die of boredome within months. I jumped from several jobs due to maintenance coding.</p>
<p>In addition, I have a tough time working on large teams due to the maximizer in me. I hold myself to a high standard in pretty much anything I do, and I often wind up holding other people to that standard, as well.</p>
<p>I found out quickly that when other team members weren&#8217;t totally invested in a project and giving it everything they had for the project&#8217;s success, that I didn&#8217;t take that well. As a result, nearly every team I worked on greater than 3 people (whether as a developer or a maneger) was a bust for me. I hated it and wound up either pissing people off, or quitting the job. We couldn&#8217;t find enough top-notch people to keep me happy.</p>
<p>But this has lead to my current position of a Micropreneur. Now I work alone, or with a hand-picked business partner (Jeremy with DotNetInvoice and Mike Taber with the Micropreneur Academy). We work very well together because all of us are entrepreneurs and they hold themselves to as high a standard as I do myself.</p>
<p>This didn&#8217;t happen by accident. I didn&#8217;t stumble on to Micropreneurship and realize &#8220;Oh my gosh, Micropreneurship, you had me at Hello!&#8221;</p>
<p>No, it was a deliberate move on my part to amplify my strengths.</p>
<p>I do my best work, perhaps 5x better than in other circumstances, when I&#8217;m continually challenged and learning rather than bored.</p>
<p>I do my best work when I work alone or with someone who&#8217;s doing top-notch work.</p>
<p>But given that, I also have many weaknesses). Weaknesses that mean I&#8217;ll never do some of the things I dreamt of in college (being the CEO of a startup, for example).</p>
<p>But that doesn&#8217;t matter. What matters is that I&#8217;ve found what caters to my strengths, and I&#8217;ve begun to improve on these strengths and amplify them.</p>
<p>NOW BACK TO YOU<br />
Most people, and developers in particular, are unhappy with their jobs. And I conjecture that at least part of that is becasuse you&#8217;re doing something that requires you to utilize a weakness and doesn&#8217;t amplify your strengths.</p>
<p>If you&#8217;re not a good public speaker and you don&#8217;t enjoy it, don&#8217;t take a position as a sales person.</p>
<p>If you&#8217;re not a good writer and don&#8217;t enjoy it, don&#8217;t start a blog and expect to get anywhwre with it.</p>
<p>It&#8217;s not only more productive to capitalize on your strengths, it&#8217;s way more fun. You&#8217;re good at it from the start; probably better than most people. So you will experience a lot of victory in that area. This will also likely mean that the activity is enjoyable for you from the start.</p>
<p>So what can you do? Spend $X to buy StrengthsFinder 2.0 (or any other book that helps you find your strengths &#8211; this one isn&#8217;t magic; it just happens to be the one I&#8217;ve used).</p>
<p>Take the test and figure out your strengths.</p>
<p>Consider making a change in your career path.</p>
<p>It may mean you need to change jobs. You may need to do something rash like start a startup or start building apps on the side and become a Micropreneur. Or you may be amazingly lucky and your current situation is already making you extremely happy (and ask yourself if it&#8217;s because it&#8217;s amplifying your strengths so you know how to find this optimal situation in the future should things change).</p>
<p>But whatever you do, don&#8217;t focus on improving a weakness. That approach will leave you forever swimming in a sea of mediocrity and unhappiness.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2010/02/03/why-you-should-re-architect-your-career-to-amplify-your-strengths/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>8 Ways to Recession-Proof Your Programming Career</title>
		<link>http://www.softwarebyrob.com/2008/12/10/8-ways-to-recession-proof-your-programming-career/</link>
		<comments>http://www.softwarebyrob.com/2008/12/10/8-ways-to-recession-proof-your-programming-career/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 21:42:46 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/?p=353</guid>
		<description><![CDATA[They finally said it &#8211; the &#8220;R&#8221; word. According to the National Bureau of Economic Research the U.S. has been in recession since December of 2007. It&#8217;s a bit anti-climactic, seeing as we&#8217;ve been hearing about the financial crisis from every major media source for months. But stock indexes continue to slide and the unemployment [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F12%2F10%2F8-ways-to-recession-proof-your-programming-career%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F12%2F10%2F8-ways-to-recession-proof-your-programming-career%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>They finally said it &#8211; the &#8220;R&#8221; word. According to the <a title="National Bureau of Economic Research" href="http://en.wikipedia.org/wiki/National_Bureau_of_Economic_Research">National Bureau of Economic Research</a> the U.S. has been in recession since December of 2007.</p>
<p>It&#8217;s a bit anti-climactic, seeing as we&#8217;ve been hearing about the financial crisis from every major media source for months. But stock indexes continue to slide and the unemployment numbers are getting worse.</p>
<p>So in this age of uncertainty how should someone react who simply wants to collect a few greenbacks in exchange for their brilliant programming acumen?</p>
<p>You could hide under your imitation Aeron and hope no one notices, or you could start pursuing ways to recession-proof your career.</p>
<p><span id="more-353"></span></p>
<p><strong>1. Volunteer to Lead a Big Project</strong><br />
The opportunity to lead a project may not be available to everyone, but if you have serious concerns about losing your job it&#8217;s a sure-fire way to make yourself almost irreplaceable.</p>
<p>No manager in their right mind would fire the technical lead of a big software project. And if your manage isn&#8217;t in their right mind, it&#8217;s probably time to find another job.</p>
<p><strong>2. Show Up Early, Leave Late</strong><br />
I&#8217;ve talked about how <a href="http://www.softwarebyrob.com/2006/12/06/open-letter-to-software-managers-of-the-world/">crunch time</a> should be the exception in software projects. But desperate times may call for some extra hours.</p>
<p>I know, I know&#8230;it sounds like you&#8217;re giving in to &#8220;the man,&#8221; but let&#8217;s be honest: your company has more to worry about right now than keeping you happy. Realize it&#8217;s only temporary, and a better way to spend your time than looking for a new job.</p>
<p>If you were a manager forced to layoff 10% of your team, who would you let go?</p>
<p><strong>3. Start a MicroISV</strong><br />
<a href="http://www.softwarebyrob.com/2008/10/03/should-you-build-or-buy-your-micro-isv/">Build it</a> or <a href="http://www.softwarebyrob.com/2007/09/16/inside-story-small-software-acquisition-1-of-3/">buy it</a>, it doesn&#8217;t matter. What matters is that you begin generating recurring income that will sustain without your day job.</p>
<p>The average U.S. recession <a href="http://en.wikipedia.org/wiki/List_of_recessions_in_the_United_States">lasts 10 months</a> and we&#8217;re supposedly 12 months into our current situation. If you were laid off next week how long do you think it would take you to find a job? A month? 2 months? 4 months?</p>
<p>How much would an extra $1000 or $2000 per month help during that time?</p>
<p>MicroISVs are a fantastic way to create recurring income that weathers tough economic times, especially if you have a niche product and you&#8217;re ruthless about automating everything.</p>
<p>I recently wrote about the <a href="http://www.softwarebyrob.com/2008/11/18/the-software-product-myth/">challenges of launching a microISV</a>, but I&#8217;ll be talking more about how to get past these difficulties in a future post.</p>
<p><strong>4. Moonlight</strong><br />
If you have the chance think about taking on side work.</p>
<p>Right now companies are cutting costs and letting go of their $125/hour development shop. A lot of contract work is out there looking for mid- to low-cost providers. Keep your feelers out for contract work.</p>
<p>While moonlighting is not a sustainable option, if you start during a recession you&#8217;ll find that one of three things will happen:</p>
<ol>
<li>You&#8217;ll get so much work you&#8217;ll be able to quit your job and consult full time. Lucky you.</li>
<li>You&#8217;ll make some money and won&#8217;t get laid off. When the recession is over you can buy an iPhone, a Kindle, and go to Cancun.</li>
<li>You&#8217;ll make some money and get laid off and be really glad you have the extra cash.</li>
</ol>
<p><strong>5. Become a Popular Blogger, Author, Speaker, Podcaster, etc&#8230;</strong><br />
In good times and bad, being a superstar is a good way to keep your job.</p>
<p>It&#8217;s hard to fire a developer with 10,000 podcast listeners, not because she might say bad things about the company, but because co-workers look up to her as an alpha-geek. Fire her and morale will take a big hit.</p>
<p><strong>6. Become a Trainer</strong><br />
It&#8217;s generally accepted that <a href="http://birmingham.bizjournals.com/birmingham/stories/2008/09/22/focus4.html">recessions boost college enrollment</a>. But companies that perform technical training also see a jump<a href="http://www.jsonline.com/business/29495014.html"></a> as laid off workers go back to the classroom to update their skills.</p>
<p>Back in 2001 I worked with a consultant who was a developer when times were really good, and a trainer when times were really bad. He did a little of both during the rest of the time to keep himself interested, and  maintain his skills in both arenas.</p>
<p>If you have the gift of teaching, now is a great time to pursue it.</p>
<p><strong>7. Write Technical Articles</strong><br />
Not only do technical articles help with your alpha-geek status (see #5), but you can make a little coin along the way.</p>
<p>Surprisingly enough, articles for programming magazines can bring in several hundred to a thousand dollars each, depending on length.</p>
<p>Check out <a href="http://www.ccgdata.com/computers---programming_all.html">one of</a> <a href="http://www.google.com/Top/Computers/Programming/Magazines_and_E-zines/">these</a> <a href="http://www.google.com/Top/Computers/Programming/Magazines_and_E-zines/">directories</a> for a magazine that matches your skillset.</p>
<p><strong>8. Work for a &#8220;Recession-Proof&#8221; Company</strong><br />
Granted, no company is completely recession-proof, but sectors like health care, pharmaceuticals, defense, government, and consumer staples do well in good or bad times.</p>
<p>Boring programming jobs? Indeed. Stable in a recession? You betcha.</p>
<p><a href="http://www.coinstar.com/">Coinstar</a>, and companies like it, do well during recessions because people start cashing in their unused change.</p>
<p>Walmart, Target and other discount retailers also fare well, since consumers tend to ease back on luxury items and head to the discount stores.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/12/10/8-ways-to-recession-proof-your-programming-career/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Startup Success Podcast, Open Source For-Profit Startups, One Laptop Per Child 2008, and $19 Usability Testing</title>
		<link>http://www.softwarebyrob.com/2008/11/21/startup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing/</link>
		<comments>http://www.softwarebyrob.com/2008/11/21/startup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing/#comments</comments>
		<pubDate>Fri, 21 Nov 2008 19:41:34 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Cool News, Links & Reviews]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2008/11/21/startup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing/</guid>
		<description><![CDATA[The Startup Success Podcast &#8211; After the demise of The Micro-ISV Show, Bob Walsh is back discussing issues affecting software startups. A good weekly listen. Open Source, For-Profit Startups &#8211; &#8220;FairSoftware is the place to start and grow your online business. We help you team with others, track revenue and share it openly and fairly. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F11%2F21%2Fstartup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F11%2F21%2Fstartup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://startuppodcast.wordpress.com/">The Startup Success Podcast</a> &#8211; After the demise of The Micro-ISV Show, Bob Walsh is back discussing issues affecting software startups. A good weekly listen.</p>
<p><a href="http://fairsoftware.net/home">Open Source, For-Profit Startups</a> &#8211; &#8220;FairSoftware is the place to start and grow your online business. We help you team with others, track revenue and share it openly and fairly. Hire people in return for a share of your income stream instead of upfront cash. You save money and they have more incentive to collaborate.&#8221;</p>
<p><a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2Fb%3Fie%3DUTF8%26marketplaceID%3DATVPDKIKX0DER%26redirect%3Dtrue%26me%3DA34NLXJLC88VVS&amp;tag=softwarbyrob-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=390957">One Laptop Per Child Give One Get One 2008</a> &#8211; For $399 you get one XO laptop for yourself, and one is sent to a child in a developing nation. The keyboards are small, but they run Linux and have wireless NICs.</p>
<p><a href="http://www.usertesting.com/">$19 Usability Testing</a> -  This is awesome. For around $19 (you can add bonus money to get your tests completed faster), you get a 15-minute video of a real user going through your site or web app, and a written summary of their findings. I&#8217;ve used it on two projects and it has raised a slew of issues we had no idea people would have problems with. Definitely worth a look.</p>
<p>And finally, from Paul Graham&#8217;s essay <a href="http://www.paulgraham.com/badeconomy.html">Why to Start a Startup in a Bad Economy</a> (emphasis added):</p>
<blockquote><p>If we&#8217;ve learned one thing from funding so many startups, it&#8217;s that they succeed or fail based on the qualities of the founders. The economy has some effect, certainly, but <strong>as a predictor of success it&#8217;s a rounding error compared to the founders</strong>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/11/21/startup-success-podcast-open-source-for-profit-startups-one-laptop-per-child-2008-and-19-usability-testing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Does Anyone Know of a Real Software Apprenticeship?</title>
		<link>http://www.softwarebyrob.com/2008/07/29/does-anyone-know-of-a-real-software-apprenticeship/</link>
		<comments>http://www.softwarebyrob.com/2008/07/29/does-anyone-know-of-a-real-software-apprenticeship/#comments</comments>
		<pubDate>Wed, 30 Jul 2008 00:58:17 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2008/07/29/does-anyone-know-of-a-real-software-apprenticeship/</guid>
		<description><![CDATA[A Software by Rob reader writes: Today, after typing in &#8220;learning .net through apprenticeship&#8221; into my Live search bar, I was pleased to see as the number 1 hit: Software Training Sucks: Why We Need to Roll it Back 1,000 Years &#8230; .  As I read the article, I found myself nodding in agreement and [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F07%2F29%2Fdoes-anyone-know-of-a-real-software-apprenticeship%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F07%2F29%2Fdoes-anyone-know-of-a-real-software-apprenticeship%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A Software by Rob reader writes:</p>
<blockquote><p>Today, after typing in &#8220;learning .net through apprenticeship&#8221; into my Live search bar, I was pleased to see as the number 1 hit: <span style="color: black;" lang="EN"><a href="http://www.softwarebyrob.com/2005/11/15/software-training-sucks-roll-it-back/" target="_blank">Software Training Sucks: Why We Need to Roll it Back 1,000 Years &#8230; </a></span>.  As I read the article, I found myself nodding in agreement and wishing for a solution. You see, as a programmer who hasn&#8217;t done what I would consider <strong><em>real</em></strong> programming since back in the BASIC and COBOL days, I&#8217;ve been struggling trying to pull myself up by my bootstraps learning C# by meticulously going through books and online material</p>
<p>I am right now in a position where I&#8217;ve made a commitment to stop what I&#8217;m doing to devote full time to learning a new programming model and I chose .NET over the LAMP stack. Since publishing your article, have you heard of anyone who has gotten creative with apprenticing <strong><em>new</em></strong> programmers?</p>
<p>A very interesting apprenticeship model I&#8217;ve encountered in the past few years, albeit in another industry, is one in the entertainment industry. My daughter had an aptitude for audio recording and, through research, found a company out in L.A. that does recording apprenticeships. She was chosen as an apprentice and within 10 months they were pleased with her work and hired her full-time as an assistant engineer.</p>
<p>Is there any reason in your opinion that such a model (or something close to it) could not work apprenticing .NET developers?</p></blockquote>
<p>I haven&#8217;t heard of any <em>real </em>apprenticeship programs for .NET developers. I think it would be an excellent model for improving development skills, building morale, etc&#8230; but it would take a very special company, probably one run by a software developer, to even consider such a thing.</p>
<p>Has anyone heard of such a company? <strong>[Consider this permission to shamelessly plug your company]</strong></p>
<p><strong>Update:</strong></p>
<p>I was recently contacted by a company in the UK offering a real software apprenticeship program. Details are below:</p>
<p style="padding-left: 30px;"><em>e-skills UK (an industry body for IT skills) is piloting a Software &amp; Web Developer Apprenticeship in the UK, working with Microsoft and QA (a training company). Ten IT companies of all different shapes and sizes will be recruiting 20 apprentices, who will receive a 12 month structured apprenticeship programme. This starts with a 4 week programming boot camp, with 5 further weeks of technical training, on topics such as Data Modelling and Software Testing and, dotted throughout the year.</em></p>
<p style="padding-left: 30px;"><em>The key is that the apprentices will be working for the rest of the time, learning their trade as developers from the technical mentors in their companies, but also being productive employees. The pilot will be focusing on C# and the.NET framework, and the apprentices will be aged between 16 and 20, using this as an alternative route to going straight to college/university.</em></p>
<p style="padding-left: 30px;"><em>To get in touch, email <a href="mailto:ben.sweetman@e-skills.com" target="_blank">ben.sweetman@e-skills.com</a> or follow him on twitter @bensweetman.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/07/29/does-anyone-know-of-a-real-software-apprenticeship/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>What&#8217;s Better Self-Promotion: Speaking or Blogging?</title>
		<link>http://www.softwarebyrob.com/2008/05/30/better-self-promotion-speaking-or-blogging/</link>
		<comments>http://www.softwarebyrob.com/2008/05/30/better-self-promotion-speaking-or-blogging/#comments</comments>
		<pubDate>Fri, 30 May 2008 14:00:06 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2008/05/22/better-self-promotion-speaking-or-blogging/</guid>
		<description><![CDATA[What&#8217;s Next? Like many software developers I&#8217;m afflicted with &#8216;What&#8217;s Next?&#8217; Syndrome. It&#8217;s a disease whereby you&#8217;re never content with your situation, no matter how cool it is, how long you planned for it, or how many hours you spent working to get there. My stagnation range is 6-12 months; if I&#8217;m not learning new [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F05%2F30%2Fbetter-self-promotion-speaking-or-blogging%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F05%2F30%2Fbetter-self-promotion-speaking-or-blogging%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><strong>What&#8217;s Next?</strong><br />
Like many software developers I&#8217;m afflicted with <em>&#8216;What&#8217;s Next?&#8217; Syndrome</em>. It&#8217;s a disease whereby you&#8217;re never content with your situation, no matter how cool it is, how long you planned for it, or how many hours you spent working to get there. My stagnation range is 6-12 months; if I&#8217;m not learning new things by then I start to unravel. Blessing? Curse? Not quite sure.</p>
<p>It seems like the most common activities for climbing the ranks in the development community are blogging, writing books, training/teaching, and public speaking.</p>
<p>Blogging?<strong> </strong>Check.<em> </em></p>
<p><em>So what&#8217;s next?</em></p>
<p><span id="more-279"></span>I&#8217;ve waffled on this decision for a long time due to the high barriers to entry and uncertainty of the payoff. Since I&#8217;m an independent developer working for an hourly rate, taking hundreds (thousands) of hours to write a book is a tremendous commitment. Training is similar: it requires learning a whole new set of skills, earning a certification or two (the easy part), and shifting your work schedule and marketing approach to accommodate a hybrid business model. I&#8217;m not sure how many trainers remain day-to-day developers.</p>
<p>But of the three options public speaking certainly has the lowest barrier to entry, especially in the .NET community where there are frequent local events that welcome new speakers. So 6 months ago I dipped my toe into the water and participated in my first <a href="http://www.softwarebyrob.com/2007/11/11/slides-and-code-from-fairfield-westchester-code-camp/">speaking engagement</a>.</p>
<p><strong>The Numbers</strong><br />
I had mixed emotions about the outcome. On the one hand getting out of the house and seeing other developers face to face was a welcome change (even though it was 28 degrees outside). On the other hand, the amount of time invested seemed out of synch with the benefits.</p>
<p>Since I didn&#8217;t have much development experience with my topic I spent 8 hours learning it, creating the slide deck, and coding the examples. Then on a chilly Saturday morning I traveled an hour to the conference, spoke for an hour, and traveled home. In the end I spent about 11 hours and spoke to around 25 people.</p>
<p>As a point of comparison, in 11 hours I could have written 1-2 long-form articles or 5-10 blog posts that would have been read by 12,000-50,000 people (depending on the post&#8217;s popularity). In terms of people influenced, blogging is going to be more effective for me due to the massive up-front time investment I&#8217;ve made over the past three years (my &#8220;sunk costs&#8221;).</p>
<p>What makes things complicated is that face to face contact is exponentially more memorable than someone skimming your essay in their RSS reader. In addition, if I dedicated as much time to speaking as I have to blogging I would be speaking to much larger crowds, speaking more often (which would allow re-use of my talks), and generally glean a lot of benefits that a single speaking engagement at a local code camp wouldn&#8217;t bring.</p>
<p>The conclusions I&#8217;ve arrived at are:</p>
<ol>
<li>Assuming you have any lick of natural ability, investing hundreds of hours into any of these options (blogging, writing, training, speaking) will pay off, and I would venture to say that hundreds of hours is what&#8217;s required to obtain a good return on your investment.</li>
<li>Pick the one you think you&#8217;ll enjoy most, and only get started if you have time to invest.</li>
<li>A combination of two or more is a good approach; that&#8217;s why it&#8217;s so common among big names in the community. Plus it will keep you from getting bored.</li>
</ol>
<p>Any thoughts?</p>
<p>[tags]programming, self-promotion[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/05/30/better-self-promotion-speaking-or-blogging/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The Single Most Important Career Question You Can Ask Yourself</title>
		<link>http://www.softwarebyrob.com/2008/05/18/the-single-most-important-career-question-you-can-ask-yourself/</link>
		<comments>http://www.softwarebyrob.com/2008/05/18/the-single-most-important-career-question-you-can-ask-yourself/#comments</comments>
		<pubDate>Mon, 19 May 2008 01:15:51 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2008/05/18/the-single-most-important-career-question-you-can-ask-yourself/</guid>
		<description><![CDATA[By the time I was 13 I had been selling candy and comic books to my classmates for almost 3 years. Though I did quite well, I was itching to try something bigger, and that meant extending my reach beyond the walls of Math class. This was the late 80s, so resources were limited for [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F05%2F18%2Fthe-single-most-important-career-question-you-can-ask-yourself%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F05%2F18%2Fthe-single-most-important-career-question-you-can-ask-yourself%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>By the time I was 13 I had been selling candy and comic books to my classmates for almost 3 years. Though I did quite well, I was itching to try something bigger, and that meant extending my reach beyond the walls of Math class.</p>
<p>This was the late 80s, so resources were limited for a 13 year old living in the country. I ordered all of the free information available in the <em>work at home </em>section of the Penny Saver (a free newspaper consisting entirely of ads), and started going to the library twice a week to read up on entrepreneurship. I was searching for a business idea that I could pull off at 13, and after literally hundreds of books, booklets, and information packets I decided to publish my own booklet on comic book collecting.</p>
<p><strong>&#8220;Smart&#8221;</strong><br />
Since I was seven years old I&#8217;ve been an avid reader. I consumed 2 or 3 books a week during my childhood, including a large collection of &#8220;crazy facts&#8221; books and the Guinness Book of World&#8217;s Records (every year). By the time I was 13 I&#8217;d been reading 2-3 books a week for 6 years, and the breadth of my knowledge was astonishing for someone my age.</p>
<p>I knew how the stock market worked, why Beta had lost to VHS, why Apple was losing market share to the PC, and how double-entry accounting worked (although I couldn&#8217;t <em>do </em>double-entry accounting). But I had no idea how to start a business. With all of my book knowledge about the business world, I had no clue how to execute an idea.</p>
<p><span id="more-252"></span>I&#8217;d read several books on self-publishing and writing non-fiction, and I could have a <em>really </em>good conversation about them, but I&#8217;d synthesized the information for knowledge-sake, rather than to act on it. That made a big difference.</p>
<p>And so it continued for months&#8230;I didn&#8217;t have the guts to start writing the booklet for fear I wouldn&#8217;t know what to do next. Instead, I visited more libraries and sought magazines that did nothing but rehash information I already knew. I filled my head with the same information from piles of resources, but I still couldn&#8217;t get things going.</p>
<p>After months I finally took the leap. I spent 60 hours researching and writing the booklet. I printed it at Kinko&#8217;s, placed a few classified ads, and sold 9 copies at $15 apiece, breaking even on the cost of printing and advertising. Financially it was a wash, but I learned a valuable lesson.</p>
<p><strong>The Question</strong><br />
13 years later I went through a nearly identical scenario when I started my consulting firm, <a href="http://www.thenumagroup.com/">The Numa Group</a>.</p>
<p>I&#8217;d read stacks of book about entrepreneurship, startups, management, leadership, consulting, and running a service business, but I had no idea how to get started. I was waiting for the one book that was going to kick me into action by telling me exactly how to proceed given my skills, strengths, goals, and financial situation. Alas, that book never appeared. I finally realized that I needed to take a leap of faith and go to a place where no one else could lead me.</p>
<p>Through these experiences I realized the following:</p>
<blockquote><p>Some people are consumers by nature; they consume vast quantities of knowledge purely for learning&#8217;s sake. Others are producers; they consume knowledge with the intent of one day acting on the knowledge and producing something, be it a book, a song, a blog, a startup, etc&#8230; Neither is better than the other.</p>
<p><span style="font-style: italic;">The key is to answer one question:</span> <span style="font-weight: bold; font-style: italic;">which are you?</span></p></blockquote>
<p>I want to say again that neither is better than the other. If we were all consumers we wouldn&#8217;t have anything to watch; if we were all producers no one would be reading our blogs or listening to our podcasts. What matters is:</p>
<p><em>There is a </em><em>huge benefit to finding out if you tend to be a producer or a consumer.</em></p>
<p><strong>Which Are You? </strong><br />
If you convince yourself that the zillions of books, blogs and podcasts you&#8217;ve consumed over the past 2/3/4 years are in preparation for that glorious day when you&#8217;ll tell your boss to stick it in his ear because you&#8217;re heading out the door to starting your own company, you are wasting your time. Don&#8217;t read another blog post about startups, Micro-ISVs, or the business of software. Once you&#8217;re done reading this post (or even before), go start building something (a product, a blog, a company&#8230;). Because until you do, the knowledge you&#8217;re gaining is all but worthless to you.</p>
<p>But if you realize that one of the pleasures in your life is to read about code/startups/entrepreneurs/music, then embrace that you are a consumer. Knowledge for knowledge&#8217;s sake is not bad as long as you realize that you are not working towards an end beyond your own edification, which again, is not a bad thing.</p>
<p>Likewise, if you&#8217;re someone who has an unquenchable desire to <em>produce something</em>, then stop reading about other people, and start doing it yourself. Seriously, don&#8217;t read another blog post, tweet, or issue of Fast Company until you&#8217;ve made a visible move towards that goal you so desperately want, but think that reading and dreaming about will somehow make it come true. Once you&#8217;ve made that single action towards advancing your idea, you can come back and read a few more posts.</p>
<p>While it&#8217;s true it&#8217;s not either-or, that you are likely a mixture of both types and will experience fluctuation in your ratio of production vs. consumption from one month to the next, unless your name is Robert Scoble you really do have to choose one or the other.</p>
<p>To recap:</p>
<ul>
<li>Consuming for the pure love of learning is absolutely ok.</li>
<li>Producing purely because you have a fire that won&#8217;t die until you do is fine, too.</li>
<li>But don&#8217;t kid yourself about who you are.</li>
</ul>
<p>If you&#8217;ve been reading startup blogs for years and never started anything, it&#8217;s time to accept that your tendency is to be a consumer. It&#8217;s not to say you can&#8217;t break out of that classification by starting something, but if you haven&#8217;t done it thus far you&#8217;re not likely to do it soon without some external motivation (maybe this post?).</p>
<p>If you have 50 software product ideas and your hard drive is littered with folders containing 30 lines of code from each, you tend towards being a consumer (or at least a producer who has trouble finishing things).</p>
<p>And if you figure out that you <em>are </em>a producer, stop daydreaming about the day you&#8217;ll make things happen. Start making it happen in the next 30 days, or forever hold your peace.</p>
<p>Additional information: <a href="http://www.bakeruinfo.com/">Baker University</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/05/18/the-single-most-important-career-question-you-can-ask-yourself/feed/</wfw:commentRss>
		<slash:comments>50</slash:comments>
		</item>
		<item>
		<title>Q &amp; A: What Should I Put on My Programming Resume?</title>
		<link>http://www.softwarebyrob.com/2008/03/27/q-a-what-should-i-put-on-my-programming-resume/</link>
		<comments>http://www.softwarebyrob.com/2008/03/27/q-a-what-should-i-put-on-my-programming-resume/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 15:27:36 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2008/03/27/q-a-what-should-i-put-on-my-programming-resume/</guid>
		<description><![CDATA[I received the following email a few weeks ago: I graduated with an MIS degree while serving in the Military. I took some programming classes like JAVA, C++ etc&#8230; I am now back in Boston, MA and find it difficult to find employment where I can learn to become a better programmer. I don&#8217;t have [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F03%2F27%2Fq-a-what-should-i-put-on-my-programming-resume%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2008%2F03%2F27%2Fq-a-what-should-i-put-on-my-programming-resume%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I received the following email a few weeks ago:</p>
<blockquote><p>I graduated with an MIS degree while serving in the Military. I took some programming classes like JAVA, C++ etc&#8230; I am now back in Boston, MA and find it difficult to find employment where I can learn to become a better programmer. I don&#8217;t have the experience but I am willing to learn. Can you please provide me with some direction on what to say on my resume, to gain the experience in the civilian workforce so I can become a better programmer?</p></blockquote>
<p>My response:<br />
<span id="more-255"></span></p>
<p>To begin, read the following posts on my blog and think seriously about following the steps I outline in each. It will take time, but I&#8217;ve been doing this for almost 10 years and can tell you from experience that they work:</p>
<p><a href="http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/">Advice on How to Become a Programmer</a><br />
<a href="http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/">Nailing Your Technical Interview</a><br />
<a href="http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/">Self-Marketing for Software Developers</a></p>
<p>Second, check out this article on <a href="http://blogs.techrepublic.com.com/programming-and-development/?p=521">programmer resumes</a>.</p>
<p>Third, there are no magic words that you can put on your resume. The key is to have a good-looking resume that&#8217;s clean, free of typos, and that highlights your strong points (your education and military experience) at the top.</p>
<p>The tech economy, especially in the bay area and Boston, is healthy right now, so you should have no trouble finding an entry level position as a developer, especially if you are open to learning PHP or .NET. Also, start learning PHP or .NET in your spare time &#8211; build some sample web projects to show off (put them online so you can easily forward a link). This is the most impressive thing I&#8217;ve seen from young programmers, is when they&#8217;ve built something in their spare time and taken the time to put it online. Bonus points if you build something that people are actually using.</p>
<p>Lastly, read software blogs. Read <a href="http://www.joelonsoftware.com/">Joel</a>, <a href="http://www.ericsink.com/">Eric</a>, <a href="http://www.paulgraham.com/articles.html">Paul</a>, <a href="http://www.codinghorror.com/blog/">Jeff</a> and <a href="http://www.hanselman.com/blog/">Scott</a>, and now and again you can slum it on my blog. These sites will lead you to other good blogs. The closer you are to the community the more you&#8217;ll understand what people are talking about and looking for in their hiring.</p>
<p>Good luck,</p>
<p>Rob</p>
<p>[tags]programming, resumes, hiring[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2008/03/27/q-a-what-should-i-put-on-my-programming-resume/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Self-Marketing for Software Developers</title>
		<link>http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/</link>
		<comments>http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 16:00:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/</guid>
		<description><![CDATA[SmartMoney.com interviewed me this week for their article Web Sites Find Security Seals a Boon for Business. The article talks about ways online merchants, specifically small businesses, can use security seals to legitimize their websites in the eyes of potential customers. It occurred to me that displaying seals doesn&#8217;t change how a website operates; the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F10%2F19%2Fmarketing-yourself-how-to-re-write-the-rules%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F10%2F19%2Fmarketing-yourself-how-to-re-write-the-rules%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>SmartMoney.com interviewed me this week for their article <a href="http://www.smsmallbiz.com/marketing/Security_Seals_a_Boon_for_Business.html">Web Sites Find Security Seals a Boon for Business</a>. The article talks about ways online merchants, specifically small businesses, can use security seals to legitimize their websites in the eyes of potential customers.</p>
<p>It occurred to me that displaying seals doesn&#8217;t change<em> how</em> a website operates; the seals are all about marketing. They&#8217;re all about playing the game of looking legitimate to potential customers.</p>
<p>In this case, standards and seals are a good thing: they allow people to quickly verify if a website uses SSL or is reasonably &#8220;hacker safe.&#8221; This is helpful when you&#8217;re shopping for that antique Platypus Beanie Baby and wind up on a site you&#8217;ve never heard of. Seeing the Verisign seal probably gives you a bit of warm fuzziness.</p>
<p><span id="more-241"></span><strong>Standards</strong><br />
In high school you may have worked your butt off for grades or a good score on the SAT (a standardized test taken by high school seniors in the U.S.). The fact is, you were smart whether or not you did these things, but you had to do them to prove it. You may not have realized, but you were marketing yourself to colleges. And the best way to do this is to fit their mold of standardized tests and grades; to play the game.</p>
<p>When you go to a job interview you already know you can do the job. The entire process of creating a resume, making it look pretty, putting on a suit, using your best manners, and writing code on a white board is all <em>packaging.</em> It&#8217;s not really you; it&#8217;s the best possible view of you that you bring to the game.</p>
<p>I have a friend who is a fantastic developer (I mean it; he&#8217;s top-notch). But he has trouble finding contract work. All of the online marketplaces are filled with commodity development shops. The temp houses take a huge cut and are always trying to beat down his rate. So a guy who&#8217;s worth $100+/hour winds up making $70. He&#8217;s worth more, but he hasn&#8217;t figured out how to differentiate himself from every other developer in the universe.</p>
<p><em><u>Self-Marketing Rule #1:</u> It&#8217;s a sad statement, but even from early on in your career, knowing how to market yourself will do more for your earnings and reputation than becoming better at what you do. This is <strong>not</strong> a license to be a crappy developer, but an imperative to become a better self-marketer. </em></p>
<p><strong>The Basics</strong><br />
Self-marketing, also known by the more sinister name &#8220;self-promotion,&#8221; works wonders for both salaried employees and freelancers. In both cases the bigger your name, the more recognition you&#8217;ll receive from those around you, the more money you will make, and the more opportunities that will come your way.</p>
<p>I receive a lot of email asking how to get a raise, and how to get around the developer salary cap, and here&#8217;s the simple answer: <em>set yourself apart.</em></p>
<p>Here are a few approaches to doing that; there are certainly more (please post a comment with your ideas):</p>
<ul>
<li><strong>Get Certified.</strong> A good first step.</li>
<li><strong>Write technical articles.</strong> Print or online; it doesn&#8217;t matter. Scott Mitchell and Rocky Lhotka have built careers using this approach in the .NET world.</li>
<li><strong>Speak.</strong> Start by speaking at local developer events.</li>
<li><strong>Blog.</strong> Joel Spolsky is the poster child for making a name for yourself as a blogger.</li>
<li><strong>Win Awards. </strong>Microsoft&#8217;s MVP and ASPInsider awards come to mind. I&#8217;m not sure if there are equivalents on the Java/PHP side.</li>
<li><strong>Contribute to Open Source Projects.</strong> Nothing is more impressive than saying you implemented feature X in a popular blogging engine.</li>
<li><strong>Release your own free applications or utilities.</strong> Have you heard of <a href="http://www.albahari.com/linqpad.html" target="_blank">LINQPad</a> or <a href="http://www.aisto.com/roeder/dotnet/" target="_blank">Reflector</a>? Suffice to say  these developers have<em> </em>earned major clout in their circles.<u><em><br />
</em></u></li>
</ul>
<p><u><em>Self-Marketing </em></u><em><u>Rule #2:</u> Start now. </em><em>It will take a long time to get going (think years, not months), and the sooner you start the sooner you&#8217;ll reap the rewards.</em><em> </em></p>
<p><strong>A New Game</strong><br />
The approaches I mentioned above are good to know when you&#8217;re starting out in the game of self-marketing. But some people don&#8217;t play the game at all. They re-write the rules to create a new one.</p>
<p>A girl from my high school didn&#8217;t get her diploma because she refused to take P.E. (Physical Education), but she was a science prodigy and was accepted to M.I.T. She knew how to market herself using her substantial accomplishments (inventions, awards, articles, etc&#8230;), and M.I.T. saw her as an exceptional candidate even though she didn&#8217;t meet the basic requirement every guidance counselor tells you about. She refused to play the grades/SAT/diploma game and decided to make up her own rules.</p>
<p>Fog Creek Software makes millions annually selling <a href="http://www.fogcreek.com/FogBugz/" target="_blank">bug tracking software</a>. Are they the best bug tracking application available? I don&#8217;t really know. But it isn&#8217;t about being the best, it&#8217;s about marketing. And Joel knows a lot about marketing (he doesn&#8217;t admit this, instead saying he stumbled into the popularity of his blog).</p>
<p>These days everyone has a blog to promote their software, but when he started Joel on Software back in <a href="http://www.joelonsoftware.com/oldnews/pages/fog0000000269.html" target="_blank">March of 2000</a>, Joel was inventing a new form of self-marketing. Intentional or not, writing his own rules has made Fog Creek an incredibly profitable company.</p>
<p><u><em>Self-Marketing </em></u><em><u>Rule #3:</u> If you have an exceptional talent, market yourself through exceptional means. Don&#8217;t play the game everyone else is playing.  </em></p>
<p>Last time I checked, Fog Creek Software didn&#8217;t have a Verisign seal on their website.</p>
<p><a href="http://digg.com/programming/Self_Marketing_for_Software_Developers">Digg This!</a></p>
<p>[tags]marketing, self-promotion, programming, consulting[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2007/10/19/marketing-yourself-how-to-re-write-the-rules/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
		<item>
		<title>The Two Fundamental, No Frills, Square One Rules of Exception Handling</title>
		<link>http://www.softwarebyrob.com/2007/08/27/two-fundamental-no-frills-square-one-rules-exception-handling/</link>
		<comments>http://www.softwarebyrob.com/2007/08/27/two-fundamental-no-frills-square-one-rules-exception-handling/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 11:14:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2007/08/27/two-fundamental-no-frills-square-one-rules-exception-handling/</guid>
		<description><![CDATA[When I was a coding newbie I thought applications should never crash. I wrote code that caught and ignored errors because I didn&#8217;t know how else to handle them. I didn&#8217;t want the user to see an error page, and figured a running application was always better than an error page. Oh, how wrong I [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F08%2F27%2Ftwo-fundamental-no-frills-square-one-rules-exception-handling%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F08%2F27%2Ftwo-fundamental-no-frills-square-one-rules-exception-handling%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>When I was a coding newbie I thought applications should never crash. I wrote code that caught and ignored errors because I didn&#8217;t know how else to handle them. I didn&#8217;t want the user to see an error page, and figured a running application was always better than an error page. Oh, how wrong I was. On one application alone (not written by me) I wasted 50+ hours over the course of a few months because of exceptions that were caught and not properly handled. Don&#8217;t let this happen to you.</p>
<p>I&#8217;ve found this mindset to be so common among new developers that I&#8217;ve   distilled the basics down to two fundamental rules a new developer should   follow to the letter. I&#8217;m exhausted with cracking open code and seeing a Try/Catch   block with no action after the catch. Whether you&#8217;re using a language   with actual exceptions is beside the point &#8211; what matters is that you read   through these few simple paragraphs and never, ever obfuscate your application   errors.</p>
<p>Picture this (in C#):</p>
<p>Try<br />
{</p>
<p>&#8216; Application code here<br />
}<br />
Catch<br />
{</p>
<p>&#8216; Do nothing<br />
}</p>
<p>What happens when an exception is thrown from the application code?   Nothing&#8230;and that&#8217;s a problem.</p>
<p><span id="more-220"></span>Let&#8217;s say the application is attempting to insert a value into the database.   Instead of a crash and some type of error message (even the default message   would be helpful), the program continues to execute. At some point in the   future, perhaps seconds, minutes, or weeks, another piece of code comes along   looking for that database value and doesn&#8217;t find it. The result is a crash.   Well, hopefully a crash. An even more likely case is that it will continue to   execute and write 1s and 0s over the only remaining copy of your grandmother&#8217;s   priceless rhubarb pie recipe. Or worse, the only remaining copy of the   financial statements for your grandmother&#8217;s rhubarb pie factory. Yes sir,   dirty data is eeee-vil.</p>
<p>With that in mind, let&#8217;s take a look at these two simple rules:</p>
<p><strong style="font-weight: bold">Rule #1:</strong><span style="font-weight: bold"> If you can&#8217;t add helpful information to an error   message, don&#8217;t catch the exception.</span></p>
<p>If you are simply going to catch and re-throw an exception, you are better off   removing your Try/Catch block and letting the runtime throw the exception for   you. In other words, if you don&#8217;t know <span style="font-style: italic">why   </span>you&#8217;re adding a try/catch block, don&#8217;t add it.</p>
<p><strong style="font-weight: bold">Rule #2:</strong><span style="font-weight: bold"> If you catch an exception, log it.</span></p>
<p>I&#8217;ve seen this rule broken in at least 10 applications in the past 6   months. Use log4j, log4net, Microsoft&#8217;s Logging Application Block, a text   file, morse code, or carrier pigeon&#8230;just log the damn thing. Never catch an   exception and do nothing unless you are writing a tool used to log exceptions.</p>
<p>Logging exceptions is not just a good idea, it allows you to know about errors   before your customer does and is an invaluable tool for   maintaining a healthy application.</p>
<p>If you have other exception management suggestions feel free to post them to the comments.</p>
<p>[tags]asp.net, .net, exceptions, error handling[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2007/08/27/two-fundamental-no-frills-square-one-rules-exception-handling/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Becoming a Better Developer Part 11: Get a Massage (and Get Your Boss to Pay For it)</title>
		<link>http://www.softwarebyrob.com/2007/06/22/better-developer-11-massage-boss-pay-for-it/</link>
		<comments>http://www.softwarebyrob.com/2007/06/22/better-developer-11-massage-boss-pay-for-it/#comments</comments>
		<pubDate>Fri, 22 Jun 2007 10:57:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2007/06/22/better-developer-11-massage-boss-pay-for-it/</guid>
		<description><![CDATA[This is part of an ongoing series centered on becoming a better software developer. For other posts in the series, see the Becoming a Better Developer heading in the right navigation. &#8211; Last Valentine&#8217;s Day my wife gave me a gift certificate for a massage. Nearly a year later (obviously a busy one) I finally [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F06%2F22%2Fbetter-developer-11-massage-boss-pay-for-it%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F06%2F22%2Fbetter-developer-11-massage-boss-pay-for-it%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is part of an ongoing series centered on becoming a better software developer. For other posts in the series, see the <span style="font-weight: bold;">Becoming a Better Developer</span> heading in the right navigation.<br />
&#8211;</p>
<p>Last Valentine&#8217;s Day my wife gave me a gift certificate for a massage. Nearly   a year later (obviously a busy one) I finally redeemed it, and had the   most productive day I&#8217;ve had in a while.</p>
<p>I&#8217;m a pretty healthy guy with no medical conditions or injuries, and I only occasionally eat my weight in carne asada. But I have aches and pains just     like anyone else who sites in front of a computer all day.</p>
<p><a title="My massage therapist" href="http://www.relaxhealgrow.com/" target="_blank">My massage therapist</a> (whom I mistakenly called a masseuse&#8230;oops!) gave me quite an education while I was there. She began by asking about my breathing; most people with desk jobs tend to have very shallow breathing while seated. She drew my attention to my breathing as she worked on my neck, chest, rib cage and, oh yes, the back! Anyone out there with neck aches? Rounded shoulders? Pain in wrists &amp; forearms? Yeah, I thought so. You can have the best ergonomic workstation in the world, but our bodies need care to     compensate for endless hours in a chair. Massage with an eye towards specific work in these problems areas can go a long way towards longevity in this field.</p>
<p><span id="more-213"></span>She also told me that massage lowers blood pressure, enhances alertness,     increases speed and accuracy on math computations, and lowers anxiety     (<a href="http://www6.miami.edu/touch-research/research.htm#e" target="_blank">source</a>). I guess they teach this stuff in <a href="http://www.massagetherapyschools.net">massage therapy schools</a>.</p>
<p>So not only are you improving your work output, you&#8217;re also improving your     health and, in the long run, working towards longevity in your career. Given this information how hard would it be to convince your boss     that getting a massage is a fabulous way to celebrate a project     milestone?</p>
<p>If you&#8217;re interested, the best places to find a massage therapist in your     area are     <a href="http://www.amtamassage.org/" target="_blank">www.amtamassage.org</a> and <a href="http://www.ncbtmb.com/" target="_blank">www.ncbtmb.com</a>.     A therapist trained in deep tissue or even sports massage might provide you     with valuable expertise since we use a lot of repetitive motions. There are     also therapists trained in Structural Integration who have     an eye towards improving optimal structure and alignment.</p>
<p>One other thing she added is that massage alone won&#8217;t keep you in this     business for the long haul. Other related lifesytle choices that contribute     to longevity, physically speaking, include:            balancing sedentary work with active exercise, eating healthy foods,           taking breaks during work to look up and give your eyes a rest, and honoring your body when it complains about being in the chair too               long. But you probably already knew that.</p>
<p>Bottom line: the massage was amazing and I highly recommend it.     If you take the plunge, post a comment and let me know how it goes.</p>
<p>[tags]programming, massage[/tags]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2007/06/22/better-developer-11-massage-boss-pay-for-it/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Deadlines: On Being a Professional Software Developer</title>
		<link>http://www.softwarebyrob.com/2007/04/04/deadlines-on-being-a-professional-software-developer/</link>
		<comments>http://www.softwarebyrob.com/2007/04/04/deadlines-on-being-a-professional-software-developer/#comments</comments>
		<pubDate>Wed, 04 Apr 2007 11:02:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2007/04/04/deadlines-on-being-a-professional-software-developer/</guid>
		<description><![CDATA[When I was in college I was a professional comic book writer. After numerous submissions I had several stories accepted by three independent comic book companies, all slated for publication. I even received a $100 advance for one of the stories, with all of them paying royalties on the &#8220;back end,&#8221; meaning I&#8217;d probably wind [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F04%2F04%2Fdeadlines-on-being-a-professional-software-developer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F04%2F04%2Fdeadlines-on-being-a-professional-software-developer%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>When I was in college I was a professional comic book writer. After numerous submissions I had several stories accepted by three independent comic book companies, all slated for publication.</p>
<p>I even received a $100 advance for one of the stories, with all of them paying royalties on the &#8220;back end,&#8221; meaning I&#8217;d probably wind up making $100 per story if I was lucky. And back then $100 was a lot of&#8230;no, let&#8217;s face it, even back then $100 was nothing. But I could call myself a professional comic book writer. <br /><br style="font-weight: bold;"><span style="font-weight: bold;"> On Being a Professional</span><br />Which is a joke, of course, because I wasn&#8217;t a professional. I was writing in a tiny bedroom, typically from 10 at night until 2 in the morning, cranking out a short script every week or two. Sure, I had honed my skills as a writer enough to match the myriad of others trying to make it, but I was not a professional writer. And I&#8217;ve had a hard time puting my finger on what it was that distinguished me from those whom I considered &#8220;legitimate&#8221; comic book writers. It wasn&#8217;t the fact that I worked out of a small apartment. Or that I wrote at night. </p>
<p><span style="font-style: italic;"> It was the fact that I didn&#8217;t consistently deliver under the pressure of deadlines. </span></p>
<p>I&#8217;m sure I&#8217;ll receive a few comments saying that a professional is someone who gets paid for what they do, or someone who does something as their main source of income, or someone who&#8217;s easy to work with, or someone who comments their code. Those <span style="font-style: italic;">are </span>some of the components of being a professional, but one of the most important and often overlooked pieces of being a professional is <span style="font-style: italic;">consistently delivering a usable product in the face of deadlines.</p>
<p></span><span style="font-weight: bold;">How Many Deadlines Must a Man Walk Down…</span><br />I knew at least two guys who were amazing comic book artists. Both drew as well as the books on the shelves, but neither could draw an entire 22-page comic in a month&#8230;and that&#8217;s what it takes to be a professional in that game. </p>
<p> I&#8217;m not saying if you miss a deadline you&#8217;re suddenly an amateur &#8211; the continuum is much less binary than it is <a href="http://en.wikipedia.org/wiki/Fuzzy_logic" target="_blank">fuzzy</a>. But during your career, your present job, or the past 6 months, how many deadlines have you hit? How many have you missed? </p>
<p> There are going to be extenuating circumstances. There are going to be times when a third party vendor flops and the project falls apart at the last minute. And there are going to be times when the deadline is set externally and you know from the outset you&#8217;ll never hit it. But if you find that there&#8217;s always a reason you aren&#8217;t hitting deadlines you have to start asking yourself: <span style="font-style: italic;">Is it you?</span> </p>
<p> I know that somewhere between <a href="http://www.amdsolutions.ziffdavis.com/article/The+Sad+Truth/185306_1.aspx" target="_blank">55</a> and <a href="http://www.itweek.co.uk/itweek/analysis/2171281/why-projects-fail" target="_blank">90</a> percent of software projects fail. Missing deadlines is easy; I could get my mom, who knows nothing about software development, to come in and miss project deadlines. Does the fact that she showed up and collected a check make her a professional developer? She&#8217;s easy to work with and comments her code.</p>
<p> So here is my question: during your career, your present job, or the past 6 months, how many deadlines have you hit and how many have you missed? </p>
<p> This isn&#8217;t a show of hands, just a gut check.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2007/04/04/deadlines-on-being-a-professional-software-developer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Advice on How to Become a Programmer</title>
		<link>http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/</link>
		<comments>http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 06:30:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/</guid>
		<description><![CDATA[A Software by Rob reader writes: I want to learn to program computers: What is your advice on becoming a good programmer? How do you acquire the knowledge? Is it necessary to know mathematics, specifically algebra, to be a good programmer? I receive several emails per month along these lines, so I&#8217;ve decided to share [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F03%2F20%2Fadvice-on-how-to-become-a-programmer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2007%2F03%2F20%2Fadvice-on-how-to-become-a-programmer%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>A Software by Rob reader writes:</p>
<blockquote><p>I want to learn to program computers:</p>
<ul>
<li>What is your advice on becoming a good programmer?</li>
<li>How do you acquire the knowledge?</li>
<li>Is it necessary to know mathematics, specifically algebra, to be a good programmer?</li>
</ul>
</blockquote>
<p>I receive several emails per month along these lines, so I&#8217;ve decided to share my advice on the subject. Note that I said &#8220;my advice&#8221; and not &#8220;the one and only way&#8221;; there are too many paths for one person to know them all. Here are some thoughts based on my experience:</p>
<p><strong>Q: What is your advice on becoming a good programmer?</strong></p>
<p>Everyone I&#8217;ve talked to has taken a different path. Programming is different from other engineering disciplines; if you want to become an electrical engineer you go to school, graduate, work for an engineering firm, and one day take a test and get licensed. Programming is different because people do it as a hobby; no one designs electrical subsystems for fun. This creates more possibilities for learning how to code.</p>
<p>Here are the elements I think are key:</p>
<ul>
<li><strong>Learn, learn, learn.</strong> You must have an insatiable appetite for knowledge. This usually means reading a programming book every few weeks in the early days, and moving on to more conceptual books like The <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FPragmatic-Programmer-Journeyman-Master%2Fdp%2F020161622X%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1174412806%26sr%3D1-2&amp;tag=softwarbyrob-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Pragmatic Programmer</a>, <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FCode-Complete-Second-Steve-McConnell%2Fdp%2F0735619670%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1174412704%26sr%3D8-1&amp;tag=softwarbyrob-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Code Complete</a>, and <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FFacts-Fallacies-Software-Engineering-Robert%2Fdp%2F0321117425%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1174412762%26sr%3D1-1&amp;tag=softwarbyrob-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">Facts and Fallacies</a> after 6-12 months of full-time coding. I can&#8217;t stress enough the value of reading, nor the value of immersing yourself in code early in the process.</li>
<li><strong>Transition into Concepts. </strong>Learning how to be a good programmer begins with learning logic concepts and language syntax; they are much easier to understand when taken together. But good developers quickly desire knowledge that transcends language syntax. Perl, PHP, Java, ColdFusion, ASP&#8230;all languages I used in my first 18 months as a professional programmer. What made me a good programmer was not my knowledge of each language, but my desire to understand and refine concepts like D.R.Y., the broken window theory, and code re-use.</li>
<li><strong>Hang Out With Programmers Who Are Better Than You</strong>. As a guitar player, the most I ever learned about the craft of songwriting was when I was hanging out with people who were much better than I. The same goes for writing software. And due to this new-fangled internet thingy you don&#8217;t even have to be physically present to be a part of the community: read programming blogs from the heavy hitters (<a href="http://weblogs.asp.net/scottgu/" target="_blank">Scott Guthrie</a>, <a href="http://www.lhotka.net/weblog/" target="_blank">Rocky Lhotka</a>, <a href="http://weblogs.asp.net/despos/" target="_blank">Dino Esposito</a>, <a href="http://www.scottonwriting.net/sowBlog/" target="_blank">Scott Mitchell</a>, etc&#8230;), check out programming forums, and look at other peoples&#8217; code. Reading source code can be a pain, but the more you see the more you will be able to identity code that&#8217;s easy to understand, and code that takes a PhD to figure out how they output &#8220;Hello World&#8221; to the screen.</li>
</ul>
<p><strong>Q: How do you acquire the necessary knowledge?</strong></p>
<p>There are a number of possibilities: <strong><br />
</strong></p>
<ul>
<li><strong>A Software Apprenticeship</strong><span style="font-weight: bold;">.</span> If you haven&#8217;t ready my article on <a href="/articles/Software_Training_Sucks_Roll_it_Back.aspx" target="_blank">Software Apprenticeships</a>, I recommend you do. The best (and I would argue the quickest) way to become a good programmer is to write code under the wing of an experienced developer who will teach you not only the basics, but the in-depth knowledge that takes years of experience to learn. I consider this option leaps and bounds above all others.</li>
<li><strong>Learning while Doing.</strong> Want to learn to code? Get a job writing code. I don&#8217;t care if you make $5 an hour; you will progress more in 1 month as a full-time developer than you will in a year of hobby programming. There&#8217;s no better way to learn to program than to write code.</li>
<li><strong>Books &amp; Mags.</strong> Books and magazines have been key in my quest for programming knowledge. When I&#8217;ve apprenticed developers in the past, I use books as their primary source of basic knowledge, having them read 1-2 programming books per month, while teaching them more advanced techniques in person.</li>
<li><strong>College.</strong> Having gone this route myself I am well aware of the limitations of the U.S. College system in preparing students for a career in computer programming. Preparing them for a career in determining little-o and big-O notation, sure, but actually writing code from the get go? Nope. College is great for high-level theory, but work experience trounces it when it comes to learning software development. Programming degrees from <a href="http://www.onlineschools.org">online schools</a> are affordable, but nothing beats real-world experience.</li>
<li><strong>Tech school.</strong> I&#8217;ve only worked with one programmer who went to a technical school and she had good knowledge of language and coding concepts, but not a ton of theory or design knowledge. As a result, her code was utilitarian and used a lot of brute-force, but was often not well-designed or easily maintainable. There&#8217;s obviously a balance between not enough practical knowledge (college) and not enough theoretical knowledge (tech school). I am using a very narrow sample, so don&#8217;t take this as a blanket judgment of tech schools. Perhaps an SbR reader with more experience in this area can enlighten us. As an aside, the network administrators I&#8217;ve worked with from tech school have been well-trained and great to work with. Perhaps the nuts and bolts of networking are better suited for such a practical teaching approach.</li>
</ul>
<p><strong>Q: Is it necessary to know mathematics, specifically algebra, to be a good programmer?</strong></p>
<p>Quite simply, no; it&#8217;s not necessary to know math in order to be a programmer.</p>
<p>If you&#8217;re developing games, then mathematics and physics play a large part, but building an invoicing application does not require much beyond basic addition and subtraction.</p>
<p>However, from personal experience, people who have an easy time learning mathematics and enjoy solving logic problems (be they algebra or <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FHow-Would-Move-Mount-Fuji%2Fdp%2F0316778494%3Fie%3DUTF8%26s%3Dbooks%26qid%3D1174413411%26sr%3D8-1&amp;tag=softwarbyrob-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" target="_blank">how to move Mount Fuji</a>), tend to learn code quicker and enjoy it more in the long run. It takes a twisted mind, my friends.</p>
<p>==</p>
<p>If you are interested in reading more on the subject of becoming a programmer, I&#8217;ve written a totally free 33-page ebook titled <em>How to Become a Programmer: Everything (Non-technical) You Need to Know</em>. You can download it <a href="http://www.softwarebyrob.com/assets/Software_by_Rob%20_How_to_Become_a%20_Programmer_1.0.pdf">here</a>.<em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2007/03/20/advice-on-how-to-become-a-programmer/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Top 20 Programming Lessons I&#8217;ve Learned in 20 Years</title>
		<link>http://www.softwarebyrob.com/2006/11/30/top-20-programming-lessons-learned-in-20-years/</link>
		<comments>http://www.softwarebyrob.com/2006/11/30/top-20-programming-lessons-learned-in-20-years/#comments</comments>
		<pubDate>Thu, 30 Nov 2006 10:39:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Cool News, Links & Reviews]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/11/30/top-20-programming-lessons-learned-in-20-years/</guid>
		<description><![CDATA[JD over at DCS Media published an insightful post titled Top 20 Programming Lessons I&#8217;ve Learned in 20 Years. A few highlights: Always backup your code You are not the best at programming. Live with it. Simplify the algorithm Reminisce about your code No project is ever simple Software is never finished]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F11%2F30%2Ftop-20-programming-lessons-learned-in-20-years%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F11%2F30%2Ftop-20-programming-lessons-learned-in-20-years%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>JD over at DCS Media published an insightful post titled <span style="font-style: italic;"><a href="http://www.dcs-media.com/desdev/Detail.aspx?ArticleId=578" target="_blank">Top 20 Programming Lessons I&#8217;ve Learned in 20 Years</a></span>. A few highlights:
<ul>
<li>Always backup your code</li>
<li>You are not the best at programming. Live with it.</li>
<li>Simplify the algorithm</li>
<li>Reminisce about your code</li>
<li>No project is ever simple</li>
<li>Software is never finished</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/11/30/top-20-programming-lessons-learned-in-20-years/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Article: Nine Things Developers Want More Than Money</title>
		<link>http://www.softwarebyrob.com/2006/11/01/new-article-nine-things-developers-want-more-than-money/</link>
		<comments>http://www.softwarebyrob.com/2006/11/01/new-article-nine-things-developers-want-more-than-money/#comments</comments>
		<pubDate>Wed, 01 Nov 2006 08:56:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/11/01/new-article-nine-things-developers-want-more-than-money/</guid>
		<description><![CDATA[From my new article Nine Things Developers Want More Than Money: &#8220;If you want to collect a paycheck for 25 years and retire with a gold watch and a pension then go for companies that have the hygiene factors nailed. Stroll in at 8, head for the door at 4:59, and count the years until [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F11%2F01%2Fnew-article-nine-things-developers-want-more-than-money%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F11%2F01%2Fnew-article-nine-things-developers-want-more-than-money%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>From my new article <span style="font-style: italic;"><a href="/articles/Nine_Things_Developers_Want_More_Than_Money.aspx">Nine Things Developers Want More Than Money</a></span>:</p>
<p>&#8220;If you want to collect a paycheck for 25 years and retire with a gold watch and a pension then go for companies that have the hygiene factors nailed. Stroll in at 8, head for the door at 4:59, and count the years until you&#8217;re kicking up your feet on a beach bar in Costa Rica.</p>
<p>But if you&#8217;re reading this, odds are that you aren&#8217;t the kind of person who never thinks about code after 5:01; you&#8217;re more likely to have a collection of DVDs that come up in an Amazon search for &#8220;Silicon Valley.&#8221; You&#8217;re probably one of those people who <span style="font-style: italic;">needs </span>motivation factors or you go crazy with restlessness, and when the motivation factors are in place you&#8217;ll work ridiculous hours for low pay just because it&#8217;s so damn fun.</p>
<p>I talked to a dozen colleagues and pored over my own experiences to arrive at this list of nine software development motivation factors &#8211; Rob&#8217;s Criteria for Keeping Your Developers Happy.&#8221;</p>
<p>Read the complete article <a href="/articles/Nine_Things_Developers_Want_More_Than_Money.aspx">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/11/01/new-article-nine-things-developers-want-more-than-money/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Becoming a Better Developer Part 10: What Do Your Colleagues Think of You?</title>
		<link>http://www.softwarebyrob.com/2006/10/19/becoming-better-developer-what-your-colleages-think-you/</link>
		<comments>http://www.softwarebyrob.com/2006/10/19/becoming-better-developer-what-your-colleages-think-you/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 17:54:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/10/19/becoming-better-developer-what-your-colleages-think-you/</guid>
		<description><![CDATA[This is part of an ongoing series centered on becoming a better software developer. For other posts in the series, see the Becoming a Better Developer heading in the right navigation.&#8211; In the book Joy at Work, the former CEO of an $8 billion energy company describes an experiment where he allowed a business development [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F10%2F19%2Fbecoming-better-developer-what-your-colleages-think-you%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F10%2F19%2Fbecoming-better-developer-what-your-colleages-think-you%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>This is part of an ongoing series centered on becoming a better software developer. For other posts in the series, see the <span style="font-weight: bold;">Becoming a Better Developer</span> heading in the right navigation.<br />&#8211;<br /> In the book <a title="Joy at Work" target="blank_" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FJoy-Work-Revolutionary-Approach-Job%2Fdp%2F0976268647%2Fsr%3D8-2%2Fqid%3D1161307326%3Fie%3DUTF8&#038;tag=softwarbyrob-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325">Joy at Work,</a> the former CEO of an $8 billion energy company describes an experiment where he allowed a business development group to determine their own salaries over the course of two years.</p>
<p>The first year everyone chose their own salary but the numbers were kept private. The result was that the best people paid themselves too little, and the average and under-performing people paid themselves too much. This is in line with Paul Graham&#8217;s quote: &#8220;&#8230;people who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent.&#8221;
<p>The next year the company set a total budget for the department&#8217;s salaries and   repeated the exercise, except this time all of the employees had to submit their   proposed pay to their colleagues for comment &#8211; not to be approved or rejected,   simply for comment. When everything was said and done the department was   only slightly over budget, and upon closer inspection the company determined one   person was highly overpaid based on the salaries of his colleagues with similar   abilities. This person had not listened to the feedback of his co-workers   who had told him he was overpaying himself. After being informed of this, he   reduced his salary and they met their budget. </p>
<p>   What does this tell us?</p>
<p>First, <span style="font-style: italic;">people who think   they are underpaid are probably not very good at what they do.</span></p>
<p>Second, <span style="font-style: italic;">people who think they are overpaid are probably pretty good.</span></p>
<p>Finally, <span style="font-style: italic;">the people you work with are the best judge of your   abilities. Yes, even better than you.</span></p>
<p><span style="font-style: italic;"></span>If everyone at work thinks you&#8217;re abrasive, it&#8217;s time to take a serious look   at your interpersonal style. </p>
<p>Have you ever seen yourself give a speech or teach a class? Every time I see footage of myself I&#8217;m shocked at how I look when I&#8217;m in front of a group. I&#8217;m appalled at my posture and nervous ticks I didn&#8217;t know I had.  </p>
<p>Your colleagues are the video camera that can see your ability to write code, deal with stress, communicate your ideas, write clearly, and a whole slew of other things that are critical to our jobs as software developers. If you&#8217;re not using them as a resource you are overlooking a powerful tool that can help improve both your technical and non-technical abilities. </p>
<p>The moral: If you are genuinely interested in improving as a developer, ask your colleagues what they think of your abilities. Not just your development skills, but your writing skills, interpersonal style, ability to deal with stress, etc&#8230;</p>
<p>Then ask them again and tell them to be honest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/10/19/becoming-better-developer-what-your-colleages-think-you/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Becoming a Better Developer Part 9: How to Criticize a Software Developer Without Getting Punched</title>
		<link>http://www.softwarebyrob.com/2006/09/27/how-to-criticize-a-software-developer-punched/</link>
		<comments>http://www.softwarebyrob.com/2006/09/27/how-to-criticize-a-software-developer-punched/#comments</comments>
		<pubDate>Wed, 27 Sep 2006 17:28:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/09/27/how-to-criticize-a-software-developer-punched/</guid>
		<description><![CDATA[There comes a point in every person&#8217;s career when we have to offer criticism of someone else&#8217;s work. For software developers and managers this can be especially difficult since most programmers view the software they write as an extension of themselves, and take criticism of that software very personally. We all know how to criticize, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F09%2F27%2Fhow-to-criticize-a-software-developer-punched%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F09%2F27%2Fhow-to-criticize-a-software-developer-punched%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>There comes a point in every person&#8217;s career when we have to offer criticism of someone else&#8217;s work.  For software developers and managers this can be especially difficult since most  programmers view the software they write as an extension of themselves, and take criticism of that software very personally.</p>
<p>We all know how to criticize, but the question is how to criticize <em>well</em>.</p>
<p><strong>Be Specific</strong><br />The #1 rule of good criticism is <em>be specific.</em></p>
<p>In <a title="Freaknomics" href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2FFreakonomics-Economist-Explores-Hidden-Everything%2Fdp%2F006073132X%2Fsr%3D8-1%2Fqid%3D1159406044%2Fref%3Dpd%5Fbbs%5F1%3Fie%3DUTF8%26s%3Dbooks&#038;tag=softwarbyrob-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=9325" target="blank_">Freaknomics</a>, Steven D. Levitt examined phrases in real estate  listings that had a positive correlation on sale price (meaning a higher sale  price), and ones that had a negative correlation (lower sale price). The results  were as follows:</p>
<p><u>Higher Sale Price</u><br />granite<br />state of the art<br />corian<br />maple<br />gourmet<br />new<br />move in condition</p>
<p><u>Lower Sale Price</u><br />well maintained<br />fantastic<br />spacious<br />charming<br />!<br />great neighborhood<br />wonderful<br />immaculate</p>
<p>What you&#8217;ll notice is that higher sale prices resulted from being more  specific. Tangible, real things like granite, corian, maple, new, outweigh  ambiguous, possibly made-up things like fantastic, charming and wonderful.</p>
<p>And so it is with criticism. Telling someone their code is &#8220;total crap&#8221; is  not helpful. Telling them they misspelled two variable names, have several place  where they&#8217;ve repeated code, and they need error handling in all of their  methods is much more helpful. It not only allows them to improve their current  code, but perhaps it will help them out in the future, as well. They still may  get mad, but that&#8217;s up to them.</p>
<p>It certainly takes more time to itemize mistakes, but it&#8217;s worth it.</p>
<p><strong>Criticize the Code, Not the Person</strong><br />If someone writes crappy code, talk about the code, not about the person&#8217;s  <em>ability</em> to code. If someone doesn&#8217;t meet a deadline, talk about how  that affected you and what needs to happen in the future, don&#8217;t talk about how  the person is a complete slacker (at least not the first time you discuss it).  Doing so will help keep the conversation less personal.</p>
<p><strong>Be Constructive</strong><br />Without much effort at all I can give you a list of negative things about Los  Angeles: traffic, smog, too many people, and a distinct lack of trees.</p>
<p>I could also give you a list of bad things about the internet: spam, viruses,  poorly-designed websites, and pornography. Just because I can point out a ton of  negative things doesn&#8217;t mean that the internet is not worth your time, and  doesn&#8217;t mean you shouldn&#8217;t live in L.A. For all the negatives there are  <em>tons</em> of positives to outweigh them, at least for the 10 million people  who live in L.A. County, or the 1 billion people on the internet.</p>
<p>It&#8217;s easy to be negative. It&#8217;s easy to come into a situation and complain.  It&#8217;s easy to point out the flaws in everything (have you ever read the comments  on Digg or Slashdot?). If you don&#8217;t have a suggested solution in mind it&#8217;s going  to be difficult for people to respect your opinion. Someone who complains often  will be ignored rather quickly.</p>
<p>Constructive critisism is helpful; venting just pisses people off. Before you  criticize something stop to think if it really matters to you and needs to be  improved, and make sure you&#8217;re talking to the person who can do something about  it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/09/27/how-to-criticize-a-software-developer-punched/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>New Article: How To Burn $6,540 a Week: Indecision and Software Development</title>
		<link>http://www.softwarebyrob.com/2006/09/04/new-article-how-to-burn-6540-a-week-indecision-and-software-development/</link>
		<comments>http://www.softwarebyrob.com/2006/09/04/new-article-how-to-burn-6540-a-week-indecision-and-software-development/#comments</comments>
		<pubDate>Mon, 04 Sep 2006 17:39:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Managing Software Developers]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/09/04/new-article-how-to-burn-6540-a-week-indecision-and-software-development/</guid>
		<description><![CDATA[From my new article How To Burn $6,540 a Week: Indecision and Software Development: &#8220;These kinds of decisions come up constantly during development. Let&#8217;s say we have five developers working on a project and between them we encounter 10 in a week . If a monkey flipped a coin he&#8217;d choose the right answer half [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F09%2F04%2Fnew-article-how-to-burn-6540-a-week-indecision-and-software-development%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F09%2F04%2Fnew-article-how-to-burn-6540-a-week-indecision-and-software-development%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>From my new article <span style="font-style: italic;">How To Burn $6,540 a Week: Indecision and Software Development:</span><br /> 
<p>&#8220;These kinds of decisions come up constantly during development. Let&#8217;s say we  have five developers working on a project and between them we encounter 10 in a  week . If a monkey flipped a coin he&#8217;d choose the right answer half the time.  Giving the manager the benefit of the doubt, let&#8217;s say he chooses correctly 60%  of the time. 6 out of 10 times we break even, the other 4 we lose $420, for a  total cost of $1,680 per week. </p>
<p>If we decide not to make any decisions we lose 10 times $822, for a total of  $8,220 per week. </p>
<p>Let me say that again: <em>blanket indecision loses $8,220 per week; making  decisions (including bad ones) loses $1,680 per week. That&#8217;s a difference of $6,540 per week.</em></p>
<p>Give that a few  minutes to sink in.&#8221;</p>
<p>You can read the full article <a href="/articles/How_to_Burn_6540_Week_Indecision_Software_Development.aspx" targe="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/09/04/new-article-how-to-burn-6540-a-week-indecision-and-software-development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Article: Nailing Your Technical Interview</title>
		<link>http://www.softwarebyrob.com/2006/07/06/new-article-nailing-your-technical-interview/</link>
		<comments>http://www.softwarebyrob.com/2006/07/06/new-article-nailing-your-technical-interview/#comments</comments>
		<pubDate>Thu, 06 Jul 2006 13:58:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Startups]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/07/06/new-article-nailing-your-technical-interview/</guid>
		<description><![CDATA[From my new article Nailing Your Technical Interview: &#8220;People are strange. I&#8217;m not just talking about your Uncle Cedric with the hairy feet and stale piece of toast with the image of Tina Turner that he swears will grab six-figures on eBay, I mean it more in terms of our mental capabilities. Think about how [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F07%2F06%2Fnew-article-nailing-your-technical-interview%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F07%2F06%2Fnew-article-nailing-your-technical-interview%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>From my new article <span style="font-style: italic;">Nailing Your Technical Interview:</span>
<p>&#8220;People are strange. I&#8217;m not just talking about your Uncle Cedric with the  hairy feet and stale piece of toast with the image of Tina Turner that he swears  will grab six-figures on eBay, I mean it more in terms of our mental  capabilities. Think about how brilliant we are compared to a tape recorder, but  how hopelessly inaccurate our ability is to remember a conversation.</p>
<p>Ask any police officer who&#8217;s interviewed six eyewitnesses and he&#8217;ll give you  six different accounts of the same event.&#8221;</p>
<p>Read the complete article <a href="/articles/Nailing_Your_Technical_Interview.aspx">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/07/06/new-article-nailing-your-technical-interview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nailing Your Technical Interview</title>
		<link>http://www.softwarebyrob.com/2006/07/06/nailing-your-technical-interview/</link>
		<comments>http://www.softwarebyrob.com/2006/07/06/nailing-your-technical-interview/#comments</comments>
		<pubDate>Thu, 06 Jul 2006 13:24:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/07/06/nailing-your-technical-interview/</guid>
		<description><![CDATA[People are strange. I&#8217;m not just talking about your Uncle Cedric with the hairy feet and stale piece of toast with the image of Tina Turner that he swears will grab six-figures on eBay, I mean it more in terms of our mental capabilities. Think about how brilliant we are compared to a tape recorder, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F07%2F06%2Fnailing-your-technical-interview%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F07%2F06%2Fnailing-your-technical-interview%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>People are strange. I&#8217;m not just talking about your Uncle Cedric with the hairy feet and stale piece of toast with the image of Tina Turner that he swears will grab six-figures on eBay, I mean it more in terms of our mental capabilities. Think about how brilliant we are compared to a tape recorder, but how hopelessly inaccurate our ability is to remember a conversation.</p>
<p>Ask any police officer who&#8217;s interviewed six eyewitnesses and he&#8217;ll give you six different accounts of the same event.</p>
<p><strong>$200 Dinners</strong><br />
It&#8217;s widely accepted in the world of research that humans remember meaning rather than fact. As an example, if I told you &#8220;I went to the mall the other day,&#8221; it&#8217;s likely that in 10 minutes you would remember the sentence as &#8220;I <span style="font-style: italic">drove</span> to the mall the other day.&#8221; In other words, the <em>meaning</em> would stick rather than the details.</p>
<p>Let&#8217;s take Fred as an example. Fred is on his way to a job interview for a position as a software developer. His experience meets all the requirements, and based on his resume he&#8217;s the top candidate out of the 50 or so that applied.</p>
<p>Fred arrives, dress to impress in his $149 suit from TJ Maxx and $20 black leather shoes from Payless. The interview goes extremely well; he builds rapport with the interviewer, answers most of the technical questions correctly, and manages to craft an artful LEFT OUTER JOIN on the whiteboard.</p>
<p>Fred is on top of the world until, to his surprise, he notices a huge ink stain on his shirt. It turns out Fred likes to keep fountain pens in his shirt pocket (because the ladies dig it). On this fateful day, that pen decided to gush it&#8217;s payload all over Fred&#8217;s brand new cotton dress shirt. Fred&#8217;s embarrassment is palpable as the interview wraps up and although he makes it out of there alive, he doesn&#8217;t get the job. Why?</p>
<p>You could say it&#8217;s because I made this story up and can twist it any way I want to prove a point. That&#8217;s valid, but how about this: after interviewing four more candidates over the next two weeks the hiring manager doesn&#8217;t have point by point recall of every interview. In fact, although he made a few notes here and there, all he can do is go with his gut feeling about who would be the best fit for the position. And you know what? Even though Fred fit the position perfectly, there&#8217;s a voice in the back of the hiring manager&#8217;s mind that won&#8217;t let him hire Fred. He doesn&#8217;t know why, but he has an awkward feeling about the whole experience. All because of a lousy fountain pen.</p>
<p>The moral of the story is to buy high-quality fountain pens. *ahem* I mean, the moral of the story is that human beings remember <em>meaning</em> rather than <em>fact</em>. This means that the impression they take away from an experience is much more important than what actually happens.</p>
<p>This is why restaurants like The Melting Pot can charge 50 bucks a person for fondue when you can make it at home using the change in your sofa. It&#8217;s also why, two years after you see a crappy movie, you won&#8217;t be able to remember the character names, dialogue, scenes, or much of the plot, but you will remember that it was terrible. It&#8217;s all because the <em>experience</em> of these events is forever lodged in our brains, while the <em>fact</em> of a $200 dinner have long since departed.</p>
<p>This is easily translated into advice for interview day: do <em>everything within your power</em> to make sure you leave the interviewer feeling like she&#8217;s hugged a warm puppy. Be cordial, don&#8217;t show negative emotions, have excellent manners (the ones you never use around the house) and never, ever act indignant about answering technical questions.</p>
<p>Some people think it&#8217;s unfair to ask candidates to write code on the fly; you may be one of these people. The interview is not the place to voice that opinion, whether verbally or through your body language (like the &#8220;leaking tire&#8221; noise you make when asked &#8211; I actually had a candidate do this once).</p>
<p>I&#8217;ve also had candidates act bored or roll their eyes at basic programming questions. If explaining how GET is different than POST is beneath you, suck it up, answer the question, and hope the interviewer moves on to topics worthy of your genius soon. If not how will he ever discover how you built a Ruby on Rails compiler in assembler on your Commodore Pet?</p>
<p>Finally, it&#8217;s been shown over and over that attractive people fare better in job interviews, get more promotions, and earn more money. Unless you&#8217;re Brad Pitt you should show up showered, shaved, and wearing a suit. It doesn&#8217;t matter if you don&#8217;t believe in suits and don&#8217;t ever plan to wear one to work &#8211; everyone looks better in a suit (even Brad Pitt).</p>
<p><strong>Bring Something Real</strong><br />
People also remember things that are related to other memories; the more connections, the easier something is to remember.</p>
<p>This is why commercials contain catchy jingles that are really just remakes of pop songs with the words slightly modified. It&#8217;s because these songs touch on a piece of our brains that will somehow relate the &#8220;coolness&#8221; of the song to the product.</p>
<p>If the marketers did their jobs, the next time you hear the song you will likely have an urge to run out and buy yourself a new pair of insoles. These insoles may hurt your feet so bad you&#8217;ll feel like you&#8217;ve been dancing on broken glass, but somehow they&#8217;ll still seem cool because Britney Spears sang &#8220;Oops, I bought insoles again.&#8221;</p>
<p>This is also why every single memory improvement book revolves around relating things to common objects you encounter in everyday life. Be it a list of items or peoples&#8217; names, the more memories you have that link to an object, the stronger the memory of that object becomes.</p>
<p>To capitalize on this, <em>bring something memorable to the interview.</em> You want the interviewer to link you with as many &#8220;good feeling&#8221; thoughts as possible. Bring glossy, color print-outs of a UI you worked on or prettied-up copies of a data model you designed. You could even bring sample products from your current or former employer. Your company makes soft drinks? Bring a 6-pack of root beer. Your company prints newspapers? Bring a few copies of today&#8217;s edition. Bring something <em>real </em>that the interviewer can look at and touch once you&#8217;ve left.</p>
<p>This brings me to a concept I&#8217;ve been cooking up for quite a while: a HireMe<font size="1"><sup>TM</sup></font> book. With cheap, high quality, on-demand publishers like <a target="blank_" href="http://www.lulu.com/" title="Lulu">Lulu</a> and <a target="blank_" href="http://www.blurb.com/" title="Blurb">Blurb</a>, creating a few copies of a custom tome is economical and requires minimal time investment. For around $10 a pop you can print your own commercial-quality paperback containing your resume, samples of your work, and, if you&#8217;re the creative type, a section of &#8220;Reasons to Hire Me.&#8221; I plan to devote a future essay to the concept and design of a HireMe<font size="1"><sup>TM</sup></font> book.</p>
<p><strong>The Self-Reference Effect</strong><br />
Psychologists have discovered a phenomenon they call the <em>self-reference effect,</em> which boils down to the following: people tend to remember information that refers to themselves.</p>
<p>This is why you easily remember someone with the same name as your brother, while forgetting the other 19 people you meet in an evening. This is also why the Jack in the Box commercials during Soccer games have Jack racing after a soccer ball; the marketers are trying to relate to something that a large chunk of the audience will find as a self-reference.</p>
<p>In addition to remembering names and marketing quasi-food, the self-reference effect is amazingly effective at making interviewers relate to you, remember you, and maybe even like you.</p>
<p>Before your interview try to find out as much as possible about your interviewers. If necessary, politely request a list of names to help with your preparation, and head to Google. With common names, try to narrow your search by including terms like the name of the company, or the name of the city where the company is located, or even something as generic as &#8220;software developer.&#8221; If you find a personal homepage or can pull up a resume you&#8217;re golden. This type of information allows you to build a picture in your mind of who they are and what they&#8217;re about.</p>
<p>With this information in mind, try to honestly relate to them during the interview. If they publish a lot of articles, be sure to bring up recent articles you&#8217;ve written. If they like to water ski, bring up the fact that you go every summer. Do they play the guitar? Mention your Taylor that you play every chance you get. Obviously, this isn&#8217;t a license to lie about things you&#8217;ve never done to make yourself more familiar; trust me, you&#8217;ll get caught. But anything you can do to relate to this person is not only a step towards a connection, but it&#8217;s a step towards being burned into their mind forever&#8230;or at least until your start date.</p>
<p>The self-reference effect, when used appropriately, is extremely powerful.</p>
<p><strong>Finishing Touches</strong><br />
These techniques are like a coat of Carnuba wax on a Corvette; they add shine, but the underlying paint has to look nice, too. These techniques won&#8217;t salvage a lack of technical knowledge or a disregard for punctuality, but used in conjunction with basic interviewing skills they <em>will</em> improve your chances of landing a job.</p>
<p>Just be sure to leave the fountain pen at home.</p>
<p><font size="2">Special thanks to <a target="blank_" href="http://www.miketaber.net/" title="Mike Taber">Mike Taber</a> and Sherry W. for reading drafts of this article.</font></p>
<p>[ <a target="pop" href="http://del.icio.us/post?url=http://www.softwarebyrob.com/articles/Nailing_Your_Technical_Interview.aspx&amp;title=Nailing%20Your%20Technical%20Interview">Bookmark this post with del.icio.us</a> (<a target="pop" href="../../archive/2005/09/22/What_is_Delicious.aspx">What is del.icio.us?</a>) ]<br />
[ <a target="pop" href="http://digg.com/tech_news/How_to_Nail_Your_Technical_Interview">Digg this</a> ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/07/06/nailing-your-technical-interview/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The 3 Great Virtues of a Programmer</title>
		<link>http://www.softwarebyrob.com/2006/03/19/the-3-great-virtues-of-a-programmer/</link>
		<comments>http://www.softwarebyrob.com/2006/03/19/the-3-great-virtues-of-a-programmer/#comments</comments>
		<pubDate>Sun, 19 Mar 2006 16:08:00 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Becoming a Better Developer]]></category>
		<category><![CDATA[Cool News, Links & Reviews]]></category>

		<guid isPermaLink="false">http://www.softwarebyrob.com/2006/03/19/the-3-great-virtues-of-a-programmer/</guid>
		<description><![CDATA[&#8220;We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.&#8221; &#8212; Larry Wall, Programming Perl (1st edition) Read more]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F03%2F19%2Fthe-3-great-virtues-of-a-programmer%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.softwarebyrob.com%2F2006%2F03%2F19%2Fthe-3-great-virtues-of-a-programmer%2F&amp;source=robwalling&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>&#8220;We will encourage you to develop the three great virtues of a programmer:  <em>laziness, impatience, and hubris</em>.&#8221;</p>
<p> &#8212; Larry Wall, Programming Perl (1st edition)</p>
<p> <a href="http://c2.com/cgi/wiki?LazinessImpatienceHubris" target="pop">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarebyrob.com/2006/03/19/the-3-great-virtues-of-a-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

