<?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>The Life Of A Radar &#187; Uncategorized</title>
	<atom:link href="http://ryanbigg.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://ryanbigg.com</link>
	<description>Life &#38; Everything Else</description>
	<lastBuildDate>Tue, 27 Jul 2010 10:12:11 +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>Helpdesk</title>
		<link>http://ryanbigg.com/2010/07/helpdesk/</link>
		<comments>http://ryanbigg.com/2010/07/helpdesk/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 10:09:50 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1069</guid>
		<description><![CDATA[I am your helpdesk. That&#8217;s right. Me. The Ruby programmer who works by day and writes by night and helps you out in between (and sometimes in dreams). You come to me with your computer troubles and most of the time you leave without them. I usually am quite happy to help you, but I [...]]]></description>
			<content:encoded><![CDATA[<p>I am your helpdesk.</p>

<p>That&#8217;s right. Me. The Ruby programmer who works by day and writes by night and helps you out in between (and sometimes in dreams).</p>

<p>You come to me with your computer troubles and most of the time you leave without them. I usually am quite happy to help you, but I must confess my motivations are entirely selfish. I help you to help me.</p>

<p>If you&#8217;ve got a problem and you don&#8217;t know how to fix it then you approach me (or in the case of my day job, one of the tech team). This is because I&#8217;m perceived to &#8220;know about computers&#8221; even though I specialise in Ruby and web development. Sometimes it&#8217;s not even computers. Sometimes your router was connecting to the internet and &#8220;now it just doesn&#8217;t, I did nothing I swear!&#8221;.</p>

<p>So you&#8217;ve got a problem. Ok. What&#8217;s the end goal? Are you trying to open a file? Connect to the internet? Build a death ray? Good. We&#8217;ve got that sorted. Ok, what could possibly be wrong? Is the file corrupt? Are the cables connected properly? Did you forget to turn it on?</p>

<p>I&#8217;ll go through the steps I know that should work because I&#8217;ve done this before. Why have I done it before? Because I&#8217;ve been there. Because I&#8217;ve seen someone else do it. Because I just have an uncanny knack for Figuring Shit Out. Somewhere along the line, something isn&#8217;t quite right. We&#8217;ll work through it and at the end of it I&#8217;ll explain what the problem was and you&#8217;ll nod your head in agreement and wait patiently for me to finish explaining things and then I&#8217;ll go away feeling like I&#8217;ve helped somebody.</p>

<p>Later on down the line when I encounter this issue, I&#8217;ll know how to fix it. Because I&#8217;ve been there before. By helping you, I help me.</p>

<p>So when the little prissy web developers tell stories of being approached by their computer-illiterate co-workers and being asked for help&#8230; they tell the story in such a fashion:</p>

<blockquote>But I&#8217;m a web developer, not helpdesk! Just because I know *something* about computers doesn&#8217;t mean I know everything! Why are they coming to me?</blockquote>

<p>Well listen up, softie. They&#8217;re coming to you because they respect your opinion. They think you have the brains required to solve this little issue and it shouldn&#8217;t be below you to help them out. </p>

<p>Do it. Contribute back to the world in that little fashion by showing them that the USB cable doesn&#8217;t go into the network plug (uh huh, I&#8217;ve seen it and check for it now) and that it actually goes in this smaller rectangular socket. And don&#8217;t do it condescendingly. Take them through the steps they need to know in order to fix it so that they can do it in the future and perhaps show somebody else.</p>

<p>Perhaps you&#8217;ll learn something in the process.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/07/helpdesk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I&#8217;m Wanted</title>
		<link>http://ryanbigg.com/2010/07/im-wanted/</link>
		<comments>http://ryanbigg.com/2010/07/im-wanted/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 10:29:43 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1058</guid>
		<description><![CDATA[Within 24 hours of announcing I left Mocra, I received many, many job offers and it astounded me. It astounded me that I was so wanted by people from around the world. They came from near and far and I ended up picking a 3 month contract with GetUp in Sydney. I loved what I [...]]]></description>
			<content:encoded><![CDATA[<p>Within 24 hours of announcing <a href='http://ryanbigg.com/2010/01/why-mocra-is-awesome/'>I left Mocra</a>, I received many, many job offers and it astounded me. It astounded me that I was so <strong>wanted</strong> by people from <strong>around the world</strong>.</p>

<p>They came from near and far and I ended up picking <a href='http://groups.google.com/group/rails-oceania/browse_thread/thread/ce9aa2e9a56f0ebe'>a 3 month contract with GetUp</a> in Sydney. I loved what I did at Mocra, but I love what I do at GetUp more. Both Mocra and GetUp are superb and really, really passionate about what they do.</p>

<p>I started on 22nd February and I&#8217;m still working there. What was originally a &#8220;3 month contract&#8221; has now turned into an 8-month contract, with the possibility of being extended even further than that. I&#8217;ve taught the team Ruby on Rails the best way I know how (inspired by Dr. Nic &amp; my experiences at Mocra) and we&#8217;re rockin&#8217;. Still. I get up (no pun intended) in the morning and go &#8220;I <strong>have</strong> to go to work&#8221; not &#8220;[groan] I <strong>have</strong> to go to work.&#8221; At least, most days.</p>

<p>Then in April, shortly after I return from Scotland, I get contacted by <a href='http://manning.com'>Manning Publications</a> who ask me to be a co-author for no book other than <a href='http://manning.com/katz'>Rails 3 in Action</a>. That morning I bounced off the walls. Overjoyed is an understatement. Think teen girl at Justin Bieber concert and you&#8217;re getting about a tenth of the way there. I love writing and I love teaching.</p>

<p>So I took that job up too, along with the GetUp job. It&#8217;s been a while since I&#8217;ve juggled two jobs (since my Coles/PHP freelancing days) but I&#8217;m handling it surprisingly well and I think it&#8217;s mostly in part to the awesome teams I work with for both of them.</p>

<p>But by the end of the year, there&#8217;s a huge chance that I&#8217;ll be done with both of them. I will have taught the GetUp team a lot of what I know about Ruby on Rails (and they&#8217;ll have taught me some too!) and I will have finished and published the book. </p>

<p>So then what? Well, that part&#8217;s up for debate. </p>

<p>On one hand, staying in Australia would be great because I have a lot of friends here and I&#8217;m generally well-known to get work if I need it. But you could apply that to the other hand too.</p>

<p>The other hand, I&#8217;m famous &#8220;online&#8221;. I even have <a href="http://twitpic.com/285uam">a shirt</a> that says it. I could probably get work anywhere in the world, and I&#8217;ve received a couple of offers from places like the US, Denmark, Scotland and London. But, these are all development-only jobs. I much prefer a decent mix of teaching and developing, or maybe even both at the same time. I feel by teaching new people that they will go out and teach more people. If I&#8217;m developing, I&#8217;m not widening the pool of available developers and not helping the community grow. This is something I really want to do.</p>

<p>What I&#8217;m looking for in a job <strong>isn&#8217;t full-time development</strong>. <u>My ideal &#8220;job&#8221; is going around the world teaching people about proper Ruby on Rails development and about proper Agile development.</u></p>

<p>I want to be able to teach people. To watch them grow. For them to say &#8216;aha!&#8217; when they finally get a concept. For them to teach me new things. For us to develop something really great.</p>

<p>For now, I am happy working at GetUp. If they want me to stay on longer then I&#8217;m very inclined to say yes. If they don&#8217;t, then it&#8217;s been fantastic.</p>

<p>My contract with GetUp runs out at the end of October. 3 months from now.</p>

<p>If you want me to help your team <a href='mailto:radarlistener@gmail.com'>now&#8217;s the time to let me know.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/07/im-wanted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GoGaRuCo</title>
		<link>http://ryanbigg.com/2010/07/gogaruco/</link>
		<comments>http://ryanbigg.com/2010/07/gogaruco/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 09:46:12 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1056</guid>
		<description><![CDATA[After going to Scotland in March and attending the very awesome Scottish Ruby Conference I still feel like travelling. For quite a long time I&#8217;ve wanted to go to San Francisco and check out the Ruby scene there and I also have a couple of people who I&#8217;d love to catch up with in other [...]]]></description>
			<content:encoded><![CDATA[<p>After going to Scotland in March and attending the very awesome Scottish Ruby Conference I still feel like travelling. For quite a long time I&#8217;ve wanted to go to San Francisco and check out the Ruby scene there and I also have a couple of people who I&#8217;d love to catch up with in other parts of the country. So I&#8217;m going to be doing an &#8220;American tour&#8221;.</p>

<p>I&#8217;m thinking of flying in on the 15th September, staying for 2 weeks and leaving on the 29th or 30th. So far I&#8217;ve planned as far as attending GoGaRuCo (probably not speaking, unless they want me to) and perhaps spending a day or two in SF going to bug the EngineYard and GitHub guys.</p>

<p>After that? I&#8217;ve got invites to go visit people in Indiana, Ohio and Florida and so that&#8217;s what I&#8217;ll be doing. No specific dates yet, but there&#8217;s definitely a whole slew of people from the Ruby community who I&#8217;d love to meet.</p>

<p>Thanks to the people who have already offered accommodation! In my single overseas trip experience so far, this takes a <em>lot</em> of hassle out of doing it!</p>

<p>I&#8217;ll see you when I get there!</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/07/gogaruco/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Rails 3 in Action: MEAP #1</title>
		<link>http://ryanbigg.com/2010/07/rails-3-in-action-meap-1/</link>
		<comments>http://ryanbigg.com/2010/07/rails-3-in-action-meap-1/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 02:12:59 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1047</guid>
		<description><![CDATA[Last night whilst I was sleeping (something I do regularly during the night), the first release of the new Rails 3 in Action book took place! You can will go out and grab yourself a copy now. Please? It&#8217;s been a fun process writing the book so far. I&#8217;ve got a couple of very dedicated [...]]]></description>
			<content:encoded><![CDATA[<p>Last night whilst I was sleeping (something I do regularly during the night), the first release of the new Rails 3 in Action book took place! You <s>can</s> <strong>will</strong> go out and <a href='http://manning.com/katz'>grab yourself a copy now</a>. Please?</p>

<p>It&#8217;s been a fun process writing the book so far. I&#8217;ve got a couple of very dedicated people helping me and it&#8217;s definitely the people who have made the process what it&#8217;s been. Currently I&#8217;m working on Chapter 7 which should be &#8220;finished&#8221; sometime this afternoon and then I&#8217;ll begin on Chapter 8 which I hope to have finished by next weekend.</p>

<p>If you have any questions, comments, suggestions, words of encouragement, professions of love or otherwise, you can write about them on the <a href='http://www.manning-sandbox.com/forum.jspa?forumID=541'>book&#8217;s forum</a> and I&#8217;ll reply as soon as I can.</p>

<p>Thanks for supporting me so far!</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/07/rails-3-in-action-meap-1/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>uninitialized constant RSpec with Cucumber</title>
		<link>http://ryanbigg.com/2010/07/uninitialized-constant-rspec/</link>
		<comments>http://ryanbigg.com/2010/07/uninitialized-constant-rspec/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 05:49:13 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1043</guid>
		<description><![CDATA[Today I upgraded the Cucumber gem on my system (still had 0.7.something) only for it to break! uninitialized constant RSpec (NameError) /Library/Ruby/Gems/1.8/gems/cucumber-0.8.3/bin/../lib/cucumber/rb_support/rb_language.rb:51:in `enable_rspec_expectations_if_available' I saw this error last week on a workmate&#8217;s computer and both times it was fixed by removing the rspec-expectations gem which is a part of the RSpec 2 gem collection. I [...]]]></description>
			<content:encoded><![CDATA[<p>Today I upgraded the Cucumber gem on my system (still had 0.7.something) only for it to break!</p>

<pre><code>uninitialized constant RSpec (NameError)
/Library/Ruby/Gems/1.8/gems/cucumber-0.8.3/bin/../lib/cucumber/rb_support/rb_language.rb:51:in `enable_rspec_expectations_if_available'
</code></pre>

<p>I saw this error last week on a workmate&#8217;s computer and both times it was fixed by removing the <code>rspec-expectations</code> gem which is a part of the RSpec 2 gem collection. I had these left over from when I was playing around with Rails 3 (now I&#8217;m using RVM). The latest version of Cucumber maintains compatibility between these two versions and does so by trying to require <em>rspec/expecatations</em> which will be available if the <code>rspec-expectations</code> gem is installed. So if you&#8217;re trying to use RSpec 1 and 2 and Cucumber at the same time, you may run into this issue. So far the best solution I&#8217;ve found is uninstalling <code>rspec-expectations</code>. </p>

<p>Just thought I&#8217;d let you know. It&#8217;s bitten us twice and may bite you.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/07/uninitialized-constant-rspec/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s Log Everything!</title>
		<link>http://ryanbigg.com/2010/06/lets-log-everything/</link>
		<comments>http://ryanbigg.com/2010/06/lets-log-everything/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 01:50:56 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1029</guid>
		<description><![CDATA[The Australian Government has put forward a scheme which they wish to log the activity of every user of the internet. What. The. Fuck? Must the government fear its citizens so much that it has to monitor their every movement? Lucky we have a lot of spare land to put the datacenters where to keep [...]]]></description>
			<content:encoded><![CDATA[<p>The Australian Government <a href='http://www.brisbanetimes.com.au/technology/blogs/the-geek/internet-freedom-in-2010-looks-like-1984/20100618-ykr9.html?rand=1276822049429'>has put forward a scheme which they wish to log the activity of every user of the internet</a>. What. The. Fuck?</p>

<p>Must the government fear its citizens so much that it has to monitor their every movement? Lucky we have a lot of spare land to put the datacenters where to keep this new data they&#8217;ll be storing. This means data such as sixteen-year-old girls &#8220;liking&#8221; a picture on Facebook and writing comments like &#8220;omg hayley wat r u doing dere?&#8221;. Seriously, Australia? Fuck.</p>

<p>Again, it&#8217;s also a load of bullshit. Like the internet filter. People who want to keep their communications secret (VPN / SSL anyone?), will do it. The government <em>must</em> find an alternative solution that doesn&#8217;t involve tracking miniscule internet movements of the majority to capture such an infinitesimally small minority. One person&#8217;s a terrorist and suddenly we&#8217;re all suspected of it until proven innocent.</p>

<p>This is not the &#8220;democracy&#8221; I&#8217;ve grown up knowing. It&#8217;s, in the words of Muse, &#8220;demonocracy&#8221;. </p>

<p>It makes me sad that we have a bunch of old fogeys in their ivory towers scheming against the majority without asking it for their opinion. I thought that&#8217;s what democracy was about. I wish they&#8217;d climb to the highest level of their tower and defenestrate their pathetic ideas, followed shortly by theirselves.</p>

<p>You cannot protect everyone from everything all the time. Stop trying.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/06/lets-log-everything/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The book is&#8230;</title>
		<link>http://ryanbigg.com/2010/06/the-book-is/</link>
		<comments>http://ryanbigg.com/2010/06/the-book-is/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 23:11:11 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1024</guid>
		<description><![CDATA[Rails 3 in Action! Yes, I am writing the Rails 3 in Action book that was originally called &#8220;Merb in Action&#8221; before the Merb+Rails merger. I was approached to join the team to be a co-author with Yehuda Katz at the beginning of April and the process with him &#38; Manning has so far been [...]]]></description>
			<content:encoded><![CDATA[<p><a href='http://manning.com/katz'>Rails 3 in Action!</a></p>

<p>Yes, I am writing the Rails 3 in Action book that was originally called &#8220;Merb in Action&#8221; before the Merb+Rails merger. I was approached to join the team to be a co-author with Yehuda Katz at the beginning of April and the process with him &amp; Manning has so far been wonderful! I&#8217;ve been writing the book from scratch since the end of April and so far I have five-and-a-half chapters written with the sixth one (Authentication &amp; Authorization) probably finishing up this weekend.</p>

<p>We&#8217;re aiming to get the book done published by December 2010 in both paperback, PDF and (probably) eBook-reader formats too.</p>

<p>Watch <a href="http://vimeo.com/12410903">the video for more information</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/06/the-book-is/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Bridging the Gap</title>
		<link>http://ryanbigg.com/2010/06/bridging-the-gap/</link>
		<comments>http://ryanbigg.com/2010/06/bridging-the-gap/#comments</comments>
		<pubDate>Mon, 07 Jun 2010 03:51:29 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1010</guid>
		<description><![CDATA[The question is: How do we bridge the gap between “newbie” and “experienced” in such a way that we won’t suffer the talent drought we are currently facing. What are your thoughts as to how we can fix this? This post was intended as a script for a videocast, but I&#8217;m a horrible actor. Hello! [...]]]></description>
			<content:encoded><![CDATA[<p><strong>The question is: How do we bridge the gap between “newbie” and “experienced” in such a way that we won’t suffer the talent drought we are currently facing. What are your thoughts as to how we can fix this?</strong></p>

<p><small>This post was intended as a script for a videocast, but I&#8217;m a horrible actor.</small></p>

<p>Hello!</p>

<p>My name is Ryan Bigg. You may remember me from such hits like #rubyonrails, Railscamp or the Scottish Ruby Conference. I&#8217;m here today to talk to you about something that I perceive as a problem. Firstly though, a bit of backstory.</p>

<p>The Ruby (and Rails) communities are some of the most supportive and inviting communities on the planet. When I started with Rails, my first question in the #rubyonrails IRC channel was about an error I was getting, an undefined method &#8220;find&#8221; on a class called &#8220;Thread&#8221;. Little did I know back then that Thread is a reserved class in Ruby. As you can see from this example, I too was a noob.</p>

<p>Since then, my Ruby skills have flourished to where I think I&#8217;m growing to be a Ruby expert. I still hang out in IRC channels and sometimes I&#8217;m asked for advice and if I&#8217;m free I&#8217;ll help out. So why do I do help? I am not a religious person, but there are some certain aspects of particular religions I believe in, such as karma from Buddhism. To me, karma means that if I do something good to somebody, then eventually something good will happen to me and vice versa, I do something bad, bad things will happen. I also believe in &#8220;paying it forward&#8221;, that if I help somebody out, then perhaps they&#8217;ll see somebody else with the same or a similar problem and help them out, too. So I help out in the hope that 1) I improve somebody else&#8217;s life just that little bit, 2) I may improve my knowledge of a particular concept or problem and 3) eventually that good deed will come back to me.</p>

<p>I didn&#8217;t get good at Rails overnight. Nobody gets good at anything overnight, unless you&#8217;re Neo from the Matrix or Yehuda Katz. It&#8217;s taken me 3 and a half years to get to this point and I fully believe it was because I spent time helping people solve their own problems which allowed me to build up a great database of Ruby-knowledge that I could apply to any application I worked on. Working with a team of already-experienced developers greatly assists here too and I am thankful of the time I spent at SeaLink, NetFox and Mocra and freelancing.  Before Mocra I didn&#8217;t even use Cucumber! Now I&#8217;m writing a book centered around using it to develop a Rails application! It&#8217;s great! The things you learn on the job are more important, than the things you do on the job. I got lucky. I attended a Ruby meetup back in April 2007 in my hometown of Adelaide where I was invited to work for either SeaLink, NetFox or another company Freerange Future. When I begun working for SeaLink, I had only been in the Ruby and Rails world for 8 months, and during 8 months at SeaLink, I learned a lot about Ruby, about Rails and about RSpec. Working with Rails has definitely been one of the greatest ways to learn about it.</p>

<p>Now in 2010, as a writer of a book aimed at a wide range of Rails people (newbies and up), the experiences of new people is something I&#8217;ve been considering for a while. The way I have visualised the community for a long time now, is a pyramid. The bottom is, of course, wider than the top and the lower down the &#8220;pyramid&#8221; you are, the less skill you have and of course the higher up this &#8220;pyramid&#8221;, the more skill you have. The width of the pyramid at any level indicates how many people there are at that level and, because the Ruby community is growing, there&#8217;s a lot more inexperienced people than there are experienced. If the Ruby community was shrinking, you&#8217;d see the opposite effect where there&#8217;s a wider level at the top of the pyramid dwindling down to nothing at the bottom. No new people means a dying community. Ruby is not dying. So how are newbies to gain the experience required to work towards the top of this pyramid and get hired by the companies looking for &#8220;experienced Ruby / Rails developers&#8221;? It&#8217;s simple: they&#8217;re going to need a job. So it saddens me to see all these companies hiring &#8220;experienced&#8221; Rails developers. </p>

<p>There&#8217;s only so many &#8220;experienced&#8221; Rails developers. They&#8217;re being snatched up by companies quicker than they&#8217;re becoming available. I know this because the company I&#8217;m working for right now is trying to hire a new &#8220;experienced&#8221; developer and we&#8217;re having an absolute bastard of a time. We&#8217;re also down one developer because he has RSI, and another was just pulled off my team to work on the legacy application until the election. So we&#8217;re looking to hire an &#8220;experienced&#8221; Rails developer to fill the gaps. It&#8217;s almost as if there&#8217;s no more &#8220;experienced&#8221; developers left to hire in Sydney and I&#8217;ve seen this same situation in Brisbane, where I used to live and other people have talked to me about it too. We need an &#8220;experienced&#8221; developer because we&#8217;re looking to get this application done by the Federal Election. But there are seemingly none left. So what can be done about this? How can we and other companies find new members for the team?</p>

<p>Well, we could bring in a new person, but we (as a company), but not I (as a &#8220;teacher&#8221;), don&#8217;t want to spend time teaching new people when that time could be used for developing new features. Why should you pay somebody when you&#8217;re teaching them? Shouldn&#8217;t it be them paying you? Well, no. You&#8217;re paying them in the hope that they&#8217;ll stick around and provide another valuable resource to the company. Some do, some don&#8217;t. Give them the incentive to stick around and I&#8217;m sure they will. Job security is a great incentive. I think we need more companies who aren&#8217;t all just about the &#8220;gogogogo&#8221; and are actually conscious about the future of their business. If the future involves hiring a new developer and having to train them up in a language, why not do it? Sure, you&#8217;ll lose one developer&#8217;s time for a short while, but what you&#8217;ll gain in the long term is two developers&#8217; time. Then that developer can teach more people you bring in. Eventually, you won&#8217;t be understaffed.</p>

<p>If you hire nobody, then that&#8217;s the worst thing that can happen. You&#8217;ll overwork your developers and you&#8217;ll think that they underdelivered because they didn&#8217;t do a good enough job, but the reality is it was because they were under-resourced. You put a magical deadline on them and expect it to be done but the harsh truth is: sometimes deadlines aren&#8217;t met. Budget some money, and some time, to bringing new people way before any major deadlines if that&#8217;s what it&#8217;s going to take to be successful in the long run. Over-estimate how many people you&#8217;re going to need to get the project done. That&#8217;s what you want, isn&#8217;t it? A completed project? Therefore, we shouldn&#8217;t be hiring &#8220;experienced&#8221; people only but rather people who can contribute back to the team, even if that involves having to teach them something first off.</p>

<p>Personally, If I were to hire a new person, there&#8217;s a couple of things I&#8217;d be looking out for. Before I list them, here&#8217;s a very good point of a conversation I had last night with a Rails developer based in California, kay-von. Kayvon got started with Rails in December. He said that in order to be good at Rails, he didn&#8217;t need the knowledge of the ins-and-outs and every single class and method. You just need to know how to do your research (aside: and not to cargo-cult!) and learn to learn. If you&#8217;re able to absorb the knowledge and make it into your own from the resources like people and the Internet, then you&#8217;ll go pretty far. Now Kay-von is doing Rails work for many clients and is gaining a reputation for his work. What I&#8217;m looking for in a person isn&#8217;t experience in a language, but rather the same ability Kay-von has. The ability to learn. The ability to understand. The ability to apply yourself to accomplishing something. These are the major concerns that I&#8217;d be for. Other things include the standard: good communication skills and good personal hygiene.</p>

<p>I want to see that drive in people, that willingness to learn. Another example. Will A friend of mine, Bo, introduced me to a .NET developer friend of his, Lucas. One day last year, we showed him what Rails can do. Lucas attended the ActionHack events that are held monthly in Brisbane as well as the last two Railscamp events. Not because he had to. Because he <em>wanted</em> to. He attended these events because he wanted to learn, and that&#8217;s precisely what he&#8217;s done. He&#8217;s learned Rails, learned BDD concepts and now knows enough to be hired by a Rails shop. Lucas is in the same group of people as Keyvan.</p>

<p>I know there&#8217;s a vast group of these people out there, just looking for some company to give them a chance at developing Rails, but all the companies out there are hiring &#8220;experienced&#8221; developers. I haven&#8217;t seen a single job posting in the past couple of months on the rails-oceanic list looking to hire people that they&#8217;re willing to teach. Because everyone wants things done now. Nobody is willing to invest in the future of the community. What we need is some&#8230; group to invest time teaching these new people. That&#8217;s what I&#8217;d love to do. I love seeing people&#8217;s faces light up when they discover something or hearing that &#8220;oohhhhhhh&#8221; when something clicks. For now, I&#8217;m doing the best I can. I am personally considering after I&#8217;ve finished writing this book to approach some universities or TAFE colleges and asking them about how I can go about teaching them, hopefully they can give some pointers.</p>

<p>So in summary: this has been a question that&#8217;s been floating around in my head for ages: How do we bridge the gap between &#8220;newbie&#8221; and &#8220;experienced&#8221; in such a way that we won&#8217;t suffer the talent drought we are currently facing.  What are your thoughts as to how we can fix this?</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/06/bridging-the-gap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Using Cucumber tables to specify associations</title>
		<link>http://ryanbigg.com/2010/06/using-cucumber-tables-to-specify-associations/</link>
		<comments>http://ryanbigg.com/2010/06/using-cucumber-tables-to-specify-associations/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 01:32:46 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1004</guid>
		<description><![CDATA[How many times do you use Cucumber to seed data by using a step such as this: And there is a list: &#124; name &#124; &#124; GetUp people! &#124; Probably a lot, right? Good. Then this post is probably for you. How many times have you done it and needed to specify an association in [...]]]></description>
			<content:encoded><![CDATA[<p>How many times do you use Cucumber to seed data by using a step such as this:</p>

<pre><code>And there is a list:
  | name          |
  | GetUp people! |
</code></pre>

<p>Probably a lot, right? Good. Then this post is probably for you.</p>

<p>How many times have you done it and needed to specify an association in there too? Like this:</p>

<pre><code>And there is a list:
  | name          | parameters[email_contains] |
  | GetUp people! | getup                      |
</code></pre>

<p>Probably a couple of times.</p>

<h3>So what can be done?</h3>

<p>As you may know, by using this syntax in Cucumber you get a variable which I always call &#8220;table&#8221; in my steps. You may call it something else. What matters is that it&#8217;s a <code>Cucumber::Ast::Table</code> object that has a method called <code>hashes</code> on it. This will return a <code>Hash</code> object for every single row minus one in your table. The minus one is the first row &#8212; the header row &#8212; which provides the keys for the hash. The remaining rows are the values for each of the hashes. In the first example, our hash is:</p>

<pre><code>{ :name =&gt; "GetUp people!" }
</code></pre>

<p>In our second example, our hash is:</p>

<pre><code>{ "name" =&gt; "GetUp people!", "parameters[email_contains]" =&gt; "getup" }
</code></pre>

<p>Bah! This won&#8217;t do!</p>

<h3>Enter <span class='term'>to_query</span></h3>

<p>There&#8217;s a lovely method on <code>Hash</code> that will allow you to convert any <code>Hash</code> object to query parameters. It&#8217;s called <code>to_query</code>. The second Hash <code>to_query</code> output is this:</p>

<pre><code>"name=GetUp+people%21&amp;parameters%5Bemail_contains%5D=getup"
</code></pre>

<p><strong>Eeew!</strong></p>

<h3>Query strings are not pretty</h3>

<p>So to deal with query strings, Rack parses them into a <code>Hash</code> object (and Rails, a <code>HashWithIndifferentAccess</code> object) using the lovely <code>Rack::Utils.parse_nested_query</code> method. This forms the query string into the <code>params</code> hash which we have come to know and love. The very same <code>params</code> hash you use to create objects with. </p>

<p>See where I&#8217;m going with this? Great!</p>

<p>So we define our step like this:</p>

<pre><code>Given /^there (is|are)\s?a?\s?lists?:$/ do |is_or_are, table|
  table.hashes.each do |hash|
    List.create!(Rack::Utils.parse_nested_query(hash.to_query))
  end
end
</code></pre>

<p>The regular expression is to match &#8220;there is a list:&#8221; or &#8220;there are lists:&#8221;, in case we want to create more than one. By passing in the parsed hash (and because we&#8217;re using <code>accepts_nested_attributes_for</code>, the model is actually ListParameter<strong>s</strong>), we&#8217;re able to create not only the new <code>List</code> record, but also assign the <code>ListParameter</code> record too.</p>

<h3>Not only for <span class='term'>belongs_to</span></h3>

<p>You can also assign <code>has_many</code>s through this too, although the syntax is a little bit more uglier. Again, providing you&#8217;re using <code>accepts_nested_attributes_for</code> for the <code>has_many</code> association, this should work just as well as if you posted it from a real form.</p>

<pre><code>  And there is a link:
    | url               | clicks_attributes[0][user_id] |
    | http://google.com | 1                             |
</code></pre>

<p>How about that?!</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/06/using-cucumber-tables-to-specify-associations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3 Book Week 6/7</title>
		<link>http://ryanbigg.com/2010/05/rails-3-book-week-67/</link>
		<comments>http://ryanbigg.com/2010/05/rails-3-book-week-67/#comments</comments>
		<pubDate>Fri, 28 May 2010 23:43:01 +0000</pubDate>
		<dc:creator>Radar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://ryanbigg.com/?p=1000</guid>
		<description><![CDATA[I have posted another quick update about how the book is going. Check it out! Super special request inside.]]></description>
			<content:encoded><![CDATA[<p>I have posted another <a href="http://vimeo.com/12104519">quick update</a> about how the book is going. Check it out! Super special request inside.</p>
]]></content:encoded>
			<wfw:commentRss>http://ryanbigg.com/2010/05/rails-3-book-week-67/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
