Travis Ingram     About     Archive     Feed
Beginner => Competent => Proficient

CodeUnion - The Beginning

Preface

I’ve been learning about different aspects of software development, learning how to code, for a couple of years now. It’s been challenging to say the least. This is the first in a series of posts that will detail and document my experiences. Some, like the one below, were written a while ago and not necessarily meant for public consumption. But I’ve come to feel that it’s important to acknowledge and share challenging experiences. So I’ll be doing just that.

Most of these posts were written over the past couple months, since the beginning of June, 2014, since I started participating in the workshops offered by CodeUnion.

20140602 - CodeUnion, Day 01

CodeUnion is an online developer bootcamp founded by Jesse Farmer and John Davison. They offer a few different workshops that cover the various skill sets needed to work as a software developer. Each of the three main courses last eight weeks and are conducted remotely, via Google Hangouts.

Their goal is to provide a learning environment for people who have an interest in development but are unable to uproot their lives and move across the country to pursue it. The first cohort began yesterday, June 2nd. I’m one of the six students selected for the inaugural class. This is my experience.

Beginnings

I stumbled upon CodeUnion while browsing Quora.

I sent off an email asking for more information. They responded and we set up a time to meet. Our first conversation lasted almost two hours. It was pretty intense, at least from my perspective. I’d not talked to anyone else about development related topics for, well, ever. At least not to that degree or depth.

It was great.

After our conversation they sent off some example exercises to give me a feel for the type of material that they would be covering. A few days later they got in touch and offered me a spot in their first workshop.

It wasn’t an easy decision. I had some concerns, most of which centered on my own abilities, on my capability to learn the material. I gave it some thought, though, and ultimately decided to accept.

Class stated less than a week later.

Structure

The class meets as a group twice a week, in two, two hour sessions. In addition, Jesse and John will be pushing out projects, via GitHub, as well as numerous coding exercises, katas, for folks to work on.

The goal is to develop a routine where the class is forking the repositories, working through the problems, and then pushing the exercise files back up to GitHub for review. J & J believe that writing code and getting feedback is key to the learning process. They want to provide students with as much feedback as possible. They recommended that everyone set aside a block of time, thirty to sixty minutes, and work through a given exercise, making as much progress as possible. Once the limit is reached, the file is pushed back up to GitHub, regardless of its current state, for review.

Since we haven’t met yet I don’t know exactly how the classes will be structured or what’s going to happen. The goal, I believe, is to give a high level overview of the projects that we’re working on and talk through any questions that have come up during the week. I’ll find out for sure soon enough.

Challenges

My biggest concern or challenge is whether I’ll be able to overcome my hesitancy to ask questions or speak up when I get stuck. It’s really hard for me to do so but that’s pretty much the key to learning. Being able to recognize when you’re stuck, when you need help, and asking for it. I worry about being perceived as stupid or lazy or incapable of learning the material. I also don’t want to slow the others down or hold them back.

My first day wasn’t as productive as I had hoped. I spent some time testing out my environment and making sure things still worked. I’d been more than a year since I set up Homebrew and Ruby and RVM and Sublime Text and the rest. Since I don’t have a real firm grasp on how they all interact, the setup always makes me a bit nervous. Typing random things into the Terminal app and hoping everything goes smoothly isn’t my idea of a good time. I prefer to understand what’s happening but finding information on such things is challenging. I often times don’t even know how to even start looking for information. So I type and then cross my fingers and hope for the best.

Thankfully, I survived. As did my Mac Pro. There was an error or two with Homebrew, but nothing major. I didn’t want to spend too much time on it because I’ll be getting a new machine soon. Once it arrives I’ll have to go back through and set everything up again. Which isn’t a huge deal and will actually be nice. I know my current machine hasn’t been cleaned up in ages so this is a great opportunity to start fresh.

So that’s where I’m at. I don’t really know what I want to say in these posts or how to say it. I’d like to have a place to talk about what I’m doing, learning, struggling with, understanding and so on. I’ll keep working on the format, though, and try to develop some consistency around what and when I post. I think doing so will be handy, a way to document and also review what I’ve done and serve as a reminder of what’s possible if I stick with a given project.

That’s the goal, anyway, we’ll see what happens.