Open Academy Tales

with Henrik Nygren

Week 2: Progress?

The second week of the Open Academy project continued with studying and waiting for our first task. Not much happened, which was a shame, since I had hoped for a more exciting week.

Last week we had contacted the mentors for advice about a couple of tests that are failing on our computers and what we should be doing next. Now we managed to get an answer from one mentor, Eileen. She told us that our failing tests are known problems and nothing to worry about. She didn’t have any suggestions what we should do other than reading the contributing to Rails guides thoroughly.

This is quite ridiculous given how much time we have available (30 hours per week). Maybe they aren’t realizing that we have a lot more time allocated for this course than the students at other universities. One of local faculty members also tried to ask the mentors to give us something but they didn’t answer anything.

Things we did

As the mentors didn’t give us anything concrete to do, we tried to look at some issues on the Rails repo. Some of the issues were too hard for us to comprehend, and on some of them, someone had already commented that this is too hard, would require too big architectural changes, so it will not be fixed. Then the other issues we couldn’t reproduce so it was impossible to work on them.

We also looked at accepted pull requests and tried to figure what kind of contributions get accepted to the project. Trying to understand how every change affects the application turned out to be time-consuming but I found the work to be quite rewarding.

Modern learning methods

Because we couldn’t get anything useful done with the issues, we decided to spend some time learning more about Ruby, Rails, and Rails testing. We figured this would be the best use of our time, since chances are it will make our future work much easier.

Because different people in our team had their skills at different levels, we didn’t do all the studying together this time. Qian was reading the Rails tutorial book whereas Jussi wasn’t that familiar with Ruby so he took a basic Ruby course from Code Cademy. I didn’t pay much attention to those courses as I was already familiar with the contents. I did my own reading on random Ruby topics, and offered my help to the rest of team whenever they got stuck.

I wanted to learn more in depth concepts so we together started doing courses at Code School. As I haven’t used the default Ruby testing framework before, we took a course on that. We also took some advanced courses that covered topics such as common Rails design patterns, caching and so on. In total, we finished four Code School courses.

We also watched a couple of screen casts. RailsCasts ended up being the best source for those. Especially their source code walkthroughs were really enlightening. We also watched some GoRails videos, but their selection is quite miniscule compared to RailsCasts.

I think we managed to pick up a lot of skills even though we didn’t have any guidance. So I would count this as a success.

Wishes for the next two weeks

The main thing I wish for the next two weeks is getting some real work done. We haven’t managed to contribute anything to the Rails project, yet. I find this frustrating because that’s the reason why I’m on this course and we have already spent a lot of time on it. Maybe, once we run out of Code School courses to go through, we can try working on some issues again.

Getting more out of the mentors. The mentors seem to be too hard to reach and slow to answer our questions. I believe this is a shame: if they don’t communicate with us, we are on our own. So I hope they’ll be more receptive to our questions.

I also hope there’s something useful in the hackathon. One of our local teachers mentioned that the last year’s hackathon mostly consisted of helping all the students to get the working environment up. That kind of hackathon would be dissapointing for us since all of us got the environment working in the first two days!

Naturally I also hope to learn a some new things and tricks so I can become a better software developer.