DBC Phase 1, Day 12
This morning we took a few minutes to talk about team cohesion as it relates to both the social aspect and our learning. I was under the impression that we had a great team dynamic, since all of us know each other really well and feel comfortable being ourselves around each other. We’ve been working together for nearly three months now, communicating in some form every single day, so it’s no surprise that we all get along so well. However, our teacher made it clear that while the social aspect and emotional support may be there, we’re not supporting each other enough with our learning. When someone knows something that others don’t, they should be sharing it out to the group. When someone doesn’t understand something, they should be finding a fellow student and stepping through it together, rather than suffering alone. It was decided that several opportunities existed for us to share out our learning, and one of my fellow students immediately organized a study group for us to prepare for the Phase 1 assessment that’s tomorrow. More on how that went in a bit.
The morning lecture was on Active Record, which we’ve been ramping up to for over a week now. We started last week with CSV files, learning how to import and export to them using Ruby. This allows us to have our data in a ‘persistent state’, meaning once the program turns off, the data is still available. We moved on to using SQL, which has us using databases that are accessible through the command line, but in a much larger and more purposeful way. We worked with SQL and Ruby, creating methods that can call SQL commands and interact with data directly through Ruby. Yesterday, we worked on a program that was meant to be a pared down version of Active Record. Similar commands, but methods and capabilities that were purpose built, rather than the actual gem (‘plugin’) that is the massive Active Record.
Finally, today we used the actual Active Record, and it really is mind bogglingly huge. This is the single largest program that we’ve used to date. Our lecture went through the basics of use, using Rake commands to quickly create, fill, delete, and rollback databases. We also went over the different parts of Active Record, from the migrate files, which allow us to use Ruby to create single files that perform a modification of the original table, to the model files, which include more Ruby Classes for interacting directly with what goes inside each row of a database table.
After the lecture, we were set loose to burn through the challenges, and burn we did. These were fairly easy challenges, they just required reading and following the commands. The thing to remember about Active Record is that it is huge, and there’s no way you can ever learn all of it without years of focused attention, but you can start using its basic functions right out of the box. I think what scares me the most is it’s a program I didn’t build myself, so I don’t know what’s going on under the hood. I can manipulate data, but I couldn’t tell you how it’s happening. Right now, it’s still code + magic = Active Record. Anyway, the challenges were mostly about learning the commands to AR, and creating files that will automatically generate what we want to see when we access particular information.
Lunch, yoga, then afternoon lecture. This one was shorter, going over some questions we might have about how AR works. Once we were back to coding, I pretty much tuned everything out for as long as possible. Afternoon challenges were more of the same, moving to different parts of AR, making files, showing the dynamic ability that AR has to make adjustments strictly based on how you name your files, etc. By the end of it, I had a pretty good understanding of how to access the basic information I need, though it still feels like I’m swimming in a calm sea that is impossibly deep.
Our late afternoon was filled with another session in the Engineering Empathy series. We focused on sexism today, talking about being better allies for our coworkers. We also discussed micro-aggressions, which can be seemingly innocuous comments or behaviors which a person may not have intended to be offensive, but can add up over time into something more easily perceived as sexism or profiling. The biggest takeaway I got from this session was that we’re all responsible for ourselves as well as our coworkers, and being able to communicate openly is extremely important when it comes to workplace equality. The failure comes when the victim of inequality doesn’t speak up, or when everyone else doesn’t notice.
We took a quick dinner break, then a large group of us got back together for review. This was an incredible idea, because it was an opportunity for those who are comfortable with certain topics to really solidify their knowledge by teaching it out. For those who aren’t as prepared, it was a chance to gain better understanding of their week points by learning from fellow students, rather than coaches or teachers who might be a little disconnected from the work because of their experience level.
We took votes on what topics were most important to people and started going through the highest rated sections. We covered just about everything, from hash arguments, to MVC, composition, factories, and even some SQL. I felt like we had a really good mix of folks that were ready and folks that wanted more clarification, so it really helped us all get on a more even playing field. Definitely a worthwhile evening. I went home with the comfort that we’re all as prepared as we can be, and can actually look forward to tomorrow’s assessment. I’m still scared, but not of the test. Just everything that comes with the thought of potential failure.
Until tomorrow, I’m Edwin Unger, and I’m a web developer in training.