As I began this project, with the finish line to my Flatiron Experience so close in sight, I had initially intended to do a small project that I might finish up and then explore Node.js to replace the Rails backend and further expand the app.
In my previous blog A Process for Minimum Viable Prototype I outlined what I had hoped this project would become. Unfortunately, I did not hit my goal of including motion tracking, but everything else was mostly accomplished. The project, Wordmazing, is a game that allows parents to select words which then get parsed into their composite letters. The kids are then prompted to click on the correct letters, and once enough letters have been marked correct, words will be activated. The biggest challenge of this project was making it Object Oriented. In hindsight, while I wish I had worked harder to build it object oriented from the start, I’m uncertain if I would’ve been able to build at all. To put it differently, I find that getting something done and getting it right are two very different things. AND, that getting something done is best done quickly, but to get something done quickly? That often means sacrificing best practices in order to keep complexity to a minimum. As a beginning coder, this makes for messy code, but as I get better, I suspect my syntax and code-vocabulary will eventually catch up with what I want to say.
When we typically talk about an MVP (or minimum viable product) we typically have “the Lean Version” in mind. But, as revealed in Marty Cagan’s book “Inspired: How to Create Tech Products Customer’s Love”, Cagan makes the concept of MVP much more concrete, and it starts with thinking: “Minimum Viable Prototype” as opposed to a “Minimum Viable Product.”
Phrase Ninja is my third portfolio project within the Flatiron Software Engineering School. The title of this blog post alludes to the approach I ended up with for my third project: “Off The Rails.” Now, it didn’t exactly start out that way… but before I get to the part where my Code Train got derailed… there’s a few things I want to share.
I sometimes feel/fear that the path to mastery is not about tediously learning “the building blocks”, but understanding them in the context of a masterpiece. I bring this up, because I’m working my way through Rails and have some lamentations about (what seems to be) the general perspective on scaffolding, which is: “It’s too powerful for you, and you will use it wrong, so don’t use it.”