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 2017   959

bozhidar batsov

 Bozhidar Batsov


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

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.

N. Sutterer: "Ruby is dead. Long live Ruby!"

Creator of Trailblazer that introduces several new abstraction layers into Rails, Rails contributor and gem author, speaker at Railsclub
15 January 2018   377

Nick Sutterer at RailsClub 2017
Nick Sutterer at RailsClub 2017

Hello! Please, introduce yourself in few words.

My name is Nick Sutterer, I’m developing software for like 22-25 years and I work like a consultant of my open source project for different companies. Sometimes I give presentations at conferences.

Is it your first time in Russia, Moscow, RailsClub?

It is. Everything for a first time. I’m blown away!

How do you like it?

Great! It’s amazing! Since I arrived, people care about me, people take me out, people show me the city, people give me history lessons. It’s amazing. Great food. We go to places and have a drink. I go to hotel, sleep, and everything starts again. That’s amazing! I’m really enjoying it.

Can you tell us about your report in few keynotes?

My talk was about the lack of innovation in Ruby language and about innovations that is happening in frameworks, that use Ruby. I’m just showing what we have. I try to inspire people and Ruby core team to pick some ideas from other technologies and make Ruby even better.

Your talk is called “Ruby is dead”. If Ruby is dead, what’s alive?

Ruby is dead. Long live Ruby. I’m trying to be provocative with my talk. I’m still coding Ruby everyday, I’m still traveling to all conference because I still believe that Ruby is an amazing programming language. There’s languages, showing up recently. Elixir or Golang for example. They have completely different way. They deal with problems and they are way more innovative. But they are brand new. I, actually, don’t think that Ruby is dead.

What you don’t like in Ruby the most?

I hate that we keep thinking in really old way. We reject innovation. It is especially due to frameworks like Rails. I would love to the more development of Rails, with all it’s huge audience. Ruby is lacking a lot of features that a lot of other languages have, like pattern matching and method overloading. The problem is that sometimes I feel that we are behind the innovations that happen to other languages. Specifically features, that make other languages amazing. We don’t have them, and it’s very sad.

What is your way to improve Ruby?

Every time is meet Matz at conference, I tell him for few hours what should be done to improve Ruby. Without any providing any help. It’s all about innovations. I try to innovate in my own framework, Trailblazer. So we can put the way we write business code to new level. I try to inspire people with my library code they use new concepts in Ruby that never been there before. I think that helping them to write the applications.

How do you see the world of programming in 10 and 50 years? And will Ruby and Rails have place in this future?

I don’t think Rails will have place. I really love Rails community and people in Rails Core. But I don’t think that Rails will be a thing in 10 years. But I think Ruby will still be around. It all depends on what is going to happen with Ruby 3.0. When it will be released and what features will it bring. I think Ruby will still be there. But I can’t tell you what will happen in 50 years. Because in 50 years there won’t be a need to program anymore. We will probably just write diagrams on the air.

In your opinion, what technologies are the most hypest today?

Craft beer and coffee, haha! Everything that hipsters do! Now everything is switching from OOP to FP. We are trying to avoid to have unwanted side effects in order to not let users to screw up internal state. Functional programming makes it impossible to users to do stuff in wrong order, for example. Like problems that we have in Ruby. I see a lot of development in functional languages because they are also way easy to paralyze and they have a lot of advanced features.

What advice can you give to average programmer to stand out the crowd?

Important thing in IT is that you always need to play with new tools. Even if you are not a super programmer, you have to look at the community and check what’s going on. It is really important to keep moving. Otherwise, I see that my current job at the police is really slow. They using very outdated technologies. A lot of people are affected. It is non productive. It’s good because a lot of people are keeping their jobs . But it is important to adopt new technologies. I’m not saying be a coding hipster and change your framework everyday. But a lot of new things in last 10 years make sense. People should use it and not just sit there and enjoy excellent job. They can get fired tomorrow.

What makes you excited about your job?

That’s beautiful question. I think that idea of open source is that you expose code that you think is helpful and people will tell you that it really is. This is what keeps me programming. When I write something and I see that a lot of people use it and they say like “It is so much better that I used before!” It’s great! This is making my day. It’s all about what comes back. I also program my own stuff and sometimes I think: “Yes!” But mostly I like when something what I do is helpful to other people.

Do you have any plans on writing a book?

I have already wrote one book. Two years ago, it took like 16 months. I was writing and inventing at the same time. That was a huge mistake! I was keeping updating my book with changes in my library code. It was massive. I plan to write more books, because it was fun. It has to be with the right timing. I’m not gonna write a book about, for example, a new version of my framework now because it’s still changing. I’m not gonna make this mistake again. It’s so much work! Unbelievable.

Do you have any nightmares, related to you job?

I used to have those kind of dreams few years ago. Sometimes I still have them.You always imagine software as something visual. Brain just does that. My dreams about those thing and passing the objects. And it’s always the wrong object! It’s the only nightmare that I have. I was able to have good work\life balance. So I have very rare the bad sleep. Even if I don’t look like it.