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 Ezra Zygmuntowicz from USA.
Satish Talim>> Welcome, Ezra and thanks for taking out time to share your thoughts. For the benefit of the readers, could you tell us something about your self?
Ezra>> My name is Ezra Zygmuntowicz. I’ve been using Ruby for 5 years or so and Rails since it’s first public release in 2004. I am the founder of EngineYard.com, a fully managed Ruby application hosting service. I have a number of open source projects including Merb1.
Willian Molinari, Brazil>> How should one go about learning the Ruby language? What material (books, eBooks, online tutorials etc.) would you recommend?
Ezra>> I think the best way to learn any language is to come up with a small project that will be useful to you and go ahead and start building it. You will learn much quicker working on something you need then you would working on standard examples form books and other online material. Research your problem along the way and go ask questions on irc and ruby-talk, you will find ruby folks are most helpful.
Keith Brady, Australia>> What are the pros and cons of Ruby that are being discussed in the development community and what is your opinion on that?
Ezra>> The pros of Ruby are the super fast development cycle. You can truly build bigger software faster with a smaller team then other languages. Ruby is also a very fun and elegant language to use, you will find yourself directly expressing your thoughts with Ruby code before too long.
The cons of Ruby are with the current implementation of the interpreter. It is not the fastest language around and has a very conservative garbage collector which means Ruby tends to use a lot of memory if you aren’t careful. We are working on fixing these issues with our Rubinius project.
Jerry Anning, USA>> Can you recommend things to study after learning Core Ruby, including different frameworks, gems and external libraries?
Ezra>> I find that the best way to write code or libraries in Ruby is to write out the end user code exactly how you want the API/DSL to look and then use that as a test case and go implement the backend that can run that code. This makes for very fluent interfaces and is a very nice way to develop ruby code.
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?
Ezra>> Get yourself a github account and start forking a few projects and poking around. Find one you are interested in and contribute some tests or docs to help yourself get up to speed with the project. Before you know it, you will be fluent in many libraries and techniques.
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?
Ezra>> Of course there are tons of Rails and Merb web applications being built these days. But I see Ruby being used for many other things as well. Folks have come for the Rails and stayed for the Ruby. I see folks using Ruby to build all kinds of backends and automation systems.
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?
Ezra>> I see a huge demand for Ruby programmers and not near enough supply of good developers. Of course folks are always hiring for Rails web developers but I also see lots of jobs for Ruby that are not web related. Ruby is being used more and more as enterprise glue language and I think it really shins in that space.
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?
Ezra>> Have a blog with technical posts on it. Have some open source projects or code you have contributed to an open source project you can send as example code. Nothing is a better indicator of someone’s worthiness than having open source code out there that I can see and play with, to get a feel for how someone thinks.
Satish Talim>> Do you have any other suggestions for these participants (would-be Ruby developers)?
Ezra>> Spend the time to really learn the Ruby language and not just libraries like Rails. It will pay large dividends.
Satish Talim>> Thanks Ezra for sharing your views with the RubyLearning participants.
On 9th Dec. we talk to Chris Matthieu from USA.
The opinions expressed are those of Ezra Zygmuntowicz and do not necessarily reflect those of www.RubyLearning.com.
The Path to Ruby Mastery Series (So Far):
- RubyLearning’s new course “Introduction to Merb” will be available to all, this month. Watch this blog for an announcement. ↩