The Majestic Sea Creature
    • Edit
    • Delete
    • Tags
    • Autopost

    Mendicant University Stories: Genesis

    People are very interested in Mendicant University, but there is very limited public information out there about it, even now that we've been working on the experiment for nine months aleady. From March 26th to April 8th, I'll be posting short stories daily that might give a better picture of what's inside my head, as well as what's going in the ivory tower that is our Ruby Progamming school.

    Those who have followed my works know that it's no secret that I've credited virtually all of my success in software development to a single mentor, James Edward Gray II. Given the huge amount of people I respect and have learned from in this field, this may seem like a bold or even disingenous claim to make. But despite those concerns, it's a truth that I'd bet my whole reputation on.

    For a period of about three years when I was in my teens, JEG2 spent time with me on a daily basis showing me first, what a bad Perl programmer I was, and then later, what a bad Ruby programmer I was, even if he started learning Ruby only a couple months before I did. Before I met James, I thought I was an awesome programmer, and I didn't yet believe that programming is an inherently hard thing to learn. In fact, I didn't even realize that programming isn't a single skill to master, but instead a complex web of related activities that are impossible to practice in a narrow minded, linear fashion. With James as my mentor I learned that you don't just need laser-like focus to be good at this kind of work, but you also need to be able to carry a lantern from time to time to shed light on the big picture.

    Once you know that a lantern is a key part of the programmer's survival guide, that opens you up to make meaningful connections in the broader software community. The next step is being able to form a clearer and clearer picture of what this field is about, personalized by your own desires and interests. Back in early 2004, Ruby's community was still somewhat centralized and it was fairly easy to get a group of people in a single room or on a mailing list and call them a representative population of Ruby programmers. During that period of time, I was particularly inspired by a handful of folks from Ruby's old guard, in particular Matz, Jim Weirich, Francis Hwang, James Britt, Hal Fulton, Zed Shaw, and David A. Black. It's not a coincidence that most of these folks happened to also be on JEG2's list of heroes, both because of the centralized nature of the community, and because I assumed that if James found someone technically interesting, that he probably had a good reason for it. Studying the works of these individuals, I found that they had lots of different views on things, and that sometimes, they had ideas or opinions that conflicted with what JEG2 believed, but didn't appear to have any obvious flaws. This is when I learned that even something as objective as programming has both subjective components and things that are sufficiently complex to cause experts to reasonably disagree with one another.

    Over time, JEG2 and I transitioned from a purely student/mentor role to a role of collaborators, in which I could actually meaningfully help out in some way. My first project with JEG2 was HighLine, in which he did most of the work, but that to this day, there is at least some of my own code in it that wasn't completely ripped out and re-written. Later, JEG2 acted as an active collaborator on the first big project that I led myself, Ruby Reports, even if he didn't actually write much code for it. While it's not really a terribly important detail in the grand scheme of things, I think it's an interesting historical note that the Ruby 1.9 CSV standard library's initial development started as a need for the company that I was doing work on Ruport for.  Once the lines of our relationship blurred a bit in this manner, it gave me the necessary motivation to connect with others as collaborators. As a result of this, I ended up getting my first patch accepted to an open source library that I didn't help build by sending Aaron Patterson a couple crappy changes to Mechanize. Somehow this lead to a good friendship with him, even if that friendship mostly consists of me calling in the occasional favor to Aaron and by sheer coincidence, not doing much in return for him. I guess a single accepted patch buys you a lot!

    Soon enough, I found myself in a situation where people were submitting patches to my own projects, and over the years gained great benefits from getting to know folks like Dudley Flanders, James Healy, and Mike Milner on my Ruby Reports project. Work on this project led me to a subcontracting gig that JEG2 helped me set up by just making an introduction for me to the founder of Madriska Media Group, Brad Ediger. What started as a bit of work on a single project led to a lasting business partnership with Brad and I that has now gone on for something like four years. This relationship has been so successful, that I pass all my consulting leads through Madriska not because I couldn't handle them on my own, but because I love working with Brad's company so much. While these days RMU prevents me from doing any active development work for Madriska, the commission I receive from my team's work, along with the small amount of project management I do for Madriska helps cover some of our basic living expenses. Without James, there's no telling if I would have ever met Brad. That'd be both a community loss as well as a personal one, considering that Brad is now defacto lead developer on the Prawn PDF generation library that I started but never quite finished.

    These days, JEG2 and I have diverged quite a bit in our respective paths, but our interactions in my formative days as a software developer have shaped me in ways that I'll never be able to fully grasp. I take it as a good sign that sometimes we disagree these days, and that once in a while, I end up being the one who teaches JEG2 something in the process. But it should be at this point pretty obvious why I credit so much of my own success to James. After reading this story, you may be wondering what happens emotionally when someone takes on an arrogant, hot headed teenager who thinks they're some sort of Perl guru and shows them exactly how much they're missing, and then follows that up with all the support necessary to turn a train wreck into a success story? In my case at least, you end up with someone who feels an absolute responsibility to pay it forward in whatever way I can. More on that in our next story!

    Tags » rubymendicant
    • 26 March 2011
    • Views
    • 1 Comment
    • Permalink
  • majestic @seacreature

    Hello, my name is Gregory Brown. I am the founder of Mendicant University, a free online school for software developers.

    I am passionate about community service, education, and the free software movement. If you're interested in getting to know me a bit better, feel free to send me an email: gregory.t.brown@gmail.com

    Archive

    2011 (53)
    August (7)
    July (9)
    June (11)
    May (11)
    April (2)
    March (8)
    February (4)
    January (1)
    2010 (33)
    December (2)
    November (1)
    October (3)
    September (13)
    July (3)
    June (10)
    April (1)
    2009 (1)
    May (1)
    2008 (62)
    October (2)
    September (1)
    August (3)
    July (2)
    June (3)
    May (3)
    April (14)
    March (11)
    February (11)
    January (12)
    2007 (61)
    December (4)
    November (2)
    October (5)
    September (4)
    August (2)
    July (10)
    June (15)
    May (19)