<?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>willcodeforcoffee.com &#187; Personal</title>
	<atom:link href="http://willcodeforcoffee.com/category/personal/feed/" rel="self" type="application/rss+xml" />
	<link>http://willcodeforcoffee.com</link>
	<description>The personal programming blog of Eric Hoff.</description>
	<lastBuildDate>Tue, 02 Mar 2010 17:06:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A New Start, A New Discipline</title>
		<link>http://willcodeforcoffee.com/2009/09/14/a-new-start-a-new-discipline/</link>
		<comments>http://willcodeforcoffee.com/2009/09/14/a-new-start-a-new-discipline/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 23:34:08 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Starting Up]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=103</guid>
		<description><![CDATA[I am taking an even bigger picture look at the future of my career and the future of my company. I've still got a lot to look at, work on, and learn - but it is exciting.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working as a consultant for a few years now, and while I think I&#8217;ve enjoyed a fair bit of success, one thing that is missing for me is the ownership of the projects I&#8217;m working on. In the last two years I&#8217;ve worked on five or six different web sites and web applications: one was put on indefinite hiatus and I&#8217;m unsure of its current state, one was completed by another developer, and at least three were canceled just short of completion because of lack of funds. It&#8217;s the canceled projects that are the most discouraging because excellent progress was made and hard work was put into them, but now they are in limbo and out of my hands!</p>
<p><span id="more-103"></span></p>
<p>The lack of ownership bothers me, because what happens with those projects now? I would sure like to know! I spent long hours and some late nights on them, sometimes I was the only one working on them. Unfortunately I can&#8217;t see what happens now because those unfinished programs belong to my customers.</p>
<p>So (now that I am between unfinished projects) I have started working on some projects of my own. This has led me to learn some new things about myself. Working from home on my own projects requires so much discipline it is almost like learning a new job. I do allow myself opportunities to work on home projects, but I have to be really careful not to let things get out of hand. I don&#8217;t want to end up with more unfinished projects!</p>
<p>I&#8217;ve also been setting goals for myself as a new company. I&#8217;m hoping to start earning revenue through other streams besides just consulting. This is a daunting shift for me, especially because I&#8217;m not earning revenue while I&#8217;m developing right now. Hopefully some projects will start earning recurring money soon though. That means I have to set priorities.</p>
<p>I&#8217;m also giving myself some time every morning to evaluate or re-evaluate my goals and to setup tasks to achieve those goals. This is a little different from what I do while consulting for clients, when I would simply set tasks for the day or week in order to get the project done. Now I am taking an even bigger picture look at the future of my career and the future of my company. I&#8217;ve still got a <em>lot </em>to look at, work on, and learn &#8211; but it is exciting.</p>
<p>I&#8217;m also hoping that the next contracts I will work on will be for longer-term contracts. The last few were under six months, I&#8217;m hoping to find work on 9 month+, multi-developer contracts from now on so that I will not only have time to finish them but also work on some larger teams and take more of a leadership role rather than be the sole developer.</p>
<p>I&#8217;m also going to keep in mind that not every change is permanent! I&#8217;ll be evaluating what I&#8217;m working on daily to see what is working and what isn&#8217;t. It&#8217;s a sort-of &#8220;agile&#8221; way for me to treat my business, career and life! I&#8217;m excited and looking forward to the future.</p>
<p>Oh, and one more goal is to blog at least twice a week. I&#8217;ve made that promise to myself before, but this time I&#8217;m giving myself time to do it instead of trying to find time to do it in.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2009/09/14/a-new-start-a-new-discipline/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Project Wrapup</title>
		<link>http://willcodeforcoffee.com/2009/03/16/project-wrapup/</link>
		<comments>http://willcodeforcoffee.com/2009/03/16/project-wrapup/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 17:17:53 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=73</guid>
		<description><![CDATA[I just completed another project contract on Friday.  After decompressing over the weekend I wanted to write a few thoughts out about some of the successes and failures I&#8217;ve learned during this project. This project was a pretty good one.  Even though we put the application into production, the customer didn&#8217;t have enough money to [...]]]></description>
			<content:encoded><![CDATA[<p>I just completed another project contract on Friday.  After decompressing over the weekend I wanted to write a few thoughts out about some of the successes and failures I&#8217;ve learned during this project.</p>
<p><span id="more-73"></span>This project was a pretty good one.  Even though we put the application into production, the customer didn&#8217;t have enough money to keep me on long enough to finish the project in a state I would have been more happier with.  There were a few reasons for this I think: 1) the customer did not have a clear enough spec, in his mind, before I started, 2) the customer was too busy with other projects to give me enough attention and direction with the design, 3) the customer was too busy to help me get the application into a User Acceptance test site earlier than two days before the contract expired.  If we had a little more time, maybe one more month I think we could have turned the application into something excellent, and I could have seen it in use long enough to know if my design assumptions were good ones.</p>
<p>That said, I did spend a lot of time with one of the Users who was a database modelling expert.  I did learn a lot from him, and he really helped me understand more about what they were expecting as a customer.  Unfortunately he worked in another building, so access to him was severely limited too.</p>
<p>Another success was that this was my first ASP.NET MVC project to be deployed.  It was also my first use of NHibernate, which I also thought was very successful.  I also used jQuery and jQuery UI extensively for Web 2.0 stuff like dialogs (death to window.open!) and AJAX.  Those things were a lot of fun.</p>
<p>I also got to use a of new architectural planning and design (Domain Driven Design) pattern that I learned from a talk given by <a href="http://igloocoder.com/" target="_blank">Donald Belcham (aka The Igloo Coder)</a>.  I&#8217;ve been reading the <a href="http://www.amazon.ca/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215/" target="_blank">book by Eric Evans</a> as well.  This definitely seems like the new way to go.  DDD is about modelling your application and also about understanding the client&#8217;s needs.  I&#8217;m really impressed and eager to use it in future projects and products as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2009/03/16/project-wrapup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Those Dangerous UpdatePanels and &#8220;The Intern&#8221;</title>
		<link>http://willcodeforcoffee.com/2008/10/31/those-dangerous-updatepanels-and-the-intern/</link>
		<comments>http://willcodeforcoffee.com/2008/10/31/those-dangerous-updatepanels-and-the-intern/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 16:32:48 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/?p=49</guid>
		<description><![CDATA[At my current contract I am saddled working with an intern. He&#8217;s a bright kid, and he&#8217;s gone through three years of school, but I&#8217;m kind of staggered by how much he doesn&#8217;t actually know! Development is extremely difficult because he doesn&#8217;t know much about JavaScript, AJAX, jQuery, CSS styling and positioning, Web Services, C#, [...]]]></description>
			<content:encoded><![CDATA[<p>At my current contract I am <span style="text-decoration: line-through;">saddled</span> working with an intern. He&#8217;s a bright kid, and he&#8217;s gone through three years of <a href="http://nait.ca/" target="_blank">school</a>, but I&#8217;m kind of staggered by how much he doesn&#8217;t actually know! Development is extremely difficult because he doesn&#8217;t know much about JavaScript, AJAX, jQuery, CSS styling and positioning, Web Services, C#, UpdatePanels, LINQ, Ruby on Rails, MVC, DLL Libraries, ReSharper, and the list goes on and on! It&#8217;s hard to believe what eight years of experience teaches you, and I&#8217;m finding it difficult, and sometimes limiting because I have to move at a slower speed bringing him up to speed.</p>
<p>I was using some cool features of jQuery to do AJAX instead of using UpdatePanels, but when The Intern wanted to do some AJAX he got totally lost. In the end I taught him to use both jQuery and (<a href="http://willcodeforcoffee.com/2008/09/23/those-dangerous-updatepanels/" target="_blank">despite how dangerous it is)</a>, Ihow to use UpdatePanels.  In the end I encouraged him to use the UpdatePanel with his pages, read on to find out why.</p>
<p><span id="more-49"></span><strong>1.  Updating the DOM using jQuery and Web Services is an Advanced Skill</strong></p>
<p>Oh yes, both you and I can look at the code and figure out exactly what is happening.  We see the JS file linked in the ScriptManagerProxy control, we can follow the JavaScript code to the webservice call, and even more, but it is a <em>very</em> advanced skill.</p>
<p><strong>2.  Updating the DOM using jQuery and Web Services Reduced Maintainability</strong></p>
<p>Even with all of my knowledge, it&#8217;s still a long, messy trail of code until you get to the end (the web service). You&#8217;re crossing several files, including C#, ASPX, JavaScript, and ASMX files.  In my opinion this <em>drastically </em>decreases maintainability and makes the code much less readable and obvious to other .NET developers, even those who <strong>have</strong> read Encosia&#8217;s article.</p>
<p><strong>3.  Using UpdatePanels Doesn&#8217;t Change the ASP.NET PostBack Model</strong></p>
<p>The UpdatePanel is just another ASP.NET tag.  The PostBack model is retained, you still have Button OnClick events, you still have TextBox.Text, Page_Load etc. All of the code is still retained within one ASPX/ASPX.CS file pair. Almost any .NET developer, no matter how junior, should be able to follow this code. That makes the code maintainable.</p>
<p>In the end, even though jQuery will be shipping with future versions of ASP.NET, the .NET Framework, and Visual Studio, it&#8217;s still a relatively new concept. We need to proceed with it, but this is new ground so we have to blaze a trail that the slower movings guys can follow.</p>
<p>One of the big benefits we have as .NET developers is the <a href="http://msdn.microsoft.com/en-ca/library/default.aspx" target="_blank">MSDN Library</a>. I like to use MSDN as a scale for maintainability. If it is in MSDN then I consider it general knowledge that a new developer should know or be able to find easily. Otherwise I have to document it really well so that at least a mid-level developer should be able to figure out my application.</p>
<p>We have to be careful that the people maintaining the code behind us know what we&#8217;ve done, otherwise our awesome code gets rewritten by newb developers who can&#8217;t figure it out. If we can write maintainable code then hopefully the developers behind us will learn something and eventually become more advanced in their skills too.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2008/10/31/those-dangerous-updatepanels-and-the-intern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Farewell to Redengine</title>
		<link>http://willcodeforcoffee.com/2008/06/30/farewell-to-redengine/</link>
		<comments>http://willcodeforcoffee.com/2008/06/30/farewell-to-redengine/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 23:55:58 +0000</pubDate>
		<dc:creator>eric</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://willcodeforcoffee.com/2008/06/30/farewell-to-redengine/</guid>
		<description><![CDATA[Today marks the end of a six month contract with Redengine.&#160; It&#8217;s sad to leave, but I wish them the best with their future endeavors! I&#8217;ll be spending the summer looking for work, working on stuff around the house and on personal programming projects under Hoffsoft Consulting Services Corporation.]]></description>
			<content:encoded><![CDATA[<p>Today marks the end of a six month contract with <a href="http://redengine.com/" target="_blank">Redengine</a>.&#160; It&#8217;s sad to leave, but I wish them the best with their future endeavors!</p>
<p>I&#8217;ll be spending the summer looking for work, working on stuff around the house and on personal programming projects under <a href="http://hoffsoftcorp.com/" target="_blank">Hoffsoft Consulting Services Corporation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://willcodeforcoffee.com/2008/06/30/farewell-to-redengine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
