Confessions of a Sparkbox Apprentice

What it's really like to be a Sparkbox apprentice—minus the nerf guns.

There's been a lot of chatter about our apprenticeship recently. Drew wrote about why we do it, and the Code School folks were kind enough to run a little feature about the Sparkbox apprenticeship in their blog.

There hasn't been a lot said about what the experience is like from the perspective of an apprentice, though. As a designer coming into the program, I was determined to become a skilled developer. Getting a foothold as a well-rounded web developer is more than a little daunting, though, and the apprenticeship made a huge impact on me. I want to share with you how the program helped launch me into orbit and find my place in this incredible industry.

In order to do that, I’m going to peel back the cover of my journal and let you take a peek. I often say, “I think by writing”; so when I want to think a lot, I write a lot. I wanted to squeeze every last drop out of my Sparkbox apprenticeship for the short six months it lasted, so I kept a personal journal of my progress. I didn’t necessarily intend to publish the writing—I wrote every few days as a personal exercise to track my progress and sort out the flood of inspiration I encountered.

I’m sharing my journey this way in the hopes that you’ll find something inspiring for yourself. It’s a little raw, and it’s more than a little honest. It’s the chronicle of the successes and failures of a little web worker who was willing to make a lot of mistakes in order to make a lot of progress. Let’s dive in!

Week 0: I’m In

Neil,

Sorry that it has taken us awhile to get through the selection process, but we’re happy to say that we’d like to offer you an apprenticeship with us beginning in January!

Week 1: The big day

I'm starting my apprenticeship at Sparkbox tomorrow morning. I'm extremely excited about it. I can't remember having looked forward to something as much as I am this for a long time! I'm giddy at the thought of doing the kind of work I love all day, every day. Having the company of my coworkers as I go is going to make the work even sweeter. I'm hungry to learn.

Week 2: Second-hand smoke

It strikes me tonight that if Sparkbox were to email me and terminate my apprenticeship now, after only two weeks of it, I would feel completely changed and grateful for the time I had here.

Even the second-hand smoke I inhale while working at Sparkbox is enough to blow my mind and make it more than worth being here. The few things I've been exposed to, and the atmosphere of collaboration and education I've experienced, have whetted my appetite in such a meaningful way that I'll never be able to forget them.

Week 3: New territory—journeys with text

I love that I'm the “stupidest person in the room.” That's exactly where I need to be to grow. Here are a few things I’ve learned so far:

  • Markdown and Marked app. I knew of Markdown but just had never taken the time to study the syntax and use it. It's changing the way and the speed at which I write.
  • I started hacking my terminal. That may sound small, but it signifies something really big for a designer like me. It's the first step in what’s going to be a long journey of tweaking and using my terminal in my everyday workflow.
  • I downloaded and starting using a better text editor. Then I realized that optimizing my editor for speed and comfort is another long journey of its own!

Week 4: Talking to my computer

Yesterday I continued my trek through an introduction to the command line. In other words:

I'M HAVING A CONVERSATION WITH MY COMPUTER, PEOPLE.

I'm wondering if viewing programming as an art—as poetry—will help me hack my brain into believing that I actually can do it. I've always been a poet and enjoyed the technical constraints of saying a lot with a little. Wrangling words is pleasurable, and I feel that same sense of pleasure when writing code.

I'm learning to speak the language my computer speaks and write little poems for it.

Week 8: Automation—a programmer's obsession

One of the biggest changes I'm seeing in myself now that I've learned from my Sparkbox cohorts is laziness—the good kind. Even if I never touched another line of code in my life, and went back to only designing stuff in Illustrator and Photoshop, I'd work entirely differently.

Every time I do things more than once, a little bell goes off in my head: "Hmm… I wonder if there's a way to automate this."

Week 12: Making music

Music professors study and teach the code of music as an end. Musicians study the code of music so they can perform on stage.

I want to be a musician. I'm learning code so I can play artfully within the constraints of the code. I'm learning so I can perform and do art—not just to merely know code.

Week 13: Developing patience

If nothing else, learning programming means developing patience for difficult situations. It builds moxie to press through tough mental exercises. It builds determination to keep going, knowing that there is a solution out there somewhere.

Week 14: Meet Ruby, my new friend

I’m incredibly attracted to programming. Coming from a front-end / design background, I wasn’t sure I’d be good at or enjoy programming in a language like Ruby. I find myself looking forward to the times I move back into Ruby development. Also, I find that the lines between “back-end” stuff and “front-end" stuff continues to feel more and more blurry. It all just feels like I’m learning how to handle an entire project, regardless of its requirements. That’s really exciting!

Week 17: Craftsmanship

Front-end work is going really well. I was comfortable with HTML & CSS coming in. I still feel stretched though and feel like I’m growing. The biggest change I’m seeing in my front-end skills is craftsmanship. After going through some code reviews with Ben, I came away with a desire to make my code go beyond just basic functionality. I took the time to comb back through my code and make sure it was completely semantic, choose better class names, and make better use of HTML5 tags.

Week 18: Rails

More Rails practice. It’s hard. So many moving parts. I’m learning to love the painful process of learning stuff like this though. I’m learning how to learn.

Week 20: Filling a space

I kept fearing that at any moment they would wake up, realize what they were doing, and raise a pointy finger: "You. Go home. You're just filling a space." I guess they were betting on me to do more than just fill a space. I guess they are counting on me to work harder than I ever have before and really learn this stuff.

Week 25: Looking back

If someone were to ask me what the singular defining moment in my life was, I'd point to my first day as a Sparkbox apprentice. There I sat, in a group of 10-15 guys and gals who were as much geek as I was. They were sitting at their computers: tweaking, testing, developing, hacking, designing, writing, communicating, typing, laughing, tweeting, hanging out together. I had never been a part of a team like that, and it blew me away.

I knew then that I could happily do this stuff for the rest of my life.


Enough about me. What does this mean for you?

Life is a giant web of relationships. There’s power in community; while no one can learn the skill of building stuff on the web for you, they can go a long way toward enabling you to learn. If you don’t have access to an apprenticeship model, don’t worry. The internet is full of people who would love to help you on your journey.

But if there’s any way you can make it work, get on a team and suck them dry of their knowledge. Find a place where you’re the stupidest person in the room. You’ll grow faster than you ever thought possible.