I’ve had the good fortune to work full-time as a Go developer for the past two years. I love it and will foreseeably continue to choose Go for all things server side.

The side effect of that is: I didn’t touch Ruby on Rails for a long, long time.

“Rails is very easy to write, but not easy to read”, said someone (forgot, sorry)

I’m pretty sure I would’ve LOL’d at that statement — Hello!? Ruby is the most succinct and Englishy readable programming language![1] — before my Rails hiatus.

Turns out, I’ve been carrying loads of latent Rails knowledge, non-stop, in my head, ever since I first picked it up in 2004! I guess Rails was a smaller project then, I watched that 15 minute video, and learnt enough to get dangerous, kept exploring and learning, updating myself as versions were released, and everything was just in my head.

But now, apparently those knowledge paged out. Revisiting and troubleshooting old Rails project without those memory pages is not easy. The implicit links between different parts of the software, the innocently overwritten methods that makes a database call (or not?), the hard to find keys and values that will set things to behave this way or that — I feel like a new boyfriend at the class gathering; can’t keep up with all the unspoken words and inside jokes.

If I have a Rails-shaped web app[2] to MVP today, I may still go with Rails, but I’ll likely only wield the parts of which the spells I still remember. The boring parts. But hey, boring rails code is the best rails code, right?[3]

As for the lost bits, it’s going to require some time and effort to restore. I’m not certain I will find it worthwhile to anymore.

[1] that is still true.
[2] crud app with server side html
[3] not clever code