SalesEngine was a great leraning experience for me. I was able to get comfortable with a “large”-ish project and all the files associated with it, and am starting to get Gemfiles, Rakefiles and the like. Almost like becoming comfortable in a new environment. In my head, I was able to visualize how the files connected and worked with each other and I'm happy these things clicked.
The code itself was a beast, but since our style was succinct, clear and well-organized, I could really read it and follow it. Only a few things like some inject blocks threw me, most of it I could open and explain. It was so critical to the project to have it organized, had it been a rat's nest that “worked” I don't think I would have had much of a handle on it or understood anything we were doing. I very much see the value in running a tight ship right outta the dock.
One way we failed in the project is that we thought our pace was going well, but at the end we were way too far behind and therefore we did not complete two functions. I do agree that it's better to turn in half a project than a half-assed project, but it was frustrating to realize that our pace was too slow, too late. I'm still not sure where we went wrong and how we could have better known that we would need more time on the latter half of the project, and think that is just something that will come with time and experience. At least we both were taken by the same surprise so there was no tension between us on this “failure.”
As we shift gears to focus on web projects, I'm mostly excited to learn how we design the interfaces. We've been working with “invisible” projects, running them from the command line, etc., so I'm excited to see how we put together the visual aspects.
Altogether, these past four weeks have been a blur and when I try to get really specific about things I've learned, I'm pretty amazed. I'm going to start keeping track of specific things that are still confusing and things that click, so I can better look back and see my progress. We often don't realize just how much we've truly learned, and I think this kind of tracking will be very motivating for me in my hours of self-loathing and doubt.
This weekend, in between powder runs and the sauna, I'm going to take some time to study on things that I want to feel more comfortable with before we start our next project. I want to both solidify things that I feel I'm starting to understand, and try to read as much of Eloquent Ruby as I can. There are some chapters I'd like to read again and then do some exercises to practice the concepts.