<?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>Ninja Monkeys! &#187; linkedin</title>
	<atom:link href="http://ninjamonkeys.co.za/tag/linkedin/feed/" rel="self" type="application/rss+xml" />
	<link>http://ninjamonkeys.co.za</link>
	<description>Killing boredom</description>
	<lastBuildDate>Wed, 25 Jan 2012 07:18:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How software developers work</title>
		<link>http://ninjamonkeys.co.za/2009/03/17/how-software-developers-work/</link>
		<comments>http://ninjamonkeys.co.za/2009/03/17/how-software-developers-work/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 07:14:38 +0000</pubDate>
		<dc:creator>Vaughn Dickson</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software-development]]></category>

		<guid isPermaLink="false">http://ninjamonkeys.co.za/?p=1084</guid>
		<description><![CDATA[Want to understand your software developers better? Here&#8217;s the one thing you need to understand above all else. Our work process is a dream. We have to build all the structures in our mind, piece by piece, and then translate them into code. Developers don&#8217;t just sit down, write out code using standardised formulas, and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/michaelwender/2203848180/"><img class="alignright size-thumbnail wp-image-1088" title="2203848180_52d8463505" src="http://ninjamonkeys.co.za/wp-content/uploads/2009/03/2203848180_52d8463505-150x112.jpg" alt="2203848180_52d8463505" width="150" height="112" /></a>Want to understand your software developers better? Here&#8217;s the one thing you <strong><em>need</em></strong> to understand above all else.</p>
<p>Our work process is a dream.</p>
<p>We have to build all the structures in our mind, piece by piece, and then translate them into code. Developers don&#8217;t just sit down, write out code using standardised formulas, and call it a day. No, we have to build an imaginary house of cards in our minds and then painstakingly transform every angle, force, and material into logic code, all without waking from the dream. It is a creative process, and one not easily replicated.</p>
<p>Now, imagine you were in deep sleep, dreaming away about apples at 3am, and I came bashing into your room and said &#8220;Sorry, but we need you to dream about bananas now.&#8221; Do you think you could go straight back to sleep in a few seconds, dream about bananas for a bit, and then jump back to your original dream about apples? No, of course not, but this is what managers expect when they throw new tasks at us while we&#8217;re busy coding the first one. When this happens we&#8217;ve lost the hours we&#8217;ve spent on the first dream, we&#8217;re completely lost for half an hour, and then we eventually manage to get into the new dream.</p>
<p>So please, if you want your developers to remain sane and productive do not wake them from their dream!</p>
<p>p.s. also make sure they&#8217;re not doing the same work year after year, there&#8217;s nothing that developers hate more than repeating themselves.</p>
<p>Update: On the internet, nothing is new: <a href="http://alexthunder.livejournal.com/309815.html">http://alexthunder.livejournal.com/309815.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ninjamonkeys.co.za/2009/03/17/how-software-developers-work/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The biggest problem with new programming languages</title>
		<link>http://ninjamonkeys.co.za/2009/03/11/the-biggest-problem-with-new-programming-languages/</link>
		<comments>http://ninjamonkeys.co.za/2009/03/11/the-biggest-problem-with-new-programming-languages/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 11:36:55 +0000</pubDate>
		<dc:creator>Vaughn Dickson</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[programming ramblings]]></category>

		<guid isPermaLink="false">http://ninjamonkeys.co.za/?p=1080</guid>
		<description><![CDATA[I love new programming languages. For each new language I grab a tutorial and jump in wholeheartedly, while exclaiming with glee every five minutes how much more productive it will make me, and then reality sets in. Reality is a bitch like that, and the reality here is that there is no simple code re-use [...]]]></description>
			<content:encoded><![CDATA[<p>I love new programming languages. For each new language I grab a tutorial and jump in wholeheartedly, while exclaiming with glee every five minutes how much more productive it will make me, and then reality sets in. Reality is a bitch like that, and the reality here is that there is no simple code re-use across languages. So every new programming language has to reinvent the wheel by building it&#8217;s own utilities, web frameworks, gui frameworks, and other crap that make us productive.</p>
<p>This is why software development is stuck, because for each leap in productivity we make, we shuffle backwards at high speed reinventing all the libraries that make us productive in crappy old Java and C++. Especially since it&#8217;s so much fun to rewrite an existing library in the latest language of choice and then shout about how many lines of code we&#8217;ve saved, when those lines should be added to the existing library&#8217;s code, e.g. old library X has 5k lines, we rewrite it as library Y in 1k lines, which equals 6k lines spent solving the same problem, totally unproductive.</p>
<p>So how do we allow new programming languages to flourish by standing on the shoulders of battle-hardened libraries instead of inventing their own? Run everything on a virtual machine like the Java VM? So far Jython and Scala look promising in how they (almost) seamlessly integrate with existing Java libraries, but what about integration between Jython and Scala libraries?</p>
<p>CORBA, SOA, REST, etc. just aren&#8217;t cutting it. The only really successful integration is the unix philosophy of &#8220;many small tools piped together using text&#8221;, but that doesn&#8217;t work with the guis, multimedia, networks, etc. we&#8217;re using today.</p>
<p>Any ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://ninjamonkeys.co.za/2009/03/11/the-biggest-problem-with-new-programming-languages/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

