<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Reed Me : developers</title><link>http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx</link><description>Tags: developers</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Do we really need a manifesto for software craftsmanship?</title><link>http://blogs.msdn.com/reedme/archive/2009/03/11/do-we-really-need-a-manifesto-for-software-craftsmanship.aspx</link><pubDate>Thu, 12 Mar 2009 02:28:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9471121</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/9471121.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=9471121</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=9471121</wfw:comment><description>&lt;p&gt;This seems like a reaction to, maybe an extension of, the Agile Manifesto. I don’t see anything that I object to, but maybe that’s just because I (and the teams I lead who adopted and signed the Agile Manifesto) believed those “implementation details” were already covered.&lt;/p&gt;  &lt;blockquote&gt;   &lt;ul&gt;     &lt;li&gt;Not only working software, but also well-crafted software&lt;/li&gt;      &lt;li&gt;Not only responding to change, but also steadily adding value&lt;/li&gt;      &lt;li&gt;Not only individuals and interactions, but also a community of professionals&lt;/li&gt;      &lt;li&gt;Not only customer collaboration, but also productive partnerships&lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://manifesto.softwarecraftsmanship.org/" target="_blank"&gt;Manifesto for Software Craftsmanship&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Can’t hurt, I guess, since some people need to have every little detail spelled out for them.&lt;/p&gt;  &lt;p&gt;Comparing the state of the art of software development to where it was before the “agile revolution”, I think we’ve come a long, long way!!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9471121" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/agile/default.aspx">agile</category><category domain="http://blogs.msdn.com/reedme/archive/tags/software/default.aspx">software</category></item><item><title>Pirates are customers, too?</title><link>http://blogs.msdn.com/reedme/archive/2009/01/19/pirates-are-customers-too.aspx</link><pubDate>Mon, 19 Jan 2009 20:17:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9340377</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/9340377.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=9340377</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=9340377</wfw:comment><description>&lt;p&gt;Leave it to Valve to find the sunny side of piracy.&lt;/p&gt;  &lt;blockquote&gt;&lt;em&gt;&amp;quot;We take all of our games day-and-date to Russia,&amp;quot; Holtman said. &amp;quot;The reason people pirated things in Russia is because Russians are reading magazines and watching television. They say 'Man, I want to play that game so bad,' but the publishers respond 'you can play that game in six months...maybe.' &amp;quot; &lt;/em&gt;&lt;a href="http://www.1up.com/do/newsStory?cId=3172345" target="_blank"&gt;Valve Says Pirates Are Just Underserved Customers (1UP.com)&lt;/a&gt;&lt;/blockquote&gt;  &lt;p&gt;It would be interesting to know what additional costs they incurred to sim ship localized product and how it compared with the additional real gains/imaginary losses associated with piracy. Was it more of a schedule slip? Earlier spent loc cost? Just curious...&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9340377" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/video+games/default.aspx">video games</category><category domain="http://blogs.msdn.com/reedme/archive/tags/gaming/default.aspx">gaming</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/piracy/default.aspx">piracy</category><category domain="http://blogs.msdn.com/reedme/archive/tags/localization/default.aspx">localization</category></item><item><title>Self-fulfilling prophecies in computer science education?</title><link>http://blogs.msdn.com/reedme/archive/2008/12/11/self-fulfilling-prophecies-in-computer-science-education.aspx</link><pubDate>Fri, 12 Dec 2008 00:38:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9198419</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/9198419.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=9198419</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=9198419</wfw:comment><description>&lt;p&gt;Everybody has heroes. Bjarne is one of mine. If I have to explain why to you, then you wouldn’t understand even if I did try to ‘splain it. Heh. (That comment will be funnier later in this post, if you like irony.)&lt;/p&gt;  &lt;p&gt;I’ve done some recruiting events for Microsoft at my alma mater (the University of Houston) and I’ve done my best to influence lots of younger folks to get into computer science, and my experience tracks very closely to what Bjarne describes in this great interview:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;[James:] In this interview he speaks frankly about the challenges and problems – and improvements being made – in computer science programs. Among issues like perceptions of offshoring and the need to balance the theoretical with the practical, he addresses complaints by tech companies about the lack of fully qualified CS graduates.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;...&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;[Bjarne:] The US industry could absorb more good developers than there are currently students enrolled in IT-related programs – but not all of those programs and all of those students would qualify as “good” in this context. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;a href="http://itmanagement.earthweb.com/features/article.php/3789981" target="_blank"&gt;Bjarne Stroustrup on Educating Software Developers&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Personally, I think “we” (culturally, IT-oriented companies, etc) are going to have to staff jobs with less-than-ideal candidates and train them up rather than count on young kids to bet their futures and careers on computer science education. I was involved with a tax-incented project to provide technical support services back in the ‘90s; it was a project much like the one that I’m proposing, except that more training would be required for my program to turn non-geeks into coders, programmers and someday developers. Interesting. Have I changed my position on fungibility?&lt;/p&gt;  &lt;p&gt;The outcome of the project/company (which shall remain nameless) wasn’t any better or worse than the other classic “professional” IT projects/companies that I’ve been involved with, and more successful than most in the long run. &lt;/p&gt;  &lt;p&gt;I realize that risk averse companies aren’t likely to try out my rural sourcing ideas (management just thinks I want an excuse to work from a mountain top in Wyoming), so when I’ve accumulated enough capital, I guess I’ll have to try it out myself. The potential upside is good, both tangible and intangible. I especially enjoy seeing people succeed at tasks that they didn’t believe that they could accomplish… all it usually takes is a little encouragement and an opportunity!&lt;/p&gt;  &lt;p&gt;In the meantime, I’m glad that smart people like Bjarne are out there working on changing the nature of the self-fulfilling prophecy so that it’s a prophecy that we actually want to come true!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9198419" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/fungibility/default.aspx">fungibility</category><category domain="http://blogs.msdn.com/reedme/archive/tags/funge/default.aspx">funge</category><category domain="http://blogs.msdn.com/reedme/archive/tags/skillz/default.aspx">skillz</category><category domain="http://blogs.msdn.com/reedme/archive/tags/education/default.aspx">education</category><category domain="http://blogs.msdn.com/reedme/archive/tags/computer+science/default.aspx">computer science</category></item><item><title>Voice Command: FORMAT C: [ENTER]</title><link>http://blogs.msdn.com/reedme/archive/2008/11/11/voice-command-format-c-enter.aspx</link><pubDate>Tue, 11 Nov 2008 20:40:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9060543</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/9060543.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=9060543</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=9060543</wfw:comment><description>&lt;p&gt;Well, that’s how the joke used to go about Vista voice command... Apparently somebody thought it would be fun to actually implement something similar in their mobile o/s. On purpose or not. Heh.&lt;/p&gt;  &lt;blockquote&gt;&lt;em&gt;The bug can hardly be called a security problem, given it requires access to the handset, but the fact that until the fix was issued today any G1 user typing a text message containing the word &amp;quot;reboot&amp;quot; would see their phone resetting is truly stunning... &lt;/em&gt;&lt;a href="http://www.theregister.co.uk/2008/11/10/android_bug/"&gt;Google fixes world's most stupid bug • The Register&lt;/a&gt;&lt;/blockquote&gt;  &lt;p&gt;It’s hard to imagine why one would use the same editor/parser for text messages that is used for phone commands, or have a text sink that hooks in at the system level and parses commands out of all input, but... it’s funny either way. I love the Law of Unintended Consequences™.&lt;/p&gt;  &lt;p&gt;As often as I have to reboot my own mobile phone, a voice command for doing this would save me from having to pop the battery off so often. &lt;font face="Courier New" color="#008000" size="2"&gt;&lt;strong&gt;&amp;lt;envy /&amp;gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9060543" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/security/default.aspx">security</category><category domain="http://blogs.msdn.com/reedme/archive/tags/gadgets/default.aspx">gadgets</category><category domain="http://blogs.msdn.com/reedme/archive/tags/geek+humor/default.aspx">geek humor</category><category domain="http://blogs.msdn.com/reedme/archive/tags/mobile+computing/default.aspx">mobile computing</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/gadget/default.aspx">gadget</category><category domain="http://blogs.msdn.com/reedme/archive/tags/You_2700_re+doing+it+wrong_2100_/default.aspx">You're doing it wrong!</category></item><item><title>Developers MERGE thyselves?</title><link>http://blogs.msdn.com/reedme/archive/2008/10/31/developers-merge-thyselves.aspx</link><pubDate>Sat, 01 Nov 2008 02:05:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9027449</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/9027449.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=9027449</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=9027449</wfw:comment><description>&lt;p&gt;I was reading this CIO.com article a while back and wondering if “database developers” and “regular developers” agree.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;As Microsoft sees it, the roles of the database-centric developer and &amp;quot;regular&amp;quot; developer are less distinct than they once were, so the company is merging its VSTS database and development products. As of October 1, those who belong to the Microsoft Developer Network (MSDN) and currently own Visual Studio Team System 2008 Development Edition or Visual Studio Team System 2008 Database Edition will receive for free the Visual Studio Team System 2008 Development Edition, Visual Studio Team System 2008 Database Edition, Visual Studio 2005 Team System for Software Developers and Visual Studio 2005 Team System for Database Professionals. &lt;/em&gt;&lt;a href="http://www.cio.com/article/print/451622" target="_blank"&gt;(CIO.com)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Is it really that simple? Or will it be in the future? Are all (or most) “regular” developers also database developers? And vice versa? Hmmm.&lt;/p&gt;  &lt;p&gt;The whole imaginary syntax probably looks something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;&lt;font color="#0000ff"&gt;MERGE &lt;/font&gt;Developers.All_Developers &lt;font color="#0000ff"&gt;AS&lt;/font&gt; target         &lt;br /&gt;&lt;font color="#0000ff"&gt;USING          &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160; (         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;SELECT&lt;/font&gt;         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; COALESCE(dbds.DeveloperId, rds.DeveloperId) &lt;font color="#0000ff"&gt;AS&lt;/font&gt; DeveloperId         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,COALESCE(dbds.FullName, rds.FullName) &lt;font color="#0000ff"&gt;AS&lt;/font&gt; FullName         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,COALESCE(dbds.IsActive, rds.IsActive) &lt;font color="#0000ff"&gt;AS&lt;/font&gt; IsActive         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;FROM&lt;/font&gt; Developers.Database_Developers &lt;font color="#0000ff"&gt;AS&lt;/font&gt; dbds         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;FULL OUTER JOIN&lt;/font&gt; Developers.Regular_Developers &lt;font color="#0000ff"&gt;AS&lt;/font&gt; rds         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;font color="#0000ff"&gt;ON&lt;/font&gt; dbds.DeveloperID = rds.DeveloperID         &lt;br /&gt;&lt;font color="#0000ff"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; GROUP BY COALESCE&lt;/font&gt;(dbds.DeveloperId, rds.DeveloperId)         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; ) &lt;font color="#0000ff"&gt;AS&lt;/font&gt; source (DeveloperId, FullName, IsActive)         &lt;br /&gt;&lt;font color="#0000ff"&gt;ON&lt;/font&gt; (target.DeveloperId = source.DeveloperId)         &lt;br /&gt;&lt;font color="#0000ff"&gt;WHEN MATCHED          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; THEN UPDATE SET           &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; target.IsActive = source.IsActive         &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,target.FullName = target.FullName         &lt;br /&gt;&lt;font color="#0000ff"&gt;WHEN NOT MATCHED          &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; THEN INSERT &lt;/font&gt;(DeveloperId,FullName,IsActive) &lt;font color="#0000ff"&gt;VALUES          &lt;br /&gt;&lt;/font&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;font face="Courier New"&gt;(source.DeveloperId,source.FullName,source.IsActive)        &lt;br /&gt;;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Seems complicated to me… for imaginary syntax of imaginary data constructs. Feel free to nitpick imaginary flaws in it.&lt;/p&gt;  &lt;p&gt;Of course, YMMV.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9027449" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/Data+Dude/default.aspx">Data Dude</category><category domain="http://blogs.msdn.com/reedme/archive/tags/Visual+Studio+Team+Edition+for+Database+Professionals/default.aspx">Visual Studio Team Edition for Database Professionals</category><category domain="http://blogs.msdn.com/reedme/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.msdn.com/reedme/archive/tags/DBPro/default.aspx">DBPro</category><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category></item><item><title>I’ve had data days like that...</title><link>http://blogs.msdn.com/reedme/archive/2008/09/26/i-ve-had-data-days-like-that.aspx</link><pubDate>Sat, 27 Sep 2008 01:22:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8967099</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/8967099.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=8967099</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=8967099</wfw:comment><description>&lt;p&gt;Brian Walker has a good pair of articles on Thou Shalt Nots™:&lt;/p&gt;  &lt;blockquote&gt;&lt;em&gt;I had the chance to examine three business databases in five weeks and I'm still staggered by what I found. These are SQL Server databases serving as critical business foundations for companies generating millions of dollars in revenue per year. Every day, hundreds of employees are counting on these databases to deliver accuracy, stability and performance. Personally, I would not trust these databases to store a simple catalog of the 2,600 songs on my iPod. &lt;/em&gt;&lt;a href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1330404,00.html" target="_blank"&gt;SQL Server database design disasters: What not to do (Part 1)&lt;/a&gt;&lt;/blockquote&gt;  &lt;p&gt;If any part of his article makes no sense to you, please do NOT participate in data modeling activities. Really. For the good of the children. Just don’t.&lt;/p&gt;  &lt;p&gt;If he’s describing YOUR database project, I just want to say: “You’re doing it wrong!”&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Do not assume that a typical DBA is a database developer. They are not the same thing. Their work may overlap somewhat, but they need different skills. &lt;/em&gt;&lt;a title="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1332005,00.html" href="http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1332005,00.html" target="_blank"&gt;SQL Server database design disasters: How it all starts (Part 2)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If your database developers are ALSO your production DBAs: “You’re doing it wrong!”&lt;/p&gt;  &lt;p&gt;[Thanks, Brian. You’ve helped me added at least two new questions to my list of things to ask future employers before I take a new job…]&lt;/p&gt;  &lt;p&gt;FOTR, if anybody writes new, untested SQL queries against a production database to gather reporting data for management, or you don’t have a change management process for production, including a runbook describing normal operating and HA/DR procedures, etc, then: “You’re doing it wrong!”&lt;/p&gt;  &lt;p&gt;Props to Steve Jones and the crew @ &lt;a title="http://www.sqlservercentral.com/" href="http://www.sqlservercentral.com/" target="_blank"&gt;http://www.sqlservercentral.com/&lt;/a&gt; for linking up Brian’s great articles, or it might’ve been even longer before I noticed them.&lt;/p&gt;  &lt;p&gt;For a humorous analogy about “doing it wrong” that you could use this &lt;a href="http://xkcd.com/463/" target="_blank"&gt;XKCD comic&lt;/a&gt; to create an “HR incident” or “career limiting move.” You’re on your own if you run afoul of the analogy police.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8967099" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/consulting/default.aspx">consulting</category><category domain="http://blogs.msdn.com/reedme/archive/tags/data+modeling/default.aspx">data modeling</category><category domain="http://blogs.msdn.com/reedme/archive/tags/database+design/default.aspx">database design</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/operational+maturity/default.aspx">operational maturity</category><category domain="http://blogs.msdn.com/reedme/archive/tags/You_2700_re+doing+it+wrong_2100_/default.aspx">You're doing it wrong!</category></item><item><title>Can you tell a great architect from a bad one?</title><link>http://blogs.msdn.com/reedme/archive/2008/07/11/can-you-tell-a-great-architect-from-a-bad-one.aspx</link><pubDate>Fri, 11 Jul 2008 21:24:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8721815</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/8721815.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=8721815</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=8721815</wfw:comment><description>&lt;p&gt;Since I'm going to be sitting as a panel member on an MCA review board soon, I'd like to think I can, but apparently some researchers are having trouble... &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Highly capable designers have an incentive to choose somewhat more difficult designs to better prove their talent, while less-capable designers have an incentive to choose highly difficult designs to obfuscate their lack of talent, Prof. Siemsen concludes.       &lt;br /&gt;&lt;/em&gt;&lt;a href="http://www.sciencedaily.com/releases/2008/05/080519135116.htm"&gt;Software Designers Strut Their Talent At Cost Of Profit, Says Study&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This doesn't even get into the real reasons (Second System Syndrome&amp;#8482;, Perfect System Syndrome&amp;#8482;, Repeat Business Syndrome&amp;#8482;, etc)... It seems to lay the blame at the feet of career concerns, but I'm not entirely sure that's the whole picture, especially when consultants get involved.&lt;/p&gt;  &lt;p&gt;Irreducible complexity does exist, but if it seems Too Complicated&amp;#8482;, it probably is, and you're probably Doing It Wrong&amp;#8482;.&lt;/p&gt;  &lt;p&gt;Great architects do The Right Thing&amp;#8482; for their companies or clients: a design that's as simple as possible, and no simpler.&lt;/p&gt;  &lt;p&gt;Consultants: You'll never run out of repeat business from satisfied customers if you leave them with something that does what they need AND that they can maintain themselves. I always used to announce during project kick-off meetings, &amp;quot;I am leaving in X days/months/weeks. One of my goals is that you be able to absorb and maintain the deliverables that I'm leaving behind, so if it doesn't compute while we're working together, ASK me to explain it and WRITE down the answers so that you can retain the knowledge for your company.&amp;quot;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8721815" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/consulting/default.aspx">consulting</category><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/fungibility/default.aspx">fungibility</category><category domain="http://blogs.msdn.com/reedme/archive/tags/career/default.aspx">career</category><category domain="http://blogs.msdn.com/reedme/archive/tags/office/default.aspx">office</category></item><item><title>Gender neutral code? Srsly?</title><link>http://blogs.msdn.com/reedme/archive/2008/06/30/gender-neutral-code-srsly.aspx</link><pubDate>Tue, 01 Jul 2008 02:18:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8673827</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/8673827.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=8673827</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=8673827</wfw:comment><description>&lt;p&gt;Admittedly being from Mars, my reaction to the this little piece is predictable... I won't bore you with my witty repartee (yes, that's a redundant phrase) involving Emma, my code and a kitchen. (Yes, I'm pretty much overdue for sensitivity training, and when my wife reads this, I'll be back in the doghouse for a while.) I'm not saying that there isn't some validity to stereotypes, but... [Our test build process takes an hour, so I've got time.]&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://blogs.wsj.com/biztech/2008/06/06/men-write-code-from-mars-women-write-more-helpful-code-from-venus/print/" target="_blank"&gt;Emma says: Men Write Code from Mars, Women Write More Helpful Code from Venus (wsj.com)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Following her logic, maybe bugs are like car accidents? Women have lower car insurance rates because even though they tend to have more accidents than men do, BUT men &amp;quot;do it right&amp;quot; and have much more damaging and expensive accidents... and therefore get spanked with larger insurance premiums. Nah, let's not go there with software bugs. The diversity police already have too many excuses to visit my office.&lt;/p&gt;  &lt;p&gt;It's not just that Emma's premise and mathematics are bogus, but... As a long-time subscriber to the &amp;quot;&lt;a href="http://www.perforce.com/perforce/papers/prettycode.html" target="_blank"&gt;Pillars of Pretty Code&lt;/a&gt;&amp;quot; philosophy who focused more on maintainability when training my development staff (in previous lives when I was a dev manager), I'm offended by her stereotyping of male coders!! (Heh. It's fun that it's my turn to be &amp;quot;offended&amp;quot; by gendertyping.) &lt;/p&gt;  &lt;p&gt;While I'm not a pretty code nazi (it feels odd to have to say that), transparency of the program logic is of paramount importance to maintainability. If you think your code is disposable and nobody will ever have to/want to maintain it, why aren't you writing it in Visual Basic? But I digress...&lt;/p&gt;  &lt;p&gt;Back to Emma. Her math is screwy. She says she can &amp;quot;guess&amp;quot; 70% to 80% of the time whether code is written by a man or a woman. That's a sucker bet. Since far more than 80% of the code in the Known Universe&amp;#8482; is written by men... All she has to do is &amp;quot;guess&amp;quot; male every time to hit better than 80%!!! If she's below 80%, then her analytical abilities are conceivably flawed. Doh!&lt;/p&gt;  &lt;p&gt;Besides, some of the female coders that worked for me in previously lives wrote the most crazy, obfuscated, unselfdocumenting code I'd ever seen until I taught them better. (Let's hope they retained the skill after I moved on.) I'd go ever further and point out that most of the &amp;quot;boys&amp;quot; did, too. Can't we all just get along and agree that &amp;quot;people&amp;quot; write hard-to-maintain code until they're taught better? Please?&lt;/p&gt;  &lt;p&gt;And now I work with a female coder on my team these days (&lt;a href="http://blogs.msdn.com/bonniefe/" target="_blank"&gt;Bonnie&lt;/a&gt;) and she says that Emma's full of [it]... So there! (Double heh.)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8673827" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/gambling/default.aspx">gambling</category><category domain="http://blogs.msdn.com/reedme/archive/tags/geek+humor/default.aspx">geek humor</category><category domain="http://blogs.msdn.com/reedme/archive/tags/awards/default.aspx">awards</category><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/psychic/default.aspx">psychic</category><category domain="http://blogs.msdn.com/reedme/archive/tags/weird/default.aspx">weird</category></item><item><title>Cool (Free, Open) Tools: SQL RSS</title><link>http://blogs.msdn.com/reedme/archive/2008/06/23/cool-free-open-tools-sql-rss.aspx</link><pubDate>Mon, 23 Jun 2008 23:15:40 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8643627</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/8643627.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=8643627</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=8643627</wfw:comment><description>&lt;p&gt;Even if nobody has asked you for an RSS feed of data in one or more of your databases, it won't be long before they do! When they do, you can grab this configurable, easy to use data-driven RSS feed widget.&lt;/p&gt;  &lt;p&gt;A couple ideas for using this application:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Business intelligence updates delivered to Microsoft Outlook 2007 for management.&lt;/li&gt;    &lt;li&gt;Proactive application event logs to your Vista Sidebar news gadget FTW!&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I'm sure you can think of more... Check it out!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codeplex.com/SQLRSS"&gt;SQL RSS on CodePlex.com (Microsoft SQL Server Community &amp;amp; Samples)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It's also a great way to get a solid introduction to these technologies:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Change Data Tracking (CDT) feature of SQL Server 2008&lt;/li&gt;    &lt;li&gt;SQL Server Reporting Services&lt;/li&gt;    &lt;li&gt;The syndication feed feature of WCF&lt;/li&gt;    &lt;li&gt;LINQ to XML&lt;/li&gt;    &lt;li&gt;ADO.NET&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Join us!&lt;/strong&gt;    &lt;br /&gt;This project is a bit different than other SQL Server-sponsored projects. We want YOU to contribute to it. We are actively seeking other people (i.e. not on my team) to enhance and grow this project. Whether you work for Microsoft or not, &lt;a href="http://blogs.msdn.com/reedme/contact.aspx"&gt;let us know&lt;/a&gt; if you'd like to help!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8643627" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/database/default.aspx">database</category><category domain="http://blogs.msdn.com/reedme/archive/tags/community+development/default.aspx">community development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/samples/default.aspx">samples</category><category domain="http://blogs.msdn.com/reedme/archive/tags/free+stuff/default.aspx">free stuff</category><category domain="http://blogs.msdn.com/reedme/archive/tags/CodePlex/default.aspx">CodePlex</category><category domain="http://blogs.msdn.com/reedme/archive/tags/AdventureWorks/default.aspx">AdventureWorks</category><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/open+source/default.aspx">open source</category><category domain="http://blogs.msdn.com/reedme/archive/tags/BI/default.aspx">BI</category><category domain="http://blogs.msdn.com/reedme/archive/tags/business+intelligence/default.aspx">business intelligence</category></item><item><title>XNA to the n-th power trumps Gears of War 2 trailer?</title><link>http://blogs.msdn.com/reedme/archive/2008/02/21/xna-to-the-n-th-power-trumps-gears-of-war-2-trailer.aspx</link><pubDate>Fri, 22 Feb 2008 02:19:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7842861</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/7842861.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=7842861</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=7842861</wfw:comment><description>&lt;p&gt;I've been a closet XNA fan for a while. I've been lurking and watching to see how they plan solve some really hard user-generated content problems...&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&amp;#8220;The time has come for the games industry to open its doors to all game creators, enabling anyone to share their creations with the world,&amp;#8221; said Schappert. &amp;#8220;Our goal is to drive a creative and social revolution in games with the same transformative power that we&amp;#8217;ve seen in digital music and video sharing.&amp;#8221;       &lt;br /&gt;&lt;/em&gt;&lt;a href="http://www.msnbc.msn.com/id/23262740/"&gt;Microsoft looks to 'community' for new games (msnbc.com)&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;It seems like they've got some &lt;a href="http://creators.xna.com/whatsnew.aspx"&gt;great solutions&lt;/a&gt;. Time to dust off the game proposals that I made my kids write* and actually sling some code under them...&lt;/p&gt;  &lt;p&gt;Watched the GoW2 trailer last night on XBL. Several times. Since we couldn't see the lunar eclipse for all the freaking cloud cover!! I hope the new &amp;quot;chainsaw uppercut&amp;quot; is a move they're modeling for the actual game. Very cool.&lt;/p&gt;  &lt;p&gt;Both are great new announcements!&lt;/p&gt;  &lt;p&gt;In unrelated news, I'm still trying to get excited about &lt;em&gt;Too Human&lt;/em&gt;, but I'm still chasing all the &lt;em&gt;Mass Effect&lt;/em&gt; achievements (almost done with Medal of Valor on insanity; just got Krogan Ally and Sentinel Ally on the insanity playthrough) and I'll probably get distracted by &lt;em&gt;Lost Odyssey&lt;/em&gt; if I can get my copy before the company store runs out today. I'm frightened by the fact that &lt;em&gt;Too Human&lt;/em&gt; is already planned to be a trilogy. But since I already know that the first DLC for &lt;em&gt;Mass Effect&lt;/em&gt; called &lt;a href="http://kotaku.com/353296/mass-effect-dlc-brings-batarians-to-the-mix"&gt;&amp;quot;Bring the Sky Down&amp;quot;&lt;/a&gt; is scheduled for March 10, I'd better hurry up and snag all the achievements this week. So much for that plan to get to the gym and get back in shape some day, the webernets keep getting in the way... Ooh, &lt;a href="http://xbox.icmsp.com/xbox/sx333982xsen/ct/gdp_mass.cml"&gt;shiny object&lt;/a&gt;!!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;* Being a mean, ogre-type parent of homeschoolers, I treat everything as a &amp;quot;teachable moment&amp;quot; or a &amp;quot;learning opportunity.&amp;quot; Heh! They wrote pretty good business plans for what they wanted to spend their allowance money on, considering the older two are 8 and 9.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7842861" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.msdn.com/reedme/archive/tags/video+games/default.aspx">video games</category><category domain="http://blogs.msdn.com/reedme/archive/tags/Xbox/default.aspx">Xbox</category><category domain="http://blogs.msdn.com/reedme/archive/tags/gaming/default.aspx">gaming</category><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category></item><item><title>Are you fungible? Or are you a funge?</title><link>http://blogs.msdn.com/reedme/archive/2008/02/07/are-you-fungible-or-are-you-a-funge.aspx</link><pubDate>Fri, 08 Feb 2008 02:53:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7529321</guid><dc:creator>reedme</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/reedme/comments/7529321.aspx</comments><wfw:commentRss>http://blogs.msdn.com/reedme/commentrss.aspx?PostID=7529321</wfw:commentRss><wfw:comment>http://blogs.msdn.com/reedme/rsscomments.aspx?PostID=7529321</wfw:comment><description>&lt;p&gt;A flamewar that I've been having with Steve (over @ &lt;a href="http://www.sqlservercentral.com/"&gt;SQLServerCentral.com&lt;/a&gt;) got me thinking about developer fungibility again. It was something that I struggled with when managing teams of developers in previous lives. (Thankfully, I don't manage anybody anymore. Not even me. Heh.)&lt;/p&gt;  &lt;p&gt;It almost seems like humans (at least those in IT) have a natural tendency toward insectlike specialization in skills and behavior. Whether it's an aversion to continuous learning or the comfort of being an expert within a niche, I'm not sure. Maybe multiple reasons. I'll leave it to the colleges of education and organizational learning to NOT figure it out. [Please ignore the author's personal biases. -ed]&lt;/p&gt;  &lt;p&gt;What worked for us (in one previous life) was a hybrid approach to agile development that combined XP and Scrum seemed to help keep my developers working as generalists across the entire codebase (~150M lines of code). They still had to be prodded to &amp;quot;volunteer&amp;quot; for tasks in areas of the codebase that they weren't familiar with, but... It was good to be the boss! Now, remember that this was back in 2000 and following, before &amp;quot;agile&amp;quot; became a cool buzzword... and there was both senior management and developer resistance to it, which I didn't entirely understand.&lt;/p&gt;  &lt;p&gt;Management seems schizophrenic about developer fungibility, or perhaps just doesn't understand the learning cost of deep expertise in an individual technology. Managers want to be able to plug any developer into any task and get results; at the same time, managers want to be able to pigeonhole skill sets to make them easier to check off on an HR worksheet as needed. Seems to be orthogonal to me, but... both desires seem to be a fundamental desire for simplicity in managing developers. Since you can't have both, it would seem to behoove management to require developers to rotate around and not become insects. It's really difficult to interview for fungibility, though. Especially since it's not a word commonly taught outside of MBA school.&lt;/p&gt;  &lt;p&gt;Developers, on the other hand, don't seem to have any ambiguity about it. They/we (in large part, not all of them/us) are averse to constantly learning new things. It takes time. It doesn't seem to have measurable value. And it's got a shelf-life. If you don't believe me, you've never dusted off code that you wrote a year ago and wonder &amp;quot;who was smokin' what when they wrote THAT&amp;quot;? Of course, check-in comments don't lie (about who did the check-in). Despite the fact that a fungible developer is more valuable to an organization long-term, the incentive to overspecialize is still strong. While the talented geek pool is still too small for the demand, it will take an individual choice not market forces to change the behavior of the developer population. Don't believe me? There are still companies hiring COBOL programmers and developers who refuse to write anything but command-line interfaces...&lt;/p&gt;  &lt;p&gt;Not sure where I was going with this or why I started, but I guess that's normal... Hrm. Maybe it resonated because I've seen a lot of developer behavior lately that seems to be a bias toward insectlike specialization with absolutely no interest in things that aren't in a specific, narrow niche. To the degree where it even influences product direction. Things outside the &amp;quot;known&amp;quot; are apparently scary to many people. Don't look out the windows! (Take the pun any way you like.)&lt;/p&gt;  &lt;p&gt;In Dave's perfect world, management needs to tell HR to get stuffed and figure out how to interview for general talent and the ability to learn quickly AND developers need to actively seek positions where they'll constantly be challenged with new and different work. But nobody asked for my opinion. You get what you paid for it!&lt;/p&gt;  &lt;p&gt;I personally don't want to go the way of the typewriter repairman, which is why I'm always trying to be at the leading edge; and I actually happen to enjoy learning new stuff and plumbing the depths of other peoples' code, but I wish that more prospective employees did -- because someday I'll probably start another technology company and be looking to hire some fungible developers and I hope by then that the colleges and universities are turning out lots and lots more flexible-thinking coders.&lt;/p&gt;  &lt;p&gt;Yes, they're both words. It's called a vocabulary. Look it up! :-P &lt;a href="http://dictionary.reference.com/browse/fungible"&gt;fungible&lt;/a&gt; | &lt;a href="http://dictionary.reference.com/browse/funge"&gt;funge&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7529321" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/reedme/archive/tags/development/default.aspx">development</category><category domain="http://blogs.msdn.com/reedme/archive/tags/developers/default.aspx">developers</category><category domain="http://blogs.msdn.com/reedme/archive/tags/fungibility/default.aspx">fungibility</category><category domain="http://blogs.msdn.com/reedme/archive/tags/funge/default.aspx">funge</category></item></channel></rss>