Dmitriy Nagirnyak Winner RPCFN #7

by on April 6, 2010

In this brief interview, Satish Talim of RubyLearning talks to Dmitriy Nagirnyak of Australia, winner of the seventh Ruby Programming Challenge For Newbies.

Dmitriy Nagirnyak

Satish>> Welcome Dmitriy and thanks for taking out time to share your thoughts. For the benefit of the readers, could you tell us something about your self?

Dmitriy>> First of all I want to say Thanks for the opportunity that RubyLearning gives to people. Personally, saying Thanks to Satish who drives the site with passion. My name is Dmitriy (Dmytrii or just Dima), 27 years old guy who is a Software Engineer by profession and in heart. I made my first steps in IT when I was about 14 years old and since those days it has become my passion. Sometimes I write things in my blog. I love to spend time with people (and have some beer!), play basketball and enjoy driving a car. Currently living in Melbourne, though originally came from Ukraine.

Satish>> How did you get involved with Ruby programming?

Dmitriy>> Most of my professional career I have been a Windows, C# / .NET developer and, must admit: sometimes had feelings of love and hate about it. Though, being working for too long with mostly one language, it made sense for me to give a try to something new (I mean it – NEW – not just Java or another kind of same-style language) and give myself an “educational push”. After reading about different languages and platforms I decided that I just must go with Linux+Ruby. Ruby is one of not so many languages that I really “felt” and greatly sympathized to.

Satish>> Could you name three features of Ruby that you like the most, as compared to other languages? Why?

Dmitriy>> This is a bit tough question, but If I could name those they would probably be:

  1. Metaprogramming – this allows to build great custom DSLs (Shoulda, ActiveRecord, RSpec etc etc).
  2. Prototype-based programming – this just switches the way you think when comparing to more mainstream languages (C#, Java). It allows to do things in so much easier and better way.
  3. Lambdas/Blocks – needles to say that this feature is probably most commonly used in Ruby community which also simplifies the code very heavily. Even though Python has similar idiom, it is not the same at all and lambdas/blocks are considered to be one of unique Ruby features.

Satish>> How was experience of taking part in the Ruby Programming Challenge For Newbies (RPCFN)?

Dmitriy>> The broadsides challenge was very unusual in the way it had to be judged: Truth is in the machine. We had to write bots that would fight against each other. Apart from number of things I have learned (working with Enumerables, Arrays, Strings etc) there was an additional requirement set: understanding unknown opponents. So I had to figure out the solution that would work as “the best average”. So the work done for this challenge was very exciting as the challenge itself.

Satish>> How is the Ruby and Rails scenario in your country Australia?

Dmitriy>> It doesn’t feel that Ruby is hitting mainstream yet, but definitely there is more and more interest in it. There are number of great people who drive the community. A lot of them can be found in Ruby On Rails Oceania group. One of the companies here in Melbourne (and Sydney too) that uses Ruby stack of technologies is ThoughtWorks and they really seem to have bright guys in there. But generally I feel like the more Agile-ish a company is the more it is interested in Ruby.

Satish>> What are your future plans?

Dmitriy>> Currently I am resigning from my job and planing to change my career to go alongside with Ruby and step away slowly from C# (so I’m open to job offers :) ).
It will be a hard and risky life decision. But I feel like I am ready to take such a challenge. Hope it will work out well for me.

Thank you Dmitriy. In case you have any queries and/or questions, kindly post your questions here (as comments to this blog post) and Dmitriy would be glad to answer.

Technorati Tags: , , , , ,

Posted by Satish Talim

Follow me on Twitter to communicate and stay connected

Previous post:

Next post: