Press "Enter" to skip to content

What I Learned (and Didn’t Learn) from Ruby

So, in case you haven’t obsessively backread every blog post I’ve ever made here, here’s the main thing you need to know for this post: at the beginning of the year, all of the interns had to set three goals, and three methods on how we were going to achieve those goals. Over the course of the year, we had to work towards those goals, with the intent of getting them done by year’s end.

Now, my goals were as follows:

  1. Work on personal time management skills by testing published time management systems, evaluating what worked and didn’t work, and then writing up my findings.
    Results: I did it! You can find the writeup here.
  2. Develop my project proposal skills by writing up a proposal to a) learn the programming language Ruby and b) create a digital portfolio and/or website using Ruby.
    Results: … uh. I definitely developed my proposal skills — I’ve written three or four by now, for various things including the winter intern project, a plan to learn Ruby over winter break, and the digital portfolio I’m working on this term. But the latter two… aren’t connected. So. Hm.
  3. Use the project proposal written in goal #2 to create a digital portfolio reflecting on my time at Carleton, studying and working in both the humanities and STEM fields.
    Results: Well, the funny thing about the fact that I only kind of sort of met goal #2, is that without that project proposal, I can’t meet goal #3. That’s what’s known as a dependency. I’m still making my portfolio, just… without Ruby, in a different way.

So, reading between the lines, the main thing that’s missing from this year’s goals is that I started learning Ruby over winter break, but didn’t have enough time to achieve or maintain proficiency in the language, which meant I couldn’t technically achieve my goals.

And that’s fine! The best laid plans of mice and men, etcetera, etcetera. I am a senior, who spent the past eight months focused first and foremost on my comps project/thesis. I tried to do everything else as best I could, but I am a creature of non-infinite capacity, and there’s no sense beating myself up about it.

Besides, I met my goals in other ways. Despite the way I set things up, Ruby isn’t actually directly relevant to my job. Being somewhat knowledgeable about computers and/or tech is, dare I say, a requirement for working in the digital ethics sphere. But learning one specific programming language isn’t. Ruby was a personal project that I was planning to use to augment my job.

So, coming at it from a different angle: I didn’t fail. I succeeded in an unexpected way.

Goal #2 wasn’t to learn Ruby. It was to develop my project proposal and planning skills. But if I’d said “develop my skills by, uh, I don’t know, I’ll figure it out”, that would have been a terrible goal! Imagine trying to meet that goal. I gave myself a goal, then gave myself a framework I could use to do it. And instead, I did it a different way.

Similarly, right now, I am working on a digital portfolio. I made a project proposal for it and everything. I’m just not using Ruby. And that’s okay.

What You Can Learn from My Failure Success

If I had to sum up what I learned, and what you should do… I mean, it’s going to sound simple. Painfully simple. But it’s a really hard lesson to accept sometimes.

Is it, “The ends justify the means?” No. “The means justify the ends?” What does that even mean? Of course it’s not that! It’s just…

Figure out what’s the ends, and what’s the means.

Ruby was a method to stave off the madness that comes from having no plan at all. But it wasn’t the only way to achieve what I wanted, and based on the time I had available and what else I had to do, it wasn’t even the best way to achieve what I wanted. I figured out ways to work my goals in using stuff I actually needed to do or opportunities I already had available, rather than make extra work for myself when I had very little time to do way too much.

Figure out the thing that you actually want to get done, and don’t hold yourself to a method that isn’t working.

Leave a Reply

Your email address will not be published. Required fields are marked *