Hello, my name is

Dmitry Belitsky

I do web development and live happy life with my family.

Geoffrey Grosenbach. Back to articles list

How to become successful rubyist

Geoffrey Grosenbach is the host of the acclaimed Ruby on Rails Podcast. His Gruff graphing library for Ruby is in wide use even though it has not convinced the Ruby elite that he is a legitimate Rubyist. "Independent tech publisher, video producer, Senior Visionary" (from his twitter bio).

How did you find your first Ruby related job?

My very first paying Ruby work was an existing contract that I convinced the client to use Ruby for.

My next Ruby contract was a job posting that I replied to. It turned out that the client knew of my recent blog posts and hired me.

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 run PeepCode Screencasts full time and am not doing other consulting work.

I would suggest contributing to open source projects or create your own project so you have quality code to show a potential employer.

What advice would you give a Ruby beginner without any projects ready to show?

Fix bugs in an existing one. Write tests for an existing project that doesn't have many.

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?

Find one good client and stick with it. It's much more difficult to work for many clients at once (especially if you are working solo).

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)?

Of course, PeepCode . I keep up on news with a site I made: news.peepcode.com.

Paul Graham has some of the best articles I've read on productivity and programming.

I keep a todo list in several ways. Currently I prioritize with Things (iPhone) and Emacs org-mode (individual projects).

How much time per week do you work? How do you keep yourself productive and focused?

I work full time, at least 40 hours a week. I keep productive by

  • Getting up early (I'm most productive in the morning)
  • Scheduling blocks of time to focus
  • Working on projects first thing in the morning and checking email later
  • Hiring a few top-notch assistants to do customer service and other
  • non-programming tasks

How do you organize your workspace and what tools are you using while working?

In my home office I run an 8-core Mac Pro with 20 and 24 inch Dell screens for video editing and rendering. On the road I run a 13" MacBook Pro. The SSD has made a huge difference in how often I have to wait for the computer. Highly recommended for only about $200.

Most of the time I'm in Emacs for text editing and task management. I try to focus on one thing at a time as much as possible, so I run it full screen and hide other applications. The only application that I run when the computer starts is LaunchBar (for quickly jumping to files, starting applications, sending files to applications, and searching Google).

I run IM only infrequently and am rarely on IRC. One of the most productive things I've found is to go to a local coffee shop with flaky WiFi, so I can't go on the Internet even if I want to!

For email I use MailPlane with Google Gears so I can use Gmail offline.

For PeepCode, my favorite application is Adobe After Effects. It's an amazing application and I wish that Adobe's other applications were as efficient and well designed.

It's always a conflict between spending time optimizing my workflow (shell scripts, aliases, rake tasks) or just sticking to work. I've ended up with a huge number of useful aliases for creating remote Git repos, rendering After Effects animations, etc.

How do recommend becoming a successful and profitable programmer?

A complicated question! Figure out what you want to do and find a way to accomplish it. Starting my own business is one of the best choices I've made, but it's also stressful and means that I spend less time writing code and more time on the business. If you just love to program, find a stable company so you can focus on code. If you want to run your own show, experiment with a bunch of ideas until you find one that's profitable. There are many good business ideas that haven't been implemented yet, or have been done poorly.

What should every programmer know?

Keep learning.

Thank you for your time and attention.

-->