James writes Ruby code for fun and profit, pens books with a good deal of Ruby in them, gives speeches about the language, and runs the local support group for Ruby addicts. He definitely sees the world through Ruby-colored glasses.
I got a few small jobs from friends I knew, but my first big job was found by responding to a job listing on this site:
Where, and how, do you search for work now? Can you give me some advice on the best ways to find Ruby related work?
I contract with another company that finds most of my projects. I don't enjoy that side of the business too much, so it's good for me to be able to rely on them to provide me with jobs. In return, they get to rely on me as a programmer to build their projects. It works out well for all of us.
Obviously this exact setup won't work for everyone, but the point is that you do need to get yourself into an arrangement that makes sense for you, as I have.
What advice would you give a Ruby beginner without any projects ready to show?
Get involved!
There are so many projects that need programmers or even just sites, documentation, support on mailing lists, etc. That's how you meet other programmers, get involved in projects, and eventually even get jobs. I certainly started that way.
What have you learned in the past about working with Ruby, clients, how to find good clients, etc.? Many people dream about changing the past for a better present moment ... anything you want to share?
I would tell myself to follow more of my crazy ideas. If you love programming, everything else will sort itself out. Eventually your projects will be noticed, if not used. That puts you in touch with programmers which does everything I've already mentioned.
What books, or sites, or recipes, or whatever else you can recommend (they may be about productivity, or negotiation, or thinking - anything you think will help me live a better life as a programmer)?
I really like Pragmatic Thinking & Learning. It's not a super heavy programming text, but it is inspirational in other ways.
How much time per week do you work? How do you keep yourself productive and focused?
Too many. I imagine that's pretty common for consultants like me.
I've never really had trouble staying focused. For me, it's important to remember I don't have to work all the time.
I guess that's the way it goes when you get paid to play with your favorite toys all day.
I'm a neat freak and have a pretty bare desk with mainly just my trusty laptop in the middle. When I'm working through some book, it will be there too.
I do think it's important to have a separate work space though.
How do recommend becoming a successful and profitable programmer?
Love what you do. The joy shall be your profits everyday. The money is almost insignificant next to that.
Programming is hard. I often tell my wife in the morning, "I need to be smart again today." If you don't love it, you can find easier ways to make a living. If are lucky enough to enjoy it though, it will carry you right through whatever challenges may come.
What should every programmer know?
How to learn more.
The more I learn as a programmer, the more I realize I don't know enough. Our industry shifts daily and you always need to be learning more just to keep up.
Even if you go through a computer science program in school, much of what they share with you can be irrelevant by the time you are really in the industry. For that reason, it's more important to learn how you are learning than what you are learning.
Best of luck with your career!
James Edward Gray II
Thank you very much!