Bozhidar Batsov: Ruby must be free from Rails fetters

Bozhidar Batsov thinks that the age of full-stack web frameworks is coming to it's end due to mobile and client-side applications
08 June

bozhidar batsov

 Bozhidar Batsov

RailsClub

Biggest Russian Ruby on Rails event

VP of Engineering Toptal, creator of RuboCop and editor of community-driven Ruby and Rails style guides. Speaker at RailsClub 2014.

At RailsClub 2014 he had a speeach about the recharge of Ruby web development.

We asked Bozhidar few question after the speech.

What are you working on right now? 

On my day job I’m working on a reasonably complex social trading application. In my spare time I’m mostly working on RuboCop and CIDER (a Clojure IDE for Emacs). But I have a lot of side projects as well, that anyone interested can peruse at GitHub. These days I’m also working on a cool presentation for RailsClub.ru.

What is the best and worst part of your job?

Bests parts:

  •  I’m the CTO;
  • I get to work with a lot of cool technologies (RoR 4.1, node.js, redis, puppet, react, iOS, etc);
  • I have awesome colleagues;
  • I work on a financial app and I’ve always been interested in finance.

Worst parts:

  • Dealing with archaic 3rd party services;
  • Doing Rails updates;
  • Dealing with upstream node.js bugs.

What’s your main achievements at the moment?

Graduating from the Technical university of Sofia felt like an epic achievement few years back. 
On a more serious note — I’m really proud of all the work I’ve done in Tradeo and on many open source projects in recent years.
It seems to me that in our line of work your greatest achievement is always your last achievement.
I guess on the open-source front I consider RuboCop and CIDER my most important work so far.

On your opinion, how will Ruby and Ruby on Rails develop in the future? 

I’m thinking that Ruby should break the Rails chains and explore new venues — mobile apps (RubyMotion is pretty cool), desktop apps, system administration, etc. While Ruby is used for all sorts of cool things today, for the majority of people Ruby is still synonymous with Rails, which is never a good thing. Diversity drives progress and innovation.
As for Rails — I think that the era of the full-stack web frameworks is near its end (due to the rise of mobile and client-side apps). Seems to me that Rails should forgo the view layer at some point and go in a direction similar to that of the `rails-api` project. 

What’s the main problem which Ruby society faces at the moment?

Ruby has to rediscover its “cool” factor. When Ruby became popular about a decade ago it offered plenty of advantages over the most popular languages back then. In recent years, however, it seems that the language has stagnated a bit and all the cool kids are now doing Clojure, Elixir, Haskell, Scala, etc. I’m expecting that Ruby 3.0 will try address this with plenty of new features (like proper concurrency).
Rails faces a similar problem — in a world that’s quickly moving to client-side web apps and mobile apps the value of traditional web frameworks decreases. People increasingly opt to base their new apps on microservice architectures and Rails is not particularly well suited for them. The biggest problem Rails has to solve right now is that it’s still relevant.

What’s your favorite gem? 

RuboCop. Other gems with great code that come to mind are transpec, rspec, parser and sequel.

Is the good style of coding something permanent or does it change over time? If it changes, what factors influence these changes?

A language and the good coding practices for it evolve together. While good practices are generally timeless (it’s pretty doubtful that writing huge complex methods will ever be considered good style) the introduction of certain features might also introduce a shift in what’s considered a good practice (e.g. the new hash literal syntax in Ruby 1.9, the introduction of keyword args in 2.0, etc). 

Do you read any Ruby\Rails blog? 

I don’t follow any particular blog. The Ruby/Rails blog posts that I read are generally the ones that make it to Ruby Weekly. I also listen to two excellent Ruby podcasts — Ruby 5 and Ruby Rogues.

What do you like to do when not coding? 

I’ve always loved drinking beers with my friends, watching football, watching movies/TV shows and reading novels. I’m also an avid gamer and I play some guitar. Guess I might have some healthy hobby as well, but I cannot think of it right now.

RailsClub conference on which we managed to communicate with Bozhidar will take place this year in Moscow 23th of September.

Get your ticket here.

A. Davidov: "I like when my work is helpful for people"

Software developer. Open source enthusiast, Hanami core, Ruby Hero 2016, speaker at RailsClub 2017
18 October

