<?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>Heather McLean &#187; Personal Development</title>
	<atom:link href="http://heathermclean.net/category/personal-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://heathermclean.net</link>
	<description>Thoughts on agile methodologies and leadership.</description>
	<lastBuildDate>Tue, 24 Aug 2010 14:00:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>New opportunity</title>
		<link>http://heathermclean.net/2010/06/new-opportunity/</link>
		<comments>http://heathermclean.net/2010/06/new-opportunity/#comments</comments>
		<pubDate>Fri, 25 Jun 2010 18:41:04 +0000</pubDate>
		<dc:creator>Heather</dc:creator>
				<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://heathermclean.net/?p=236</guid>
		<description><![CDATA[Just a small update today&#8230; I&#8217;m finishing up my first week with my new project on the e-commerce team at GameStop. I&#8217;m very much excited to be working in the retail/e-commerce space again, and there are a lot of great challenges presented. The group I&#8217;m working with is in the process of transitioning to agile methodologies, [...]]]></description>
			<content:encoded><![CDATA[<p>Just a small update today&#8230; I&#8217;m finishing up my first week with my new project on the e-commerce team at GameStop. I&#8217;m very much excited to be working in the retail/e-commerce space again, and there are a lot of great challenges presented. The group I&#8217;m working with is in the process of transitioning to agile methodologies, and we&#8217;re working on refactoring and modernizing the software that runs the <a href="http://www.gamestop.com/" target="_blank">gamestop.com</a> web site.</p>
<p>There are a lot of opportunities for growth here, so if you&#8217;re interested, feel free to contact me. Developers, QAs, project managers, whatever.</p>
]]></content:encoded>
			<wfw:commentRss>http://heathermclean.net/2010/06/new-opportunity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>REST in .NET</title>
		<link>http://heathermclean.net/2009/09/rest-in-net/</link>
		<comments>http://heathermclean.net/2009/09/rest-in-net/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 15:52:45 +0000</pubDate>
		<dc:creator>Heather</dc:creator>
				<category><![CDATA[Personal Development]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://heathermclean.net/?p=159</guid>
		<description><![CDATA[After a discussion of the merits of various web service technologies with a colleague of mine, I decided to do a little programming exercise. I felt I hadn&#8217;t really gotten to do any seriously complex programming in a while, so it was nice to exercise my brain a bit and learn some new things. I [...]]]></description>
			<content:encoded><![CDATA[<p>After a discussion of the merits of various web service technologies with a colleague of mine, I decided to do a little programming exercise. I felt I hadn&#8217;t really gotten to do any seriously complex programming in a while, so it was nice to exercise my brain a bit and learn some new things. I basically implemented a REST web service stack in .NET. It has both a server and client model. For the client, it&#8217;s as simple as decorating an interface:</p>
<pre name="code" class="c#">
[RestWebClient(Url = "http://local.yahooapis.com/MapsService/V1")]
public interface IYahooTrafficService : IRestWebService
{
    [RestNoun("trafficData", Method = RestHttpMethod.GET)]
    [return: RestReturnType(RestReturnType.Xml)]
    XmlDocument GetTrafficData(string appid, string street, string city, string state);
}
</pre>
<p>The example here uses the <a href="http://developer.yahoo.com/traffic/rest/V1/index.html" target="_blank">Yahoo Traffic Data API</a>. Once the interface is created, I can get a concrete instance through the RestWebClient factory:</p>
<pre name="code" class="c#">
IYahooTrafficService svc = RestWebClient.Create&lt;IYahooTrafficService&gt;();
XmlDocument xdoc = svc.GetTrafficData("YdnDemo", "1771 LBJ Fwy", "Dallas", "TX");
</pre>
<p>And voila! Traffic data:</p>
<div id="attachment_172" class="wp-caption alignnone" style="width: 310px"><img class="size-medium wp-image-172" title="Yahoo! Traffic Data" src="http://heathermclean.net/wp-content/uploads/2009/09/trafficdata-300x202.png" alt="Example of output from the Yahoo! Traffic Data API." width="300" height="202" /><p class="wp-caption-text">Example of output from the Yahoo! Traffic Data API.</p></div>
<p>Pretty simple, and it works with a variety of REST interfaces. It can also handle complex types through XML and binary serialization as well as straight binary streams, such as image files. The server piece works similar to the client; decorate a class with attributes to describe the service contract, and an HttpHandler does the rest.</p>
<p>This was particularly challenging on the client piece because I had to learn the <a href="http://msdn.microsoft.com/en-us/library/system.reflection.emit.aspx" target="_blank">System.Reflection.Emit</a> namespace, which I had never used before, and it requires an in-depth knowledge of <a href="http://en.wikipedia.org/wiki/Common_Intermediate_Language" target="_blank">MSIL</a>. So that was difficult at first, frustrating most of the time, and rewarding in the end.</p>
<p>At some point I would like to clean up the code and release it as open source. Some other folks might actually find it useful. It definitely needs some heavy refactoring first, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://heathermclean.net/2009/09/rest-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My personal task board</title>
		<link>http://heathermclean.net/2009/03/my-personal-task-board/</link>
		<comments>http://heathermclean.net/2009/03/my-personal-task-board/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 16:14:15 +0000</pubDate>
		<dc:creator>Heather</dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://heathermclean.net/?p=97</guid>
		<description><![CDATA[So I&#8217;ve gotten really used to the idea of thinking in terms of individual stories/tasks when I work, and I like the visual cue of a task board. I haven&#8217;t been able to convince everyone that this is the best idea yet, so I&#8217;m leading by example. Here&#8217;s a shot of my &#8220;personal task board&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve gotten really used to the idea of thinking in terms of individual stories/tasks when I work, and I like the visual cue of a task board. I haven&#8217;t been able to convince everyone that this is the best idea yet, so I&#8217;m leading by example. Here&#8217;s a shot of my &#8220;personal task board&#8221; that I have in my workspace.</p>
<p style="text-align: left;">
<p style="text-align: center;">
<div id="attachment_174" class="wp-caption aligncenter" style="width: 235px"><img class="size-medium wp-image-174 " title="Personal Taskboard" src="http://heathermclean.net/wp-content/uploads/2009/03/photo-225x300.jpg" alt="Personal Taskboard" width="225" height="300" /><p class="wp-caption-text">Personal Taskboard</p></div>
<p>You can see several columns from right to left: NR (not ready/undefined), Rdy (ready to implement), WiP (work currently in progress), and Done. The tasks are written on individual sticky notes with a description, the ID number from our defect tracking system (if any), and the product release it is assigned to (if any). They&#8217;re assorted roughly in priority order with higher priority items towards the top of the board.</p>
]]></content:encoded>
			<wfw:commentRss>http://heathermclean.net/2009/03/my-personal-task-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Personal Hedgehog</title>
		<link>http://heathermclean.net/2008/11/my-personal-hedgehog/</link>
		<comments>http://heathermclean.net/2008/11/my-personal-hedgehog/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 21:20:35 +0000</pubDate>
		<dc:creator>Heather</dc:creator>
				<category><![CDATA[Personal Development]]></category>

		<guid isPermaLink="false">http://heathermclean.net/?p=31</guid>
		<description><![CDATA[David J Anderson made a post the other day about his personal hedgehog concept that got me thinking about my own personal career targets. First, a quick explanation of the hedgehog (and my own lovely rendition of the hedgehog diagram): The personal hedgehog takes into account three factors: what you&#8217;re passionate about, what you can [...]]]></description>
			<content:encoded><![CDATA[<p>David J Anderson made <a href="http://www.agilemanagement.net/Articles/Weblog/PersonalHedgehogRevisited.html" target="_blank">a post the other day</a> about his personal hedgehog concept that got me thinking about my own personal career targets. First, a quick explanation of the hedgehog (and my own lovely rendition of the hedgehog diagram):</p>
<div id="attachment_41" class="wp-caption aligncenter" style="width: 510px"><a href="http://heathermclean.net/wp-content/uploads/2008/11/personal-hedgehog.png"><img class="size-full wp-image-41" title="Personal Hedgehog Diagram" src="http://heathermclean.net/wp-content/uploads/2008/11/personal-hedgehog.png" alt="Personal Hedgehog Diagram" width="500" height="300" /></a><p class="wp-caption-text">Personal Hedgehog Diagram</p></div>
<p>The personal hedgehog takes into account three factors: what you&#8217;re passionate about, what you can be best at, and what can support you financially. The target is to find where these three things intersect and use that to define your goal or &#8220;happy place.&#8221;</p>
<p>So the question I must consider now: what is my personal hedgehog? Let me try to break down the three questions.</p>
<p><strong>What am I passionate about?</strong> Obviously, from this blog alone, it can be said that I am passionate about software development using agile methodologies, career development for individual software engineers, and leading changes and improvements to the software development life cycle. In a nutshell, I want to lift up the engineers around me and show them how to improve themselves and the IT organization as a whole.</p>
<p><strong>What drives my economic engine?</strong> Currently my economic engine consists of working for private firms leading software development projects on business critical systems.</p>
<p><strong>What can I be best in the world at?</strong> This is probably the toughest question for me. There are definitely a lot of things I&#8217;m <em>good</em> at: software development, project management, team leadership, training and mentoring, documentation (just to name a few). But <em>best in the world</em>? That&#8217;s a pretty big set of shoes to fill. If there were something I wanted to be world-renowned for, I suppose I would want to be seen as the premier person for leading and growing other software engineers from the ground up. I want to be the gardener for your engineering seedlings.</p>
<p>So where do these intersect? What is my personal hedgehog?</p>
<p>My own boss asked me a very similar question a few months ago, about what I thought my ideal role would be. The best way I could describe it was to call myself a <em>developer advocate</em>.</p>
<p>In short, I want to be in a position where I can lead other software engineers to greater success. I want to help them implement agile methodologies and improve output. I want to help them identify career goals and elements for personal growth. I want to provide highly technical training for those who need it. I want to turn junior developers into senior developers. I want to instill passion in others so that they take pride in the work they do and have a greater desire to produce quality work instead of &#8220;just good enough.&#8221; I want to cut away the fat from IT organizations as a whole so that people can actually get quality work done ahead of schedule and under budget.</p>
<p>So have I achieved my personal hedgehog? Not yet, but many of the pieces are falling into place. I think I&#8217;ve finally managed to put myself in a position where I could achieve these goals within the next 1 or 2 years. It will certainly be interesting to revisit my personal hedgehog in that timeframe.</p>
]]></content:encoded>
			<wfw:commentRss>http://heathermclean.net/2008/11/my-personal-hedgehog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
