The problem of being a good Ruby on Rails developer
For some reason I listen to keynote speech of Matz, DHH, and Aaron Patterson. I feel what they talk makes sense to me, that too Matz future ideas about programming, and how computers should serve humans and not the other way around, DHH’s idea of making Ruby on Rails so powerful that individual persons can challenge a big corporate employing tens of people coding a web app. these are powerful ideas. Aaron Patterson’s work of making Ruby as well as Rails faster and better. These all makes sense to me.
I also felt what decisions what were made to Rails were very sensible except these two:
- Getting rid of Coffeescript.
- Using Webpacker.
I still don’t get what webpacker is. Thanks to Rails 7 we have got rid of it. I am coding in Rails since it was 2.x and it has given me a excellent experience. Even today if I touch legacy code of my former teams, I can understand the code and make changes in an easy way. As far as I know, none who has inherited code from me has reported a problem to me. The reason for that is very simple, Rails follows a convention, and I follow it religiously. Rails is a philosophy which has many best practices, and I stick to it. This however does not mean that changing double quotes to single quotes because shitty Rubocop yells at you. Doing such things is stupid. But I have to admit in project dominated by fools, I did follow Rubocop.
But then what happens when you are a good, stick to the principle Ruby on Rails developer. For example what will happen if you are a honest India government servant? You won’t take bribes, and you will find t too difficult to fit in India. So what will happen to a Ruby on Rails developer when he is in a project that violates lot of rules laid by Ruby on Rails. It becomes difficult for you, making modifications to it becomes a pain. You start to wonder why people picked up Ruby on Rails if they don’t want to follow it.
When you get experienced, when you become Architect of tech, Principal Engineer just by your age (I have seen no intelligence increase in a architect compared to novice), people hire you not because they want you to maintain a good project or want to start a green field project, they hire you because they really screwed up with Rails and want some one with age and experience to solve it. It’s like telling a bank manager to work with thieves. Thieves knows crappy way of doing things, the bank manager however sees perfection in system, understands economics and don’t want to loot because he understands economics.
Note: When I say bank, I don’t means real banks of today which loot us, I mean a ideal bank and ideal bank manager in a dream world. Today a thief admits he loots us, a bank does not.
So being a person who does not mess up Rails framework because you are sane, you need to work with insane people who have truly messed it up. That’s a great problem for a Ruby on Rails purist.