Sinatra Project: Assessment

Tonight I had my assessment for my Sinatra project. I passed, which is good. But I’m not as excited as I was when I passed our first project.

On the one hand, I think that’s a sign of how much I’ve learned between then and now. The first time was so hard and led to multiple “what if I can’t do this what if I’m a terrible programmer I’m going to be so sad" breakdowns. This time I got frustrated, but I knew I could figure it out. I knew to check Stack Overflow, check github, search for blogs, and had a better idea about what I should try. So, that’s good.

On the other, I think knowing what I know now makes me want to do more than what I’ve done now. I was not happy with my project when I submitted it. It met the requirements and it worked, but … just but.

My boyfriend is a career software engineer. He has reminded me repeatedly (and necessarily) that a project will never be perfect because if it’s perfect it’s not done on time. He has said this is a good lesson in learning to code to the requirements. Just make it work.

I am obviously not a career software engineer. I’m a lawyer, which means I’m a writer. Writing is never finished. Writing can be complete, but it’s not finished. There is always another word that you can cut, or a word that will be more precise than one you’ve chosen, a metaphor that will make the reader feel what you intended.

I’m also a musician. A piece of music can be complete, with all of the required parts and notations and chords that make sense. But the performance of a piece of music is never complete, it’s never perfect. There are plenty of times a listener won’t know anything has gone wrong, but you’ll get off the stage only being able to hear the note that was a half step flat, or the rest that was an eighth too short.

The one thing I did get used to, as a lawyer and as a musician, is just doing the thing. When I was practicing law, I was a trial lawyer handling negotiations daily and being ready for trial every week. I didn’t actually do much writing then. A trial is like most other performances - you do the best you can to get ready and then WELP. Once it’s on, it’s on. There’s no edit button there’s no undo there’s no rollback there’s just what’s happening right then and whatever that is has to be enough because it’s what you have.

So yes, I did the thing. I completed the project and turned it in and you can log in and log out and make and edit and delete things. But I know my code is ugly, I know there are things I can do to make my data more secure and protect the database from bad data, and I know there are things I can do to improve the experience for the user.

I’ve decided that I am going to re-do this project and use it as a chance to (1) integrate the feedback I got during our assessment and (2) write the blog posts I should be writing, explaining the things I should be explaining.

I may not be excited about what I’ve done, but I’m still really, really excited about what I will do. And, to be honest, that excitement is satisfying enough.

(Today was also 200 Days of Code: Day 31. I’m still counting I swear.)