<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Big Swinging Developer</title>
	
	<link>http://www.bigswingingdeveloper.com</link>
	<description>Go from a good developer to a highly paid one.</description>
	<lastBuildDate>Tue, 24 Apr 2012 02:36:50 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/typepad/big_swinging_developer" /><feedburner:info uri="typepad/big_swinging_developer" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>typepad/big_swinging_developer</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>A Practical Guide to Managing Bad Employees</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/tXEt8-CmbIs/a-practical-guide-to-managing-bad-employees.html</link>
		<comments>http://www.bigswingingdeveloper.com/2012/04/a-practical-guide-to-managing-bad-employees.html#comments</comments>
		<pubDate>Tue, 24 Apr 2012 02:32:59 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Managing Down]]></category>

		<guid isPermaLink="false">http://www.bigswingingdeveloper.com/?p=84</guid>
		<description><![CDATA[Hal commented on last year&#8217;s post The Dead Simple Guide To Being a Good Manager and asked for some solutions to Step 1: Make It Terrible to be Bad.  There is one simple and effective technique that I&#8217;ve used (and seen used) multiple times and I can sum it up in 4 words: Remove the [...]]]></description>
				<content:encoded><![CDATA[<p>Hal commented on last year&#8217;s post <a title="2 steps . . . it doesn't get much simpler" href="http://www.bigswingingdeveloper.com/2011/01/the-dead-simple-guide-to-being-a-good-manager.html" target="_blank">The Dead Simple Guide To Being a Good Manager</a> and asked for some solutions to Step 1: Make It Terrible to be Bad.  There is one simple and effective technique that I&#8217;ve used (and seen used) multiple times and I can sum it up in 4 words:</p>
<p style="padding-left: 30px;"><em><strong>Remove the hiding places</strong></em></p>
<p>Bad employees continue to be bad because they are, somehow, able to convince themselves and/or others that they aren&#8217;t bad.  They hide in all the little places that we create when we aren&#8217;t careful, scurrying to their favorite spots when things aren&#8217;t going their way.  The bad news is that we, as managers and peers, create these hideouts when we aren&#8217;t clear and when we accept anything less than clarity. The good news is that you can start fixing things immediately by being clear and demanding clarity.  Here&#8217;s what I mean:</p>
<ol>
<li>Define success in unambiguous terms.  It&#8217;s unfair to fault someone for not being good if it&#8217;s not clear what &#8220;being good&#8221; means.</li>
<li>Prefer to be clear over being right.  Ditch terms like &#8220;leverage&#8221;, &#8220;strategic&#8221;, &#8220;high-level&#8221; and other words that can be defined retroactively to support any outcome.  Instead, state things in terms that can be proven right or wrong, even if that means that you&#8217;ll be proven wrong sometimes.</li>
<li>Be objective.  Measure according to the standards you&#8217;ve laid out.</li>
</ol>
<h2>One Last Chance In Private</h2>
<p>Once you have clearly defined success and expectations, counsel your troubled employee in private.  This is a critical step, because this is where you can find out if the problem is actually yours and not theirs.  If you&#8217;ve done everything above then it should be obvious to <em>both</em> of you that your employee is falling short.  What you&#8217;re looking for is a sign that they understood what was expected and they simply didn&#8217;t deliver.  This private counsel is also where you can separate bad employees from immature ones.  The immature ones didn&#8217;t believe that it was important, the bad ones didn&#8217;t care that it was important.  If you find yourself counseling an immature employee, then you have a great opportunity to turn someone&#8217;s life around.  Spend a little extra time with them over the coming weeks and break things down to the smallest feasible chunks so you can provide plenty of feedback.  If they turnaround and become good then you&#8217;ve become not just a good manager, but a great one.  If they don&#8217;t turnaround, then chances are they acted immaturely when really they&#8217;re not going to get any better.</p>
<h2>One Last Chance In Public</h2>
<p>If private counsel didn&#8217;t work, then it&#8217;s time to go public.  Make it clear in a meeting, with other team members present, that the work (not the worker)  is unacceptable.  Once again, if you&#8217;ve defined things clearly then this should be obvious to everyone in the room.  It won&#8217;t be comfortable, but it&#8217;s important for a couple of reasons:</p>
<ol>
<li>It gives peer pressure/support a chance to work.  If the team rallies around the weakest link and helps him succeed, then you have another shot at turnaround.  If the team shuns him, then it&#8217;s not going to be a fun place for him to work.</li>
<li>It sends a message to the team that you mean what you say.</li>
<li>It can begin the self selection process where they figure out that they&#8217;re in the wrong place and relocate themselves elsewhere.  It is almost always easier to have someone voluntarily leave than to have to terminate them.</li>
</ol>
<h2>3 Strikes, You&#8217;re Out</h2>
<p>After the previous last chances, failure to improve should result in termination.  When you terminate someone, they should never be surprised.  They can be pissed, they can even be shocked because they never thought you&#8217;d actually do it, but they should have seen it coming.  Everyone should see it coming.  Most should be relieved or appreciative.</p>
<h2>To Be Clear</h2>
<p>After mentioning clarity so many times, it seems appropriate to make a few things explicit:</p>
<ul>
<li>Making things &#8220;terrible&#8221; is all about exposing bad work and making someone uncomfortable with their actions and choices.</li>
<li>This is not an excuse to be mean.</li>
<li>You need to be fair and objective.</li>
<li>There has to be an opportunity for turnaround.</li>
<li>There will be work and discomfort on your part.</li>
</ul>
<p>Stick to your guns and prune respectfully and you&#8217;re on your way to being a good manager.  Go the extra mile and actually turn someone around and you&#8217;ll be great.  Either way, you and your team will be better off for it.</p>
<p>&nbsp;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=tXEt8-CmbIs:ss35XoPsCj0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=tXEt8-CmbIs:ss35XoPsCj0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=tXEt8-CmbIs:ss35XoPsCj0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=tXEt8-CmbIs:ss35XoPsCj0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=tXEt8-CmbIs:ss35XoPsCj0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=tXEt8-CmbIs:ss35XoPsCj0:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/tXEt8-CmbIs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2012/04/a-practical-guide-to-managing-bad-employees.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2012/04/a-practical-guide-to-managing-bad-employees.html</feedburner:origLink></item>
		<item>
		<title>A Big Swinging Year</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/Wvjtzxjd_Zk/a-big-swinging-year.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/12/a-big-swinging-year.html#comments</comments>
		<pubDate>Sat, 31 Dec 2011 15:02:46 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/12/a-big-swinging-year.html</guid>
		<description><![CDATA[2011 was a big year for me and since it represented a lot of what it means to be a Big Swinging anything I felt a post was in order. To be clear, “big” doesn’t always mean “good”. 2011 was...
]]></description>
				<content:encoded><![CDATA[<p>2011  was a big year for me and since it represented a lot of what it means  to be a Big Swinging anything I felt a post was in order. &#0160;To be clear,  “big” doesn’t always mean “good”. &#0160;2011 was rough. &#0160;The startup that I  had been working on for months vaporized in a matter of days. &#0160;I had the  worst job of my development career. &#0160;I had clients who didn’t pay for  months. &#0160;At the other end of the spectrum, I got to work a lot with <a href="http://johnmarchesini.com/" target="_blank" title="John Marchesini">one  of the most talented developers I know</a>. &#0160;I got coached by <a href="http://www.woassociates.com/aboutus/wayne-oneill/" target="_blank" title="Wayne O&#39;Neill">the most  successful person I know</a>.&#0160; Finally, I ended the year with an ideal client  portfolio which should set up 2012 to be even bigger, and definitely better, than 2011. &#0160;Here are some things that I learned.</p>
<h3>Give As Much As You Can, Then Stop</h3>
<p>The  year started with me wrapping up a contract that I had been on for more  than a year and jumping back into the startup world. &#0160;I had been  working on the startup during off-hours for a couple of months and had  picked up some great new skills (MongoDB, IronPython, ASP.NET MVC 3,  etc.) &#0160;I had negotiated my ideal combination of great salary and good  equity stake and was ready to work on the company full-time. &#0160;I had no  problem working for free for several months and paying some travel  expenses because I really wanted to make the deal happen. &#0160;Then, it all  unravelled in the course of a few days. &#0160;The partner on the business  side decided that the salary I was asking was too high. &#0160;This was months  after I thought we had agreed and after this partner had told our only  investor that he wasn’t needed. &#0160;In the past, I probably would have  compromised to make it work since I had already invested a bunch of time  and effort, but I’ve matured since then. &#0160;The combination of  recognizing sunk costs and having an unwavering requirement that I trust  my partners led me to withdraw. &#0160;It was hard (and somewhat scary) to  abandon the path that I had committed myself to for many months, but I  had given all that I was willing to and once I was asked for more it was  time for me to stop. &#0160;Since I had set a “if I don’t have signed  paperwork by this date then I’m out” deadline, it was clear that it was  time for me to leave even though it wasn’t easy. &#0160;Know what you’re  willing to give, but be honest enough about it that if you’re asked for  more then you stop.</p>
<h3>It’s Hypocritical To Not Get An Outside Perspective</h3>
<p>After  leaving the startup path, I needed to figure out what was next.  &#0160;Quickly. &#0160;The nervousness of not having work lined up really drove me.  &#0160;Crazy. &#0160;The problem with being both driven and crazy at the same time  is that you <a href="http://en.wikipedia.org/wiki/Thrashing_%28computer_science%29" target="_blank">thrash</a>. &#0160;You end up expending incredible amounts of effort  for near-zero progress . . . or worse. &#0160;I was fortunate in that one of  my business partners is an <a href="http://www.woassociates.com/" target="_blank" title="WOA">incredible coach</a> and he made it clear that we  needed to talk. &#0160;I don’t remember anything we discussed during the hour  except him saying, “With options comes power.” &#0160;My problem was less  about not knowing what to do and more about *needing* to do something. I  took his overall advice of “get a few clients who will pay so you’re  not dependent on any of them” and started working on my client  portfolio. &#0160;After I got things back on track I realized how hypocritical  it was for me to not seek an outside perspective from the beginning:  That’s a big part of what I sell!</p>
<h3>Find Enough Clients Who Can Pay</h3>
<p>For  the rest of my career, I am likely to have at least 2 clients. &#0160;An  ideal number for now is 3 or 4, but it takes at least 2 in order to have  options, and therefore power. &#0160;One of my clients is a startup and  startups sometimes run out of money. &#0160;There’s a big difference between a  client who is unwilling to pay and a client who is unable to pay. &#0160;If  they’re unwilling to pay, the relationship has probably been destroyed  and things quickly turn into strictly business decisions. &#0160;If a client  is unable to pay, however, things are a little different. &#0160;It is in the  nature of startups to reach beyond their grasp and sometimes they fall.  &#0160;I happen to really like this particular client so I checked in with  them once a month, but never in a mean or threatening manner. &#0160;Because I  had other clients who *could* (and did) pay, I had the option of  waiting. &#0160;It took a good 3 or 4 months, but they raised another round of  funding, sent me a check, and we’re back to working together. &#0160;If I had  been demanding or unpleasant during their inability to pay, we probably  wouldn’t be working together now AND it wouldn’t have changed the fact  that they couldn’t pay. &#0160;If you have enough clients who can pay, you  have the option of working with some who may not . . . and they’re often  the most enjoyable.</p>
<h3>The Happiest People I Know Are Where They Put Themselves</h3>
<p>I  read a lot of blogs and talk to a lot of people about their work and  their lives. &#0160;One thing that really crystallized this year is that  people who are in a place intentionally are much happier than those who  have “ended up” someplace. &#0160;And it’s not just the rich ones who started  something that became big, it’s also the folks who decided what they  wanted to do with their lives and set themselves up around that. &#0160;This  is sort of an extension or evolution of, “Do what you love and the money  will follow” because I think that that phrase needs a bit of updating.  &#0160;I’ve seen plenty of people who love technology or software development,  but are f’ing miserable because they’re in a situation not entirely of  their choosing. &#0160;Chances are you know someone like this. &#0160;He liked  computers and software and learned to code. &#0160;He found a job somewhere  because he needed a job and things were somewhere between fine and great  in the beginning. &#0160;Over time, he got worn down by the company  environment until he ended up with a position he would have never  consciously chosen. &#0160;But he’s stuck. &#0160;He’s afraid to go somewhere else  and now he’s just kind of “ended up” doing what he’s doing. &#0160;Contrast  that with someone who has created her own position to do work she  enjoys, even if it doesn’t pay a lot (as long as it’s “enough”). &#0160;She’s  invested in making things work. &#0160;She’s set up her work to integrate with  her life. &#0160;And she has options. &#0160;If things don’t work the way she  thought, she can always redesign and renegotiate the position. &#0160;She’s  there by choice and since she chooses to do what’s she’s doing she’s  better at it and happier overall. &#0160;When I find myself in a job because I  need it, it’s not very long until it starts to wear on me. &#0160;When I’m  working on a project that I helped create, however, I’m committed to it  and energized by it. &#0160;I’m not suggesting that choosing your work is the  answer to all your problems or the one true path to happiness, but I  have observed (and lived) that people who consciously choose their work  are happier than those who don’t.</p>
<p>Here&#39;s to a Big Swinging 2012!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Wvjtzxjd_Zk:W8_kp8y9JYY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Wvjtzxjd_Zk:W8_kp8y9JYY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=Wvjtzxjd_Zk:W8_kp8y9JYY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Wvjtzxjd_Zk:W8_kp8y9JYY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Wvjtzxjd_Zk:W8_kp8y9JYY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=Wvjtzxjd_Zk:W8_kp8y9JYY:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/Wvjtzxjd_Zk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/12/a-big-swinging-year.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/12/a-big-swinging-year.html</feedburner:origLink></item>
		<item>
		<title>Options, Options, Options!</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/PI2gKEdvEYs/options-options-options.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/12/options-options-options.html#comments</comments>
		<pubDate>Wed, 21 Dec 2011 12:27:38 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/12/options-options-options.html</guid>
		<description><![CDATA[There are almost no advantages to being the son of a world renowned economist. One thing that keeps it from being a total wash, however, is that I got introduced to the concept of optionality at an early age. I...
]]></description>
				<content:encoded><![CDATA[<p>There are almost no advantages to being the son of a <a href="http://mooreschool.sc.edu/facultyandresearch/faculty.aspx?faculty_id=184" target="_blank" title="Robin Grieves">world renowned economist</a>. One thing that keeps it from being a total wash, however, is that I got introduced to the concept of optionality at an early age. I honestly don’t remember when I became aware of it, although I can remember thinking the term “synthetic puts” sounded cool when I was 12 or so.&#0160; Even though I didn’t understand the underlying math until much later, I grew up with at least a subconscious realization that the ability to choose was worth something.</p>
<p>In my early 20s, I started trading stock options online.</p>
<p>I was horrible at it.&#0160;</p>
<p>I was buying options, which meant I was paying someone for the ability to make a choice.&#0160;</p>
<p>I was in my early 20s, which meant that I made really bad choices.&#0160;</p>
<p>So there I was, paying someone to let me make bad choices.&#0160; I stopped in my mid 20s after I grew tired of losing money.&#0160; The concept of optionality stuck with me, however, and I’ve incorporated it into my approach to both software and clients.&#0160;</p>
<p>On the software side, this often means <a href="http://en.wikipedia.org/wiki/Coupling_%28computer_science%29" target="_blank">decoupling</a>.&#0160; I don’t favor decoupling because it’s cool, I favor it because I’m wrong a lot and want to be able to fix my mistakes as quickly and easily as possible. Decoupling gives you options because it reduces the impact of changes, meaning that you can make more changes. Particularly in business software (and espectially in large enterprise systems), you can bet that change is coming.&#0160; Requirements change.&#0160; Systems that need to be integrated change.&#0160; Business processes change.&#0160; If your system can keep up with this change, it&#39;s a lot more valuable than one that can&#39;t.</p>
<p>On the client side, I sell a wide array of options and clients like it even if they don’t realize that that&#39;s what it is.&#0160; Instead of saying, “Here’s the deal: You pay me X and I’ll deliver Y” I almost always offer choices.&#0160; The actual choices aren&#39;t important here, the important thing is that no matter what they choose the work they need will get done.&#0160; Sometimes that means paying for my own hardware, software, hosting, etc.&#0160; Other times it means travelling to be on-site with them or their clients.&#0160; The point is, that by offering them the option(s) to do things their way, I get to charge a premium over someone who simply sells billable hours sitting in front of a screen.</p>
<p>If you can provide optionality that&#39;s valuable, you can sell it and collect the premium.</p>
<p>As a bookend to the previous mention of options trading, I returned to it recently for a bit (now in my mid-to-late 30s) and did pretty well.&#0160; The difference?&#0160; Instead of buying options, I sold them through credit spreads since I now realize that my value is in <em>providing </em>optionality rather than using it.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=PI2gKEdvEYs:MrQ15FuwWlI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=PI2gKEdvEYs:MrQ15FuwWlI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=PI2gKEdvEYs:MrQ15FuwWlI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=PI2gKEdvEYs:MrQ15FuwWlI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=PI2gKEdvEYs:MrQ15FuwWlI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=PI2gKEdvEYs:MrQ15FuwWlI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/PI2gKEdvEYs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/12/options-options-options.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/12/options-options-options.html</feedburner:origLink></item>
		<item>
		<title>Reflector Recap (with Lessons Learned)</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/xC38D5czX4U/reflector-recap-with-lessons-learned.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/02/reflector-recap-with-lessons-learned.html#comments</comments>
		<pubDate>Mon, 14 Feb 2011 09:25:04 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/02/reflector-recap-with-lessons-learned.html</guid>
		<description><![CDATA[If you're unfamiliar with Reflector and its history, you can catch up in under a minute with the bulleted list in my previous post. Since the announcement, I've read every tweet that had "redgate" in it. I read the Red-Gate...
]]></description>
				<content:encoded><![CDATA[<p>If you&#39;re unfamiliar with Reflector and its history, you can catch up in under a minute with the bulleted list in my <a href="/2011/02/think-net-reflector-is-no-longer-free-you-might-be-wrong.html" target="_blank" title="Think .NET Reflector is no longer free? You might be wrong...">previous post</a>.&#0160; Since the announcement, I&#39;ve read every tweet that had &quot;redgate&quot; in it.&#0160; I read the <a href="http://www.red-gate.com/MessageBoard/viewforum.php?f=141" target="_blank">Red-Gate forum</a> posts.&#0160; I read the links that are in the tweets and the forum posts.&#0160; And, I read all of the 132 comments that I received after offering to buy 10 licenses at $35 per (which Red-Gate then matched with 100 more and bumped them up to the $95 Pro version).</p>
<p>As I mentioned in the previous post, there is a lot of information surrounding this event that is valuable to any entrepreneur, executive, marketing person, or product manager.&#0160; Here are some of the lessons that I&#39;ve learned from the experience:</p>
<h2>Free Is Unlike Any Other Price</h2>
<p>I had read that &quot;free&quot; is a unique price in <a href="http://www.amazon.com/gp/product/0061353248?ie=UTF8&amp;tag=developerhead-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0061353248">Predictably Irrational<img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=developerhead-20&amp;l=as2&amp;o=1&amp;a=0061353248" style="border: none !important; margin: 0px !important;" width="1" /></a> by Dan Ariely, but there&#39;s a big difference between reading about it in a book and watching people freak out over it.&#0160; Almost all of the negative posts that I read centered around &quot;Red-Gate said it would stay free and now it&#39;s not&quot;.&#0160; I&#39;m guessing that there wouldn&#39;t be as much noise if the situation had been &quot;Red-Gate said that it would stay affordable and now it&#39;s a little less so&quot; . . . it just doesn&#39;t have the same punch, does it?&#0160; To be clear, I understand that &quot;free&quot; does have some unique properties: zero risk, zero acquisition friction, etc. and I&#39;m not suggesting that people <em>shouldn&#39;t</em> feel they way they feel.&#0160; The lesson learned here is that &quot;free&quot; needs to be treated differently and that it&#39;s risky to price anything as free that can&#39;t stay that way.</p>
<h2>All Information Gaps Will Be Filled</h2>
<p>If you&#39;ve read most of what&#39;s been written about this event, you&#39;ll notice 2 things about the information:</p>
<ol>
<li>It&#39;s incomplete.</li>
<li>People will fill in the gaps with their own beliefs.</li>
</ol>
<p>I read everything from &quot;since Lutz got paid&quot; and &quot;Lutz may not have done the deal if it wasn&#39;t going to remain free&quot; to &quot;Reflector should go back to being open source&quot; and&#0160; &quot;Red-Gate installed a timebomb in it&quot;.&#0160; To the best of my knowledge, the details of the deal were never made public.&#0160; That means that unless you&#39;re Red-Gate or Lutz, you don&#39;t know the details.&#0160; As for the open sourceness and timebomb: Plenty of people have pointed out that it was never open source and the timebomb had been there for years before Red-Gate acquired it.&#0160; The lesson learned here is that any information gap will be filled by someone, at some point and that you might want to consider a defensive move of laying out relevant facts when it&#39;s time to announce an unpopular decision.</p>
<h2>Non-Physical Products Are Different</h2>
<p>People have a different view of non-physical products compared to physical products.&#0160; If you buy milk from the store, you don&#39;t expect it to last forever.&#0160; You know that it&#39;s an exhaustible resource that disappears as you use it.&#0160; As a physical object, it can&#39;t be 2 places at the same time.&#0160; Non-physical products have non of these limitations.&#0160; Because of this, limitations built into a non-physical product are often seen as taking something away from the end user.&#0160; DRM for music, games, and movies is a good example since it so clearly takes away capabilities from the non-physical product.&#0160; People hate DRM for a variety of reasons, but one of the most common is that it makes the non-physical product behave in unexpected ways.&#0160; All of a sudden you can&#39;t listen, play, or watch &#8211; not because your network connection went down but because someone made the media require a continuous connection.&#0160; That was a limitation that was consciously built into the product.&#0160; The timebomb in Reflector is similar.&#0160; Except for trial software, most people don&#39;t expect software to expire.&#0160; When the expiration comes, it&#39;s not only unexpected but it&#39;s clear that it was put there consciously which can lead to feelings of &quot;you did this to me&quot;.&#0160; The lesson learned here is that if you&#39;re going to do something unexpected, make sure people are aware of it and consent to it in order to avoid an emotional response down the road.&#0160; As a point of clarity, &quot;aware&quot; means that they actually know what&#39;s going on which means it can&#39;t be buried in a EULA.</p>
<h2>Developers Are Even Differenter</h2>
<p>I lumped music, games, and movies together above when talking about non-physical products because they all have a similarity that separates them from software: most consumers can&#39;t create their equivalent.&#0160; Once you get into the realm of software, then things get a little stickier . . . all of a sudden you&#39;re talking about things that <em>could </em>be created by the end user, although it&#39;s often impractical for them to do so.&#0160; If you narrow things down to &quot;developer utilities&quot; then you&#39;re on really thin ice.&#0160; You are actually targeting a market segment that is often qualified to create the thing you&#39;re selling them.&#0160; Most of the time they&#39;ll be very rational about purchasing tools: &quot;This will make me better.&#0160; It would take longer to create this myself then the price divided by my salary/rate.&#0160; I should buy this.&quot;&#0160; If something happens to suppress the rationality (like messing with &quot;free&quot;), then they can quickly go into &quot;I don&#39;t care what it takes, I&#39;ll build it myself!&quot; mode.&#0160; The lesson I learned is that when targeting developers as a market, it&#39;s important to avoid doing anything that might flip the rationality switch.</p>
<h2>Conclusion</h2>
<p>To cause the reaction we saw over the last two weeks, it&#39;s safe to say that Red-Gate made a mistake.&#0160; What&#39;s not clear is exactly where the mistake was made and what should have been done differently.&#0160; It&#39;s not clear because we don&#39;t have all of the information.&#0160; Don&#39;t let this opportunity go to waste, though.&#0160; There are some folks who paid steep tuition for the lessons that you can learn from this experience.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=xC38D5czX4U:s7k4ZcQqpAA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=xC38D5czX4U:s7k4ZcQqpAA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=xC38D5czX4U:s7k4ZcQqpAA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=xC38D5czX4U:s7k4ZcQqpAA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=xC38D5czX4U:s7k4ZcQqpAA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=xC38D5czX4U:s7k4ZcQqpAA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/xC38D5czX4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/02/reflector-recap-with-lessons-learned.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/02/reflector-recap-with-lessons-learned.html</feedburner:origLink></item>
		<item>
		<title>Think .NET Reflector Is No Longer Free?  You Might Be Wrong…</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/rrBLzYie8G0/think-net-reflector-is-no-longer-free-you-might-be-wrong.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/02/think-net-reflector-is-no-longer-free-you-might-be-wrong.html#comments</comments>
		<pubDate>Thu, 03 Feb 2011 14:25:57 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Development]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/02/think-net-reflector-is-no-longer-free-you-might-be-wrong.html</guid>
		<description><![CDATA[There's been A LOT of discussion about Red-Gate's decision to start charging for .NET Reflector. For those of you tuning in, here's a really compressed history: Lutz Roeder created .NET Reflector many years ago (full history: http://en.wikipedia.org/wiki/.NET_Reflector) I venture to...
]]></description>
				<content:encoded><![CDATA[<p>There&#39;s been A LOT of discussion about Red-Gate&#39;s decision to start charging for .NET Reflector.&#0160; For those of you tuning in, here&#39;s a really compressed history:</p>
<ul>
<li>Lutz Roeder created .NET Reflector many years ago (full history: http://en.wikipedia.org/wiki/.NET_Reflector)</li>
<li>I venture to guess that the majority of professional .NET developers use the tool.</li>
<li>Red-Gate bought Reflector in 2008 (I remember because I saw Neil Davidson at the Business of Software Conference in Boston and asked him about it).</li>
<li>Reflector has been free, or had a free version available for its life thusfar.</li>
<li>Red-Gate announced yesterday that they&#39;d start charging for Reflector in March with no free version available (as far as I can tell).&#0160; The price that replaces &quot;free&quot;: $35.</li>
<li>Lots of people are going apeshit about a tool that used to be free no longer being free.</li>
</ul>
<p>That brings us up to speed.&#0160; For some fascinating reading, check out the <a href="http://www.red-gate.com/MessageBoard/viewforum.php?f=141" target="_blank" title="Red-Gate Reflector Forum">Red-Gate Reflector Forum</a>.&#0160; I&#39;m being serious here.&#0160; It isn&#39;t often that you get to see so many diverse thoughts, opinions, and expressions of outrage in one place.&#0160; ANY marketing person, product manager, executive, or entrepreneur would be wise to read the forum posts and comments for a mixture of warnings, lessons, and insight into the community/customer mind.</p>
<p>For my part, I don&#39;t have a strong opinion about whether Red-Gate is right or wrong on this matter and that&#39;s actually not what this post is about.&#0160; This post (like many other posts) is about behavior and action.&#0160; While I can&#39;t make Reflector free for everyone, I figure I can make it free for 10 people.&#0160; I&#39;ve made enough money doing development work and consulting while using Reflector that $350 seems like a reasonable price for me to pay.&#0160; At the same time, I know that there are lots of folks out there doing good work that can&#39;t pay $35.</p>
<p><span style="text-decoration: line-through;"><strong>Post a comment about why you want a copy of Reflector by Sunday, Februrary 6th.&#0160; I&#39;ll pick 10 and buy each a $35 license of Reflector 7 upon its release.</strong></span></p>
<p><span style="text-decoration: line-through;">If Red-Gate (or anyone else) should decide to match the offer, then the freebies go up from there.</span></p>
<p><span style="text-decoration: line-through;"><strong>UPDATE:</strong> Just got off the phone with Red-Gate and they&#39;ve offered to match with 50 licenses (I&#39;m still paying for the first 10 so I now have a total of 60 to give away).&#0160; As such, I&#39;m extending the deadline through Friday, February 11th.</span></p>
<p><strong>FINAL UPDATE:</strong> I was pleasantly surprised when Red Gate initially offered the additional 50 licenses, but I was blown away when I talked to them again and they offered another 50 for a <strong>total of 100</strong>.&#0160; Not only that, but they said that rather than wait for V7 to be released that they are going to be giving <strong>Reflector Pro licenses (the $95 one)</strong>, which will convert to the Reflector VS license when version 7 is released!&#0160;&#0160; I&#39;ll be emailing the folks who get a license on Saturday 2/12 and Sunday 2/13.&#0160; Licenses should arrive on Monday 2/14 or Tuesday 2/15. Thanks to everyone who commented!&#0160; BTW, if you missed the cutoff I see that <a href="http://blog.hmobius.com/post/2011/02/11/Reflector-7-Giveaway.aspx" target="_blank" title="Get some!">Dan Maharry is giving away Reflector 7 licenses on his blog</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=rrBLzYie8G0:QCLm5UTBy5U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=rrBLzYie8G0:QCLm5UTBy5U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=rrBLzYie8G0:QCLm5UTBy5U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=rrBLzYie8G0:QCLm5UTBy5U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=rrBLzYie8G0:QCLm5UTBy5U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=rrBLzYie8G0:QCLm5UTBy5U:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/rrBLzYie8G0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/02/think-net-reflector-is-no-longer-free-you-might-be-wrong.html/feed</wfw:commentRss>
		<slash:comments>49</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/02/think-net-reflector-is-no-longer-free-you-might-be-wrong.html</feedburner:origLink></item>
		<item>
		<title>The Dead Simple Guide To Being a Good Manager</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/Y9m7S4ge-4U/the-dead-simple-guide-to-being-a-good-manager.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/01/the-dead-simple-guide-to-being-a-good-manager.html#comments</comments>
		<pubDate>Fri, 07 Jan 2011 08:05:24 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Managing Down]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/01/the-dead-simple-guide-to-being-a-good-manager.html</guid>
		<description><![CDATA[I've been fortunate in my career to have had a couple of great managers. The rare combination of vision and execution found in my managers at Microsoft Research and DuClaw Brewing Company have established a kind of gold standard in...
]]></description>
				<content:encoded><![CDATA[<p>I&#39;ve been fortunate in my career to have had a couple of great managers.&#0160; The rare combination of vision and execution found in my managers at <a href="http://research.microsoft.com" target="_blank">Microsoft Research</a> and <a href="http://www.duclaw.com" target="_blank">DuClaw Brewing Company</a> have established a kind of gold standard in my mind.&#0160; I&#39;ve been thinking about management a lot lately.&#0160; I&#39;ll probably be head down doing technical work for the next few months, but after that I hope to <a href="/2009/01/the-dead-simple-guide-to-building-a-kickass-team.html" target="_blank" title="The Dead Simple Guide To Building A Kick-Ass Team">build</a> and <a href="/2009/01/the-dead-simple-guide-to-running-a-development-team.html" target="_blank" title="The Dead Simple Guide To Running A Development Team">run</a> a new technical team.&#0160; Even though I aspire to be like the outstanding managers I&#39;ve worked for, I don&#39;t think you have to be great to be successful.&#0160; As a matter of fact, I think that being a good manager can be distilled into 2 simple steps.</p>
<h2>Step 1: Make It Terrible to be Bad</h2>
<p>There are plenty of good people who are bad employees, especially in the technical world.&#0160; Since I&#39;ve worked mostly in software, I&#39;ll focus there for a moment but the same principle is applicable to any industry.&#0160; My definition of a good developer is one who develops good software.&#0160; It&#39;s no surprise then that I think a bad developer is someone who doesn&#39;t develop good software.&#0160; As a manager, it&#39;s your job to make the environment unpleasant for bad employees.&#0160; Yes, you get extra points for offering up solutions to their crapitude like training and whatnot but even if you don&#39;t you can still be good manager simply by making bad employees not want to be there.&#0160; Why am I harping on this so much?&#0160; Because bad employees are a cancer to a team and they kill the team from the inside.&#0160; First we have displacement &#8211; a bad employee is sitting in the seat that could be occupied by a good one.&#0160; Next we have infection &#8211; bad employees have a very strong potential to turn others bad either by active instruction (&quot;Here, junior dev, let me show you the wrong way&quot;) or through passive observance (&quot;Why should I be any better if that guy sucks and he&#39;s still here?&quot;).&#0160; And finally we have repulsion &#8211; good employees don&#39;t enjoy working with bad ones so they leave.</p>
<h2>Step 2: Make it Easy to be Good</h2>
<p>The step is all about clearing the path for your direct reports.&#0160; Most technical people really enjoy what they do, it&#39;s all the other stupid stuff that turns what they enjoy into &quot;work&quot;.&#0160; This is one of the reasons so many good and great developers work for start-ups, small software companies, or the few &quot;big name&quot; companies that you read about all the time like Google.&#0160; It&#39;s about the purity of the work as much as it is about the work itself.&#0160; This is where most companies inflict Death By 1000 Cuts &#8211; poorly managed web filtering that blocks technical blogs? Cut.&#0160; Stupid HR rules that require filling out a paper form once a month? Cut.&#0160; 17&quot; screen instead of a 24&quot;? Cut.&#0160; Slow network, unstable email server, not enough hard drive space? Cut, cut, cut.&#0160; Sure, any given one of these isn&#39;t enough for someone to leave but put enough of them together and you&#39;ve got one seriously unpleasant and ineffective environment to work in.</p>
<p>The steps are listed in order of importance.&#0160; Sure, you can start knocking off some of the low hanging fruit to make it easy to be good while you&#39;re putting the heat on the bad folks but you can&#39;t ignore step 1 and make it up by doing lots of step 2.&#0160; When a patient is diagnosed with cancer, the immediate focus is on eradicating the cancer not on adding lean muscle or lowering cholesterol.&#0160; Yes, the latter two can contribute to improved overall health by they simply don&#39;t matter if you don&#39;t take care of the most pressing need first.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Y9m7S4ge-4U:MRBQLAkFFS8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Y9m7S4ge-4U:MRBQLAkFFS8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=Y9m7S4ge-4U:MRBQLAkFFS8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Y9m7S4ge-4U:MRBQLAkFFS8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=Y9m7S4ge-4U:MRBQLAkFFS8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=Y9m7S4ge-4U:MRBQLAkFFS8:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/Y9m7S4ge-4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/01/the-dead-simple-guide-to-being-a-good-manager.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/01/the-dead-simple-guide-to-being-a-good-manager.html</feedburner:origLink></item>
		<item>
		<title>The Difference Between Software, Platform, and Infrastructure in SaaS, PaaS, and IaaS</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/WG-ah4yumTw/the-difference-between-software-platform-and-infrastructure-in-saas-paas-and-iaas.html</link>
		<comments>http://www.bigswingingdeveloper.com/2011/01/the-difference-between-software-platform-and-infrastructure-in-saas-paas-and-iaas.html#comments</comments>
		<pubDate>Mon, 03 Jan 2011 22:38:48 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Product Development]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2011/01/the-difference-between-software-platform-and-infrastructure-in-saas-paas-and-iaas.html</guid>
		<description><![CDATA[*-as-a-Service is all the rage these days. Everywhere you turn you see Software-as-a-Service, Platform-as-a-Service, and Infrastructure-as-a-Service. It reminds me of the late 90s when everything was Internet, Intranet, and Extranet - you know, back when it was so new and...
]]></description>
				<content:encoded><![CDATA[<p>*-as-a-Service is all the rage these days.&#0160; Everywhere you turn you see Software-as-a-Service, Platform-as-a-Service, and Infrastructure-as-a-Service.&#0160; It reminds me of the late 90s when everything was Internet, Intranet, and Extranet &#8211; you know, back when it was so new and important that we capitalized the words.</p>
<p>Even though we&#39;re seeing some serious overuse, my problem isn&#39;t with the terms it&#39;s that the root words are incorrectly swapped around so much that folks have a hard time thinking about them correctly.&#0160; Sometimes everything is lumped into SaaS since it was first.&#0160; Other times Platform and Infrastructure are used synonymously.&#0160; My goal here isn&#39;t to introduce you to SaaS, PaaS, and IaaS . . . chances are you have an idea of what these are if you read this blog.&#0160; Instead, my goal is to show you a way to think about them to know what fits where including a 2-part value proposition of each.&#0160; This is especially important if you&#39;re building software that falls into one of these 3 groups.</p>
<h2>Infrastructure-as-a-Service</h2>
<p>Unless you work for Amazon, Rackspace, GoGrid, or one of the other big providers chances are good that you&#39;re not building IaaS.&#0160; Infrastructure is just that: the foundation where you run your system.&#0160; This service is all about providing you infrastructure components like servers and networking goodies such as load balancers, firewalls, and VPNs.&#0160; The &quot;service&quot; part of it is the management software that lets you click (or programmatically call) to provision new resources.&#0160; Click: new server.&#0160; Click: new network segment.&#0160; You get the idea.&#0160; The important takeaway here is that you are renting infrastructure that lets you do what you want, but it&#39;s pretty much up to you to make it do something valuable.&#0160; The 2-part value proposition of IaaS is that you can rent infrastructure instead of buying it and that someone who is better than you will be running it, provided you go with a quality provider.</p>
<h2>Software-as-a-Service</h2>
<p>At the other end of the spectrum, we have Software-as-a-Service.&#0160; SaaS should <em>do </em>something of value immediately after you sign up for it.&#0160; Sure, there may be some customization involved but the bulk of a valuable problem should be solved by the software that you&#39;re renting.&#0160; If you work for a software startup, then there&#39;s a good chance that you&#39;re working on a SaaS product or that there will be a SaaS version of your product offered in the near future (either by your company or a new competitor).&#0160; The SaaS 2-part value proposition is that you only have to pay for software you use and you have a solution to the problem that&#39;s better than what you can build in the time you have.&#0160; That last part is especially important since if you can&#39;t find something worthwhile to rent, then you&#39;ve just stumbled upon a great market opportunity (or you&#39;re awful at using Google, but I&#39;ll give you the benefit of the doubt).</p>
<h2>Platform-as-a-Service</h2>
<p>This is actually the term that&#39;s been stuck in my head and led to this post.&#0160; PaaS should let you <em>build</em> something of value after signing up.&#0160; It&#39;s a step away from infrastructure in that you don&#39;t have to worry about the underlying servers and networking, but it&#39;s also a step from being SaaS because it doesn&#39;t do anything of general value until you get to work.&#0160; I think that a lot of the confusion around the term can be credited to the success of Salesforce.com.&#0160; They started as a SaaS offering and then created the first really successful PaaS offering (while continuing to offer plenty of SaaS goodness).&#0160; Their hosted Customer Relationship Management system is often cited as the first successful SaaS product.&#0160; Later they created Force.com which lets developers build new applications on top of their infrastructure.&#0160; Another factor that contributes to confusion about what constitutes PaaS is the use of the word &quot;platform&quot;, one of the most nebulous terms in the tech industry.&#0160; I think that Architecture-as-a-Service may be a more accurate (though not necessarily better) description because what you&#39;re paying for is someone else&#39;s solutions to common development tasks. Instead of worrying about collecting data, storing it, retrieving it, searching for it, etc., you use the provided platform &#8211; its architecture.&#0160; The 2-part value proposition is that you can use the platform to build software without having to solve all of the problems common to software development.</p>
<p>To give a little perspective, I&#39;m currently working on a PaaS system that will be used to create several SaaS products.&#0160; I&#39;m using IaaS (Amazon EC2) for testing and production deployment.&#0160; So I rent from Amazon and others rent from me.&#0160; The spread between what I pay and what I charge is dependent upon my solutions to both development problems (the PaaS layer) and business problems (the SaaS apps).</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=WG-ah4yumTw:hda6TOhzab4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=WG-ah4yumTw:hda6TOhzab4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=WG-ah4yumTw:hda6TOhzab4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=WG-ah4yumTw:hda6TOhzab4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=WG-ah4yumTw:hda6TOhzab4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=WG-ah4yumTw:hda6TOhzab4:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/WG-ah4yumTw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2011/01/the-difference-between-software-platform-and-infrastructure-in-saas-paas-and-iaas.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2011/01/the-difference-between-software-platform-and-infrastructure-in-saas-paas-and-iaas.html</feedburner:origLink></item>
		<item>
		<title>The Accidental Architect (Part 2)</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/4F38c7zp6_Y/the-accidental-architect-part-2.html</link>
		<comments>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect-part-2.html#comments</comments>
		<pubDate>Mon, 13 Dec 2010 06:36:00 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2010/12/the-accidental-architect-part-2.html</guid>
		<description><![CDATA[In the previous post I talked about software architecture and software architects in general. In this post, I get into some specifics along with recommendations if you find yourself in a similar situation. It is important to note that the...
]]></description>
				<content:encoded><![CDATA[<p>In the <a href="/2010/12/the-accidental-architect.html" target="_blank" title="The Accidental Architect">previous post</a> I talked about software architecture and software architects in general.&#0160; In this post, I get into some specifics along with recommendations if you find yourself in a similar situation.&#0160; It is important to note that the advice that follows is for people who want to build good software in a good organization that supports your effort.&#0160; If you feel (or find) that you don&#39;t have the support necessary to get your architecture adopted, you may want to read Terrance Ryan&#39;s book <a href="http://www.amazon.com/gp/product/1934356603?ie=UTF8&amp;tag=bigswingingdeveloper-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1934356603"><em>Driving Technical Change</em></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=bigswingingdeveloper-20&amp;l=as2&amp;o=1&amp;a=1934356603" style="border: none !important; margin: 0px !important;" width="1" /></p>
<h2>Have an opinion</h2>
<p>If I could give only one piece of advice to a software architect it would be to have an opinion. Wishy-washy architects who speak vaguely in buzzword driven platitudes are the worst because they are inherently un-fixable. You can fix &quot;wrong&quot;, but you can&#39;t fix &quot;unclear&quot;.&#0160; Since there are so many possibilities with software the only way you can achieve clarity is through having an opinion and being able to describe/defend it. As an example, it was important to me that the system I designed be asynchronous from the beginning since I knew that we&#39;d need to integrate with some slow external systems.&#0160; The opinion I formed is:</p>
<blockquote>
<p>When the user clicks Save, their part is done.&#0160; The system should allow them to keep working and then notify them (if necessary) when the processing of their action is complete.</p>
</blockquote>
<p>This led to a bunch of design decisions that wouldn&#39;t have been nearly as clear if I had a generic &quot;the system needs to be fast&quot; bullet point.</p>
<h2>Be wrong early</h2>
<p>You have your opinion and you start discussing it with others &#8211; your peers, your manager, your team, or whoever else will listen.&#0160; Be prepared to find out that you&#39;re wrong.&#0160; &quot;Wrong&quot; can come in a bunch of flavors: You&#39;ve chosen a technology that&#39;s going to be difficult/impossible to get deployed, you&#39;ve designed for a problem that doesn&#39;t exist, you failed to consider something that&#39;s critical.&#0160; The &quot;be prepared&quot; part means listening to feedback and watching reactions to find out that something could be wrong even if you&#39;re not being told exactly what.&#0160; It also means separating out general push-back from specific problems, especially from developers.&#0160; I once found myself in a surprising discussion with a developer over the design of my auditing strategy because he was worried that the database administrators wouldn&#39;t handle the data growth well.&#0160; Notice that that&#39;s a general fear that has less to do with the system (after all, auditing requires data growth by definition) and more to do with the environment.&#0160; We ended up keeping the design after discussing the various ways in which we could address data growth both with and without database administrator support.</p>
<h2>Don&#39;t ship PowerPoint</h2>
<p>If you&#39;re an architect, there is a strong possibility that you&#39;ll need to put your thoughts and designs into a slide deck to present to others.&#0160; This is a great exercise as long as you don&#39;t see it as your final deliverable.&#0160; The architecture I found myself designing needed to support several business units and perform a wide range of functions.&#0160; I had my opinions, I had my designs, but I didn&#39;t consider the architecture complete until I&#39;d built at least a prototype.&#0160; In this case, that actually meant building the first module and I can tell you that things changed substantially from the time the paper design was done to the time we completed that module.&#0160; Even if you can&#39;t build an actual portion of the finished product, you should at least build a representative example of what you&#39;ve designed and demonstrate that it exhibits the properties for which you&#39;ve designed.</p>
<h2>Know your environment</h2>
<p>In the opening paragraph I noted that the advice was for people who wanted to build good software in a good organization.&#0160; If you&#39;re reading this blog, you probably have an idea of what &quot;good software&quot; is (i.e. meets user needs, can be extended, etc.), but you may not know what I mean by &quot;good organization&quot;. The cornerstone of a good organization is honesty and most of the organizational problems I&#39;ve encountered stem from a lack of honesty &#8211; anywhere from people kidding themselves to folks outright lying. In the context of development and architecture, you&#39;ll know you&#39;re in a good place if your opinions are met with open discussion and debate. It&#39;s surprisingly satisfying to have someone show you that you&#39;re wrong and then watch your design improve as you hash out a better solution together. You&#39;ll know you&#39;re in the wrong place if your opinions are met with silence, unproductive bickering, or passive aggressive avoidance. If you find yourself in such a place, then once again check out <a href="http://www.amazon.com/gp/product/1934356603?ie=UTF8&amp;tag=bigswingingdeveloper-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1934356603"><em>Driving Technical Change</em></a><img alt="" border="0" height="1" src="http://www.assoc-amazon.com/e/ir?t=bigswingingdeveloper-20&amp;l=as2&amp;o=1&amp;a=1934356603" style="border: none !important; margin: 0px !important;" width="1" /> or dust off your resume and start to look around.&#0160; There are too many good places to let the bad ones grind you down.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=4F38c7zp6_Y:SDGVAp3APHg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=4F38c7zp6_Y:SDGVAp3APHg:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=4F38c7zp6_Y:SDGVAp3APHg:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=4F38c7zp6_Y:SDGVAp3APHg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=4F38c7zp6_Y:SDGVAp3APHg:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=4F38c7zp6_Y:SDGVAp3APHg:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/4F38c7zp6_Y" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect-part-2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect-part-2.html</feedburner:origLink></item>
		<item>
		<title>The Accidental Architect</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/q14JcVdMceA/the-accidental-architect.html</link>
		<comments>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect.html#comments</comments>
		<pubDate>Sun, 05 Dec 2010 06:11:00 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Process]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2010/12/the-accidental-architect.html</guid>
		<description><![CDATA[2 Years ago today, I wrote about centralized architecture groups in organizations. A few months after I wrote that post, I was commissioned to write a whitepaper about enterprise architecture by a local boutique consulting firm. The idea of software...
]]></description>
				<content:encoded><![CDATA[<p>2 Years ago today, I <a href="/2008/12/why-should-we-have-centralized-architecture.html" target="_blank" title="Why Should We Have Centralized Architecture?">wrote about centralized architecture groups</a> in organizations.&#0160; A few months after I wrote that post, I was commissioned to write <a href="http://www.palomabiz.com/whitepapers/BuildingAnEffectiveEnterpriseArchitecture.pdf" target="_blank" title="Building an Effective Enterprise Architecture">a whitepaper about enterprise architecture</a> by a local boutique consulting firm.&#0160; The idea of software architects has been on my mind a lot lately.&#0160; While I&#39;ve been selling myself as a Big Swinging Developer for the past several years, I recently found myself in an architect role accidentally.&#0160; I&#39;ll go into some specifics in the next post, but first I want to throw out some of my thoughts on software architecture in general and software architects in particular.</p>
<h2>WTF is Software Architecture?</h2>
<p>It&#39;s one of those terms that seems to mean something different every time you hear it.&#0160; In the realm of consulting it often translates to &quot;the most expensive PowerPoint slides you&#39;ve ever seen&quot;.&#0160; My personal definition is:</p>
<blockquote>
<p>&quot;software architecture is the collection of hard-to-change decisions about a system&quot;&#0160;</p>
</blockquote>
<p>Decisions like whether to use an <a href="http://en.wikipedia.org/wiki/Object-relational_mapping" target="_blank" title="Object Relational Mapper">ORM</a>, or an <a href="http://www.nservicebus.com/" target="_blank" title="NServiceBus kicks ass">Enterprise Service Bus</a>, or how security is going to be handled.&#0160; These aren&#39;t impossible-to-change decisions, but if you&#39;ve ever been on a project where something of this magnitude was either overlooked or chosen poorly, you know that this kind of mistake threatens to sink a system.</p>
<h2>What Does an Architect Really <em>Do</em>?</h2>
<p>That depends on two things: The individual and the organization.&#0160; The problem with the title &quot;Software Architect&quot; is that there isn&#39;t a strong connotation of what will be delivered.&#0160; A &quot;Software Developer&quot; better deliver software.&#0160; A &quot;Graphic Designer&quot; better deliver designs.&#0160; A &quot;Software Architect&quot;, however, has no corresponding delivery requirements.&#0160; This is left largely to the individual and it&#39;s then often left to the organization to decide whether or not to <span style="text-decoration: line-through;">tolerate what they do all day</span> value the role.</p>
<p>In the past 5 years, I&#39;ve been fortunate enough to work with the full spectrum of architects and the full spectrum of organizational attitude.&#0160; My favorite type of architect is one who has a good grasp of how software fits into an organization, the technical ability to address the challenges, and feels a responsibility for the success of the developers who will be implementing the vision.&#0160; Former colleague Mike was a great example of this.&#0160; He know his stuff, had strong opinions on the things that were important to him, and <em>always </em>provided a reference implementation to show that his design was practical.&#0160; My least favorite type of architect is one who generates nothing but documents (PowerPoint being a favorite), dictates &quot;how things should be&quot;, and then blames the developers when the vision turns out to be impossible or useless or both.&#0160;</p>
<p>But architects don&#39;t exist without an environment in which to practice, which is why organizations are almost as accountable for architect quality as the individuals.&#0160; The quality of the environment is more easily determined by what it won&#39;t tolerate than by what it encourages.&#0160; Sure, you want a place that encourages quality work and personal accountability, but that&#39;s not enough.&#0160; What separates the good from the bad is that the bad organizations will tolerate (or even value) the Big Talkers who spend days preparing for a presentation without ever once vetting the practicality of what they&#39;re proposing.&#0160; You probably know who I&#39;m talking about, the folks who will show you super-complicated diagrams of their Service Oriented Architecture but can&#39;t answer a single question about how to version or end-of-life any of the listed services.&#0160; Casting things into &quot;good&quot; and &quot;bad&quot; is a little simplistic, though.&#0160; There are really 3 types of environments:</p>
<h2>The Consciously Good Organization</h2>
<p>These are the folks who have their act together.&#0160; Somewhere along the way, they&#39;ve committed to creating <a href="/2009/08/firstrate-companies-have-firstrate-systems.html" target="_blank" title="First-Rate Companies Have First-Rate Systems">first-rate systems</a>.&#0160; If you find yourself in an environment like this, they&#39;ll likely have a really good architect who you can learn a lot from.&#0160; If you&#39;re brought into to be an architect in this type of organization, you are being brought in explicitly for the role and you&#39;ll have a good idea of what it means to succeed.&#0160; There is money to be made in a consciously good organization since they tend to pay for quality, but note that the competition for the role will be fierce and you&#39;ll have to be really good to land the gig.</p>
<h2>The Cluelessly Bad Organization</h2>
<p>These are folks who want to be good, but don&#39;t know how.&#0160; Or maybe they don&#39;t even know that they want to be good, but they have a feeling that things could be better and are receptive to ideas on how to improve.&#0160; Honestly, this is my favorite type of environment.&#0160; There is <em>a lot</em> of money to be made in these types of organizations because they are often leaving so much of it on the table with bad systems.&#0160; Not only is the money good, but the work will be very pure in that you&#39;ll spend much of your time showing them how things can be better and then implementing it.&#0160; If you are correct in your analysis and solid in your implementation then your work will easily pay for itself and you can continue until you&#39;ve built them into a sustainable technology powerhouse.</p>
<h2>The Delusionally Bad Organization</h2>
<p>This is the danger zone, because these folks think they&#39;re good but they aren&#39;t.&#0160; Remember when I mentioned that you can more easily determine the quality of the organization by what they tolerate?&#0160; This is where that little nugget comes in handy.&#0160; The delusionally bad organization does some things well (and will point them out as evidence that they&#39;re &quot;good&quot;), but they tolerate mediocrity to the point where the good stuff almost doesn&#39;t matter.&#0160; The way you can tell the delusional from the clueless is that the delusional will actually know a lot about what it means to design and build first-rate systems . . . but then they won&#39;t do it.&#0160; Instead of building good stuff, everything turns into a messy collection of compromises that&#39;s explained away by factors beyond their control.&#0160; The good news is that there&#39;s money to be made in this type of environment because they will, in fact, need help.&#0160; The bad news is that they will make you earn every freakin&#39; penny of it.&#0160; The work isn&#39;t really the work, the work will be trying to get things done in an environment that thinks it&#39;s okay even while things are crumbling around them.&#0160; You&#39;ll suggest a way of doing something, get told that it&#39;s not necessary, and then see the negative effects of not having it . . . all before lunch.</p>
<h2>Is an Architect Role Right For You?</h2>
<p>As you might imagine, the job of software architect isn&#39;t for everyone.&#0160; One of the best programmers I know has no desire to be an architect even though he certainly has the technical qualifications.&#0160; So how do you know if the position is right for you?&#0160; I think that before even attempting the role, you need the following:</p>
<ul>
<li>Wide technical experience with some pockets of depth &#8211; you should be able to build everything yourself, even though you won&#39;t.</li>
<li>Network operations or sysadmin experience.</li>
<li>Defensible opinions on how software should be built.</li>
<li>The ability to convey complex ideas in simple language.</li>
<li>Ideas about how software and technology can make organizations more successful.</li>
</ul>
<p>Have I missed any big ones?&#0160; If so, leave a message in the comments below!</p>
<p>&#0160;</p>
<p>&#0160;</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=q14JcVdMceA:euGaYgEhtQI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=q14JcVdMceA:euGaYgEhtQI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=q14JcVdMceA:euGaYgEhtQI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=q14JcVdMceA:euGaYgEhtQI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=q14JcVdMceA:euGaYgEhtQI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=q14JcVdMceA:euGaYgEhtQI:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/q14JcVdMceA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2010/12/the-accidental-architect.html</feedburner:origLink></item>
		<item>
		<title>Don’t Do What You Should</title>
		<link>http://feedproxy.google.com/~r/typepad/big_swinging_developer/~3/yMsUQ-35WGQ/dont-do-what-you-should.html</link>
		<comments>http://www.bigswingingdeveloper.com/2010/01/dont-do-what-you-should.html#comments</comments>
		<pubDate>Sun, 24 Jan 2010 14:13:21 +0000</pubDate>
		<dc:creator>Jay Grieves</dc:creator>
				<category><![CDATA[Career]]></category>
		<category><![CDATA[Managing Down]]></category>
		<category><![CDATA[Self Management]]></category>

		<guid isPermaLink="false">http://bigswingingdev.wpengine.com/2010/01/dont-do-what-you-should.html</guid>
		<description><![CDATA["What should I do?" is another question I hear a lot, especially from the people I manage. It gets phrased differently sometimes: What would you like me to do? How would you like this done? How should this be done?...
]]></description>
				<content:encoded><![CDATA[<p>&quot;What should I do?&quot; is another question I hear a lot, especially from the people I manage.&#0160; It gets phrased differently sometimes:</p>
<ul>
<li>What would you like me to do?</li>
<li>How would you like this done?</li>
<li>How should this be done?</li>
<li>How should it work?</li>
<li>Etc.</li>
</ul>
<p>This may be the most value-robbing question ever.&#0160; It essentially turns an opportunity to show who you are and what you can do into nothing more than a task to be completed.&#0160; Asking what should be done is, essentially, asking someone to design the solution to the problem that you&#39;ve been assigned.&#0160; When I run a team, I want my team members to design (and implement) the solution.&#0160; One of my management mantras is, &quot;Bring me options and ask for a decision&quot;.</p>
<p>I can hear the naysayers now: &quot;But Jay, not everyone who reports to me can design the solutions to the problems we have.&quot;</p>
<p>Oy.</p>
<p>I&#39;m not suggesting that your only options are what your team brings you, I&#39;m suggesting that before they ask for help they demonstrate an attempt at solving the problem.&#0160; This is how you build design skills: You practice and you find out where you&#39;re wrong.&#0160; Eventually you get to the point that your designs are accepted by your manager consistently and you get to move up a notch.&#0160; Without that practice, though, you&#39;ll remain stuck where you are.</p>
<p>So instead of finding out (and doing) what you <em>should </em>do, do what you <em>can</em>.&#0160; Present options to whoever needs to make the decision and if the options are unacceptable, <em>then </em>ask for help.&#0160; Look for the growth opportunity in everything you do and you&#39;ll be amazed at how quickly you grow.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=yMsUQ-35WGQ:f40PS_ppqBQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=yMsUQ-35WGQ:f40PS_ppqBQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=yMsUQ-35WGQ:f40PS_ppqBQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=yMsUQ-35WGQ:f40PS_ppqBQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?a=yMsUQ-35WGQ:f40PS_ppqBQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/typepad/big_swinging_developer?i=yMsUQ-35WGQ:f40PS_ppqBQ:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/typepad/big_swinging_developer/~4/yMsUQ-35WGQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.bigswingingdeveloper.com/2010/01/dont-do-what-you-should.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.bigswingingdeveloper.com/2010/01/dont-do-what-you-should.html</feedburner:origLink></item>
	</channel>
</rss>