Anton Davidov
Anton Davidov at RailsClub 2017

Software developer. Open source enthusiast, Hanami core, Ruby Hero, speaker at RailsClub 2017

On the RailsClub 2017, we’ve managed to talk with Anton about his report, his job and future of programming.

What's your name? Where do you work, what do you do?

My name is Anton, I work at the American start-up. We are developing a healthcare application to help people in America buy and receive the right medicines. There are some issues with it in US. Unfortunately, we are not yet released, so I can not name the place where I work. But if you ask me about this in a month or two, I'll say. At work, we use full dry stack (dry web and rom), also we have several services on hanami.

How do you like RailsClub?

This is my fourth RailsClub. I am very happy to come every year, see many new faces, communicate with old friends, learn something new, discuss problems, and have fun.

Tell me about your report.

In my report I will motivate people not afraid to code in open source, because I believe that there are some problems in the community and by my report I want to try to solve them. This is absolutely not a technical report. Its main goal is motivation. I will be very happy if after today, at least one or two people will stop being afraid to make a mistake and do something. I will tell you about my mistakes and problems, about other people's mistakes. It is important for me to convey that the errors is normal.

What do you think are the most popular technologies?

If to speak in general - machine learning is still in hype, and people are trying to do something on it, at least in Russia. A lot of people talk about the blockchain, trying to mine Ether, buying farms for millions. And if we talk about programming and about Ruby in particular, this is an interesting question. We can say that the functional languages ​​are in hype, but it seems to me that this is far from being the case. There is a cult around functional languages, and people are just trying to be involved in it. Also, now it is a trend (like 10 years ago) the problem solutions. I mean - people have a problem that they are trying to solve it. That's the way dry, rom, hanami, trailblazer appeared; that's the way other programming languages like Crystal appeared.

How do you see the programming world in 10 and 50 years and is there a place for Rail and Ruby?

The world of programming in 10 years I see as my place of work in 10 years - I mean, I can't see it. But if I fantasize, I'd like to see something like cyberpunk from the novels "Neuromantic" when people directly connected to the computer through a neural interface with full immersion. I would like to see that people will go somewhere in this direction.

What advice would you give to an average programmer in order to stand out the crowd? 

The first advice - do not be afraid to talk about problems. People everywhere face problems, and in IT too. If a person tells about his problem and how he solved it, other people can get benefit from it. The second advice is to solve problems not only at work, but also in the community - to engage in open source, to do conferences, to speak and write good articles.

People in other spheres, for example, in aircraft building, feel great joy and enthusiasm after the end of the big project. What in your job brings such feelings?

This is a funny question for me, not even in terms of the question itself. While studying at the institute, I was practicing at an aircraft plant in the department of indestructible control. I've seen that atmosphere and people are not always happy when they make big planes. They usually have problems like that the spare part for a million rubles came with micro cracks and somehow it needs to be used, so as a result the aircraft does not fall apart.
I really like it when I get a good feedback. When my work was useful for someone. Then I feel the excitement. Speaking more broadly - all my work is aimed at getting a good feedback and solving people's problems.

Do you have nightmares related to work?

I have one nightmare related to my work - I start Rails coding again. Seriously, for almost a year I have not touched the Rails at all. And I grew a big beard and hair on my head, I began to sleep better.

Do you have plans for writing books?

Fortunately, no. I have dyslexia, it is difficult for me to write texts sometimes. The biggest thing that I have is a channel in a telegram where I write large messages by the standards of telegram channels. I had an idea to try to collect this all in a heap and make a huge collection or a reference book, there are many related topics. But in general, I do not see myself as a writer. At school, I had an assessment between 1 and 2 in Russian, so for me it's really difficult.

As far as I know, your report was last at Rails Club for few times already. Why is it so and how do you feel about it?

I was the last in 2015 and 2017. In 2015, I had a lightning talk, it just turned out to be the last of 3. This year I specifically asked to put me in the end. I will not have a technical report and I will be able to motivate someone. The idea is that people will get tired of listening to some complicated technical things and think with their heads for 8 hours in a row, it's like a working day. At the end of the day, people want some kind of show, and just my report will be that show. And, secondly, I would be pleased if people leave the conference with a feeling of excitement.