First, my definition of “newbie” just for this post:
A person who is generally inexperienced in computer programming, and
specifically inexperienced in Ruby programming.
Therefore, when mentioning newbies in this post, I do not refer to
people who are already adept at programming in another language but just
don’t know Ruby. I believe most of such people would not hesitate to
post to a forum, and would not really want or need a mentor. They would
also hopefully know how to ask questions in a clear way.
I mentor developers as part of my job. Based on experience, I would say
that newbies as defined above should execute the following algorithm
(which contains polite versions of RTFM and STFW) to get maximum benefit
from a mentor:
newbie.read_the_manual or
newbie.search_the_web or
newbie.read_ruby_books or
newbie.ask_mentor or
newbie.post_to_ruby_forum # Last resort
It is unfortunately not rare to encounter people who will not exhaust
all other self-help possibilities before asking others for help. I will
not opine on why this is so. However, IMHO, help is given freely and
happily when the helpee has demonstrated sufficient gumption, and
consideration for other people’s time, to try to find the solution using
the above algorithm.
Newbies should, in their email or forum post, clearly describe the
problem, and explain what they did, prior to asking for help, to solve
the problem. This will give the ones who are being asked the question
enough information to reduce or eliminate the need to ask the newbie
follow-up questions before being able to answer.
Although some people find the content at the following link to be
objectionable and rude, it does cut to the heart of the matter and is
worthwhile reading for all newbies:
http://www.catb.org/~esr/faqs/smart-questions.html
If they agree to adhere to the above conduct, I will volunteer to take
on a couple of newbies. This is dependent on time and workload, so
patience is a virtue; I may not be able to answer instantly. It does not
mean I am ignoring you.
My background is that I have been developing software for an
embarrassingly long time, mostly in C++ and Java, on various platforms.
I use Ruby on a daily basis to automate Linux- and Unix-based tasks such
as performance monitoring, graphing, data analysis, and as a replacement
for shell scripting when possible. I provided some Ruby extension code
for the ruby-informix and RubyWMQ projects. I also use Ruby at home on
Ubuntu Edgy x86_64; the last significant thing I did was reorganize my
MP3 collection’s directory structure by artist and album, using the ID3
tags. I have been using Ruby for about 18 months, so IANARG (I am not a
Ruby Guru), but I have pretty much read all the books and manuals and
written a fair amount of stuff. I am a systems-type developer, so GUI
questions are not a great idea. I also don’t know Rails (yet).
Finally, I don’t think it is a good idea to post email addresses and
personal contact details on this or any forum. I would suggest using the
email links provided by this forum to contact me with your details.
Best regards,
Edwin F.