Hello, my name is

Dmitry Belitsky

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

Fabio Akita. Back to articles list

How to become successful rubyist

Locaweb Product Manager and Brazilian Rails Activist.

How did you find your first Ruby related job?

I was a project manager and tech lead for SAP and Java integration projects in Brazil in 2005. I am very disciplined on my readings and I subscribe and do read dozens of feeds a day. All of a sudden I started to see lots of Rails related posts everyday and I got amused. I saw the 15 min. Blog demo, read some tutorials and I was hooked. As a web developer for many years it was very easy to understand the breakthrough Rails provided. Through Rails I got Ruby and felt in love with it in a heartbeat. The rest is history.

Where, and how, do you search for work now? Can you give me some advice on the best ways to find Ruby related work?

Companies don't necessarily hire a "java programmer" or "ruby programmer". Really serious companies hire "great developers", "passionate developers". If you don't care about what you do, you will end up in some commodity software factory with little to no incentive to grow up in your career. Real developers are master craftsmen. Enjoy what you do, learn a lot, endlessly, and you should not have any difficulties finding a job.

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

I would say that you're all in a very fortunate world. Back when I was a kid, I had just a couple of books to study. Today you have the entire Internet and the collective knowledge of hundreds of masters around the world. Use this for your benefit. Having no study material is simply not a good excuse. Use open source projects as models to learn, and just code, code a lot, no matter what pet project. You'll be amazed on what you can accomplish with Ruby in just a few days.

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?

Nope, I always say that what's in the past is in the past. It is impossible to accomplish anything without making lots of mistakes along the way. The only person that has never made anything wrong is a person that has never tried or risked anything. If you're young, you're in the best position to make even more mistakes, be bold, risk. There is always time to try something different later. When I learned about Ruby and Rails, there were virtually zero interested clients in Brazil. So I took my chances and were fortunate enough to find a good US company willing to hire me to do offshore outsourced projects. It worked very well for about a year, then the Brazilian market started to grow for Ruby opportunities and again I was fortunate to be hired by a Brazilian tech company willing to let me work with Ruby. That's how it goes.

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

Start off with the "Getting Real" book by 37signals, a collection of short essays on product development. The Rails community has a very strong entrepreneurship spirit and this book will help get you into context. Then read "The Passionate Programmer", by the well known rubyist Chad Fowler about how to become a great programmer. To the more practical point, start in the rubyonrails.org official website, there are tons of material there to get you started. If you're a beginner take some online classes with Satish Talim's rubylearning.com e-learning website. And, of course, Google the hell out of it, there are tons of material available in the net.

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

I am a very intuitive kind of person. I don't make very predictable plans. I have my goals in mind and I make micro-decisions along the way to make everything fit. There is simply no single recipe you can follow to be productive. You either know what you're doing or you don't. I don't buy into those self-help organization books, and neither should you. I do have the discipline of keeping myself very well informed, reading dozens of rss feeds, audiobooks while driving and so on, leveraging every single idle minute I have during the day.

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

I primarily carry my Macbook Pro with me everywhere I go, be it at home, at office, while travelling, etc. Everything I need is there, my development tools, my media, my e-mails. When I'm not with my notebook, I have my iPhone with me, where I check my e-mails, rss feeds. So, I am never completely offline.

How do recommend becoming a successful and profitable programmer?

Software development can be divided into 2 groups: commodity coders (the average programmer you find in outsourced software factories) and real developers (the kind that will found a startup someday). Obviously, category #1 will not make you profit a lot. Only entrepreneurs really profit. Real software development is craftsmanship, you either have the talent or you don't. If you have it, you have to nurture it, practice, develop yourself. You have to be as passionate as any other kind of artist, be it a musician, acting, etc. Getting a diploma or a bunch of certificates are ludicrous and will lead you nowhere in the long run.

What should every programmer know?

How to be a good entrepreneur. Don't make yourself isolated in a dark room just coding. Learn the basics of business as well, how society works, how people think, how businesses operate. You will need it, believe me.

Thank you, Fabio! Hope we will talk more, sometime.

-->