Week Four at The Iron Yard

July 27, 2015

Great week. Learned some cool stuff. Made some cool stuff. Feel free to check my Github to see what I’ve been up to.

Rails!

After a day of fiddling around with Sinatra, we took the dive into Rails. And it’s awesome. I’m drawn to the Rails workflow because it feels natural. Dividing up the program based on it’s behavior and passing the data around based on the program’s needs is genius. This is a rare situation where my abstract understanding of the program has passed my actual understanding of the language. I find myself trying to do things that we haven’t learned but I know exist. Each day I’d hit a wall trying to make something happen that we don’t technically need, but I would like to use anyway. And then the next day we’d learn to do what I was working on. It’s like I created the mental space for a feature and then the lecture would fill it. I think there might be a valuable learning strategy there.

Helping other people

This is super important. I realize this applies basically everywhere, but I’m primarily talking about in a learning environment. Helping someone does just as much for the teacher as is does for the student. There’s something about describing something clearly, and out loud, that helps affirm your own understanding. Speaking as an extrovert, I know how valuable speaking your thoughts can be. Sometimes my opinions aren’t truly validated for me unless I’ve spoken to someone about it. My brain is just wired for interaction. This means my comments aren’t always finished thoughts, but I usually get there. And I think this goes double for teaching.

“If you can’t explain it simply, you don’t understand it well enough.”
-Albert Einstein

Perfect. There’s another layer of understanding that comes with being able to walk somebody else through the process, from start to finish, and create a proper knowledge transfer. The other reason is just be cool. There’s no reason to feel threatened by other peoples’ progress. You’re always going to be in the middle of the curve. Sometimes you’ll need help, sometimes you’ll to help someone else. Don’t be that guy.

This week’s issues

Something I’ve been struggling with is where to put everything. When do I add a couple actions to a current view and when do I make a totally new controller when the page I need is to similar, but not exactly like the existing controller’s views?

What logic is bad to put in the view or controller, and at what length should I go to take it out? I ran into a couple situations where something was easy and didn’t require too much code to do in a view, but I didn’t think the view should handle any logic. Taking it out seemed way more difficult than it was worth. I don’t know where the line is.

Weekend Thoughts

Next week we’re learning about models and getting into databases. After this we should be able to work in production environments. This is where my self-teaching ended and so it should be an exciting week. I’m guessing I’ll start hitting more walls and hopefully start learning more. We only have a few more weeks until we start working on our demo day projects and there’s still so much I want to learn about. Hopefully class picks up some speed and we start making more complicated apps and APIs.