Fairly confident that the Rails SacMusic is its final form

Why did Dragon Ball Z villains always seem to change forms? Vegeta into the ape. Freeza into his four forms. Cell into his weird handful of forms. I didn’t stick around for the Buu Saga, but there seemed to be multiple forms of that strange creature as well.

Much like Dragon Ball Z’s villains, SacMusic has taken many forms. Each of them different, more powerful in some ways, and completely lacking in others.

Rails feels like its final form. I’m not completely happy with Rails, and I think that the front-end story with Turbo is very lacking. I think the Turbo mobile bridge story is also going to be lacking, and I doubt it’ll be delivered in 2022 as promised.

But today, I set up email, both with Mailgun and in development with Mailhog. While I don’t have any background jobs currently running, the plumbing is ready with Sidekiq and Redis. I have multiple ways of displaying flash messages. I have an admin interface. I have working CRUD.

I did all of this while working a full-time job. My first commit was in May, nearly 5 months ago. Sure, it wasn’t non-stop: there were several weeks with no commits, and development was slow because I’ve been learning Rails as a part of this project. But even if I paused today and decided to rebuild this system in Laravel, it would still be a 2-3 month endeavor. And even then, the only benefits at this time would be a better templating system and a less confusing authentication story.

If I keep adding features for a couple more months, we’ll have crossed a point where it makes sense to ever migrate the back-end. This may be a good thing, even if I dislike many aspects of Rails: it’s in-line with the Top of the Mountain post I made on the Tinkerlog blog a little more than a year ago, where I want to be running a Laravel, Django and Rails app in production at all times. The new SacMusic knocks out my Rails app. My day job knocks out my Django app. And any project that I care to monetize in the future will be built with Laravel. Matrix Maker fulfills my Android app goal. And SacMusic could knock out my goal for an iPhone app.

It’s wild to see how much progress I’ve made in just a year. I wish that I was making more of it my day job, but I feel like I learned all of the new programming stuff I was gonna learn there within the first three months. The only things left to learn are AWS and Agile with a capital A.

Either way, hacking on Rails puts me much closer to my yesteryear goal, and even if I don’t love Rails this is a good thing. I mean, even looking at the Buffalo web framework, it’s heavily influenced by Rails. Elixir and Phoenix are influenced by Ruby and Rails respectively. Regardless of how I feel about this framework for this project, this has been and will continue to be a good use of my time.

And in regards to my goals: there’s no reason I shouldn’t be at my mountain top by mid next year. After that, it’s Go and/or Elixir. Exciting!

I’m still growing as a developer, even if it’s only in my off hours. I wish my job provided more programming opportunities and fewer Agile meetings with endless coordination from tickets that are so closely related that they’re harder to disentangle and split among developers than do as an individual contributor.

Leave a comment