
Ask HN: What does the more intensive work in Rails/similar look like? - ashleypt
I&#x27;ve been learning Ruby on Rails and I&#x27;ve seen a lot of youtube videos of people building youtube and pinterest clones in like an hour or two.<p>What kind of work is done to diffrentiate from that? I&#x27;m curious what the more advanced workflows&#x2F;projects look like. What work is airbnb or github doing?<p>it seems like a logarithm where you get a lot of results quickly and the rest is incremental improvements to get slightly better, or is it another pattern?
======
avitzurel
[https://www.trip.com](https://www.trip.com) is 90% Rails I'd say. Everything
you see on the surface is Rails.

As you grow, you do less of "belongs_to" and "has_many" and you do way more
Ruby and way more Glue code that will work with all the models in the system
and generate something for the user.

Scaling is a big issue, you constantly work around "best practices" that don't
scale. (active-model-serialization for example) in favor of more fine-grained
control over your models and data flow.

These days, the work is about 45-45-10, 45% you do APIs, 45% you do
JS/React/etc... and 10% you do "Rails" (likely even less).

When the project grows, the monolithic nature of it starts to be a very big
pain in the ass. We are moving more and more into services that do one thing
well and not automatically include everything into the project.

Hope this answers your question

Tips: Forget Rails, Learn Ruby, HTTP, how things flow from the request to the
response. Adopt universal best practices.

~~~
jamesmp98
"Forget Rails, Learn Ruby" I disagree, Ruby is mostly nothing without Rails.
It's a great language, but otherwise has little usage when it comes down to
getting a job.

~~~
avitzurel
Even though I disagree with you, I didn't explain myself correctly initially.

Rails is a framework. You are not a Rails engineer, you are a Ruby engineer.

I see this a lot with people that started with Rails, they don't understand
the basics of Ruby and it's capabilities, they look for "Array comparison
Rails" etc...

------
atmosx
You're probably referring to videos like this[1]. That wikipedia clone has
very limited functionality and the interface is _raw_ even for _internal_ use.
I took a quick-lap over it, I didn't notice the author writing tests and/or
using JS.

Indeed Rails is extremely good for prototyping, but building an actual MVP
(let alone a product) takes a lot more than that + there are more stages that
have been ommited for very good reasons from that video-tutorial.

[1]
[https://www.youtube.com/watch?v=9zNouhuKaVs](https://www.youtube.com/watch?v=9zNouhuKaVs)

------
axvk
As a project grows, scaling takes a lot of work. Adding a new feature means
making sure that it works with all of the other features that are already
there. Having millions of comments means you have to figure out how to
implement caching correctly. And so on. It takes a lot of work to manage large
codebases.

