A weekly series from the Ruby Masters
Welcome to the next installment of the weekly interview series on the RL blog – “Path to Ruby Mastery” – by top trainers and developers in the Ruby community, from across the globe. The interview series will provide insight and commentary from these notable Ruby trainers and developers, with the goal of facilitating and providing answers to the questions Ruby beginners face. We welcome your suggestions for interviewees and questions. Look for a new post every Tuesday!
This week, we’re happy to have Stuart Halloway from USA.
Satish Talim>> Welcome, Stuart and thanks for taking out time to share your thoughts. For the benefit of the readers, could you tell us something about your self?
Stuart>> I am Stuart Halloway. Along with Justin Gehtland I founded Relevance, Inc. We specialize in development, consulting and training using agile methodologies and low-ceremony tools such as Ruby.
I wrote Component Development for the Java Platform, Rails for Java Developers (with Justin), and am currently working on a book about Clojure.
Willian Molinari, Brazil>> How should one go about learning the Ruby language? What material (books, eBooks, online tutorials etc.) would you recommend?
Stuart>> The best way to learn the Ruby language is to explore it. irb is a great interactive shell for trying things out. I would also recommend *learning tests*. Mike Clark and I independently learned Ruby this way, and he blogged about it – Ruby Learning Test #1: Are You There, World?. Of course the libraries have changed – now you probably would want to do “learning RSpecs”!
Jerry Anning, USA>> Can you recommend things to study after learning Core Ruby, including different frameworks, gems and external libraries?
Stuart>> Definitely look at the different testing/BDD frameworks: RSpec, dust, Shoulda, etc. Looking at how different Ruby people approach the same problem domain is a great way to learn.
Make sure to learn other languages too. I have been spending a lot of time with Clojure and it is terrific.
Satish Talim>> Most beginners in Ruby, would like to contribute their time, skills and expertise to a project but invariably are unaware of where and how to do so. Could you suggest some?
Stuart>> If you are doing Rails, take a look at Tarantula. Tarantula spiders your app, looking for all kinds of possible issues. The basic framework is in place, but there are tons of possible plugins to write.
The various Ruby VMs (IronRuby/JRuby/Rubinius) are great: They are technically interesting and there is always plenty to do. You don’t have to be a guru – there are tons of basic documentation and testing work to be done, and they can help you learn more about the internals of the language.
Keith Brady, Australia>> What types of applications are currently being developed in Ruby and what changes do you foresee over the next year or two?
Stuart>> Obviously there are many Rails applications out there, and not just for public web applications. A lot of intranet IT work is being done in Rails as well.
Over the next few years expect to see a lot more penetration of Ruby itself, including some significant desktop applications.
Victor Goff, USA>> How do you see the market for Ruby Programmers in the work place, and do you see it as primarily tied to Rails and Web related work? Do you see trends in administration or other work? Whatâ€™s the future for Ruby?
Stuart>> The most visible work is certainly web, but there are other things out there as well, especially with the viability of JRuby in the Java world.
There is a great need for sysadmins with Ruby skills. Best practices for Rails deployment seem to change several times a year, so it is exciting to keep pace.
Satish Talim>> What can / should job candidates (for Ruby) do to distinguish themselves from their competition?
Note: The candidate has done his/her homework on the company that they are interviewing with. The candidate understands what they’re looking for, and the candidate is prepared to show them that he/she fits the bill, based on the candidate’s skills and experience. What else can the candidate do, to set themselves apart from other equally well-qualified and well-prepared candidates?
Stuart>> Make your name in open source. If I can find your code on the web, that’s big. If I can find a *community* that you have built around an open source project, even bigger.
Satish Talim>> Do you have any other suggestions for these participants (would-be Ruby developers)?
Stuart>> Get involved in the community. Join your local Ruby group. Attend conferences. Software development is social *and becoming more so*. The best way to learn new things and maintain a high energy level is to share your passion for Ruby with others.
Satish Talim>> Thanks Stuart for sharing your views with the RubyLearning participants.
On 21st Oct. we talk to Jay Fields from USA.
Update: This blog post is also being discussed on dzone.
The opinions expressed are those of Stuart Halloway and do not necessarily reflect those of www.RubyLearning.com.
The Path to Ruby Mastery Series (So Far):
Post supported by Blue Box Group: Blue Box Group is in the business of providing affordable Ruby on Rails hosting solutions! They approach web hosting, virtual servers and dedicated servers differently, treating each client as a partner and working towards the common goal of success for their business. From shared Ruby on Rails hosting to giant production clusters, they have the experience, talent and equipment to make your site a success!