Contributing to Bridge Troll, Junior Jump Day 2

The young fellow who opened the office door did not notice the scruffy kid with beat up shoes sitting out front. The kid jumped to his feet and proclaimed “Oh, you must be one of the mentors from Carbon Five!”

I was the scruffy kid, and I was eager to keep working with my mentor to burn through the beginning projects I was assigned.

To psychologically counteract my lateness from last time, I show up at Carbon Five’s doorstep 45 minutes early. I figured I would just hang out and hope someone from the office was an early bird like myself. Ken, the same young fellow I mentioned above, was indeed a new mentor from Carbon Five who was here to help “juniors” like myself contribute to Rails Bridge. I got the feeling he was a bit tired or was otherwise dubious that a probably smelly, scruffy looking kid was indeed one of the juniors he was going to mentor. Tiredness / suspicion faded with coffee and we ended up getting along really well while we waited for the other contributors.

I told Ken, and later other Carbon Fiver’s, that I had just gone to my new college’s orientation. I am an incoming junior transfer at UC Santa Cruz which means I joined the other hundreds of third year transfer students for a big day getting orientated to the school’s system and signing up for classes this last Friday. This naturally led us to the all to common conversation about “how necessary a Computer Science degree is for jobs.”

College, schmollege

It was interesting, though not entirely new for me, to hear that most of the Carbon Five team did indeed go to college, though few had a degree in Computer Science. Some didn’t even go to school at all and just chose to spend their days programming their hearts away until one day they were good enough to be hired. Some had Masters in Robotics or Physics, while many others had BA’s in Philosophy. Of those who did have a Computer Science degree the unofficial consensus, Ken told me, was that it didn’t really help them do anything they are doing now. Some Computer Science majors even spoke of carrying many of their classmates through most of the coding challenges on any “group” projects. Ken himself was graduate from Berkeley, but gained most of his coding ability from Dev Bootcamp, a for profit private school dedicated to short, intense “coding boot camps” that are all the rage these days.

Marc, my mentor again this week, reminded me that there are still some people that see a value in a CS degree. Marc knows that there are some common algorithms or design patterns that he is sure someone who has a degree in CS would know how and when to implement. He did acknowledge that its not really the degree, per se, but that a degree would have meant some time seriously studying use cases and implementing this algorithms and patterns.

On that same note, Marc did think that it was important for non Computer Science majors to participate in programming. He retells a story of his lawyer-friend who is beginning to learn programming as a hobby. Lawyer-friend has a background being a lawyer and has a lot of ideas on how programming can help other lawyers. A classic computer science degree type person may not realize the extent to which the technology they develop can help those around them. Different perspectives yield different benefits when it comes to technology.

Anyhow.

My progress on the project

The work I seemed to put into the project over the week and without Marc was useful, but we got snagged again by some details. While reviewing the very first error I had fixed, Marc had a good high level suggestion on how Bridge Troll should function and I agreed with him. So we went about fixing my fix, which ended up taking the better part of a day when we got stuck on a syntax error developing a unit test. By the time we fixed it, it was the end of the day. Such is life.

I am still eager to get working on all the features I wished I had when I was an event organizer using a fork of Bridge Troll for Open Hatch. I plan to try and knockout an entire story (small project with a clearly defined goal) in a week by myself, then get it checked by my mentor this Sunday, then move on. If that works it will be a great opportunity to learn from my new mentor how a story gets made rather than finished.

Learning by explaining

New mentor. We decided at the end of the day during our reflection that it would be beneficial for the juniors to swap mentors every day we work together. Some of the juniors had to do just that this last Sunday since some Carbon Five mentors could not make it this Sunday. These juniors found that they had to explain their previous weeks decisions which really helped expose their rough spots and lack of understanding. I thought it would be an excellent idea, despite how much I would miss pairing with Marc, since I totally find myself being able to follow the line of reasoning Marc uses but not realizing I don’t really understand it. When I was working on last weeks story by myself I really found that to be the case.

Reflection

Still super pumped about the program as I am getting a lot out of it. It is a great opportunity to learn Ruby (which is really really growing on me), Ruby on Rails (way more understanding, and still more to go, of a larger scale product) and behavior driven development (gonna always do this now since it’s way easier to solve bite sized goals than an entire story all at once). I’m finding it really beneficial to have continuous check ins each week. For the other juniors it provides space and time to work on their story and for me it is an opportunity to explain the decisions I made during the week and make sure they are “the most correct” way of doing things.