Showing posts with label community. Show all posts
Showing posts with label community. Show all posts

Tuesday, October 13, 2009

Leveraging the Net

Second up in my series of posts about leveraging communities is the topic of the Internet. I don't want to talk about mailing lists or sites like github yet, I'll cover those when I talk about User Groups and Free Software. I do want to touch on google, blogs, and aggregators.

There's a lot of information out there, but how you use it and how deeply you interact with it determine how much it will help you. Sticking to my three levels model, let's take a quick looks at passive, engaged, and committed involvement.

Passive involvement on the internet means not doing much more than hitting google when you hit a brick wall. This certainly provides some value in the instant, and has saved me from a couple of blown deadlines. I'm sure there are a lot of other folks with similar results.

Stepping up your involvement to an engaged level leads to things like following a blog or two. RSS aggregators and social networking sites are a huge boon to finding good stuff to read. You can get even more out of your internet time by sharing ideas and information back out to friends and co-workers by tweeting, tagging, emailing, or whatever links.

You can get the most bang for your time when you actually start blogging though. Whether you maintain your own blog, or write an article now and then for a user group blog, a friends blog, or maybe even a commercial blog/site somewhere you're going to end up explaining how and why to do things. As you start working with those ideas to write them out coherently, you'll find that you've learned more than you ever would have by just reading.

So, here's the big question . . .

What blogs are you reading or writing? Why do they matter? And, what are you learning from them?

Click here to Tweet this

Leveraging Books

As I talk about leveraging community to be more effective at what you do, let's start out with books. I think this is a good theme to develop because it really shows how the three levels of passive, engaged, and committed involvement provide successively more benefit. Books are also an easy gateway into improving yourself because people are used to reading as a learning method — we did it in school, and we're used to picking up a book on a programming language and moving on from there.

Just picking up a book and reading it is a pretty passive approach. You're letting the author push information to you without doing anything to better assimilate it. Even at this level there are some things you can do though:

  • reading intentionally, as espoused in , The Passionate Programmer
  • working on exercises presented in the book, or that you come up with yourself
  • or just taking notes in the margins or in a lab book about how you plan on using the ideas presented.

You can do better by writing or talking about the book. If you run a blog or belong to a user group (discussed in later articles in this series), you can write or present a book review or a synopsis. You could send out a short 'what I learned' email to co-workers. You could even bring these ideas out in a code review or similar setting. By synthesizing the ideas from the book with your existing expertise, you're forced to work with them in a way that teaches you more than just reading.

To really get the most out of the book, it helps to work with other people. Join a reading group (or start one). You don't have to be super formal about it, just get together with some friends over lunch or on-line. Set up a reading schedule and talk about it. Joshua Kerievsky has put together a great guide to book study groups. Even if you're going for something less structured than he discusses, there are some great ideas to be mined there.
It takes more effort, and sometimes means stepping out of you comfort zone, to be committed rather than just passively involved. The rewards are tremendous though. I'd encourage everyone to use books to become better at whatever it is you do. What books are you reading/studying? What are you doing to wring more value out of them?

Click here to Tweet this

Tuesday, October 06, 2009

Leveraging the Community to be a Better ...

I'm giving a presentation at work about leveraging communitites to become a better developer/tester/sys admin and I thought that I should really drink the kool-aid and make it a better presentation by involving the community. Over the next week, I'll be making a series of blog posts covering the material from my presentation. I'd really like to see two outcomes:

  1. hopefully people outside my workplace will find the ideas worthwhile and be able to use them.
  2. ideally, readers will be interested in sharing their ideas and experiences
Before I get to the specifics, let me share three themes that my presentation was built on.

First, a set of three books that helped guide many of my ideas: The Pragmatic Programmer, Pragmatic Thinking & Learning, The Passionate Programmer. These books have a lot of great ideas, and have each impacted the way I think about learning and acting on the things I've learned. I hope they're each high on your reading list as well.

I'd also like to develop an idea of inside out learning. For a developer, that means that you might start with your chosen language, then move on to learning about other programming languages (especially those unlike yours), next comes studying your industry, finally, the infrastructure you develop on and for (the OS, network, server hardware, etc.) Similar approaches might be sketched out for non-developers.

Finally, based on the idea of Sears' "Good, Better, and Best" model I'd like to talk about three levels of involvment in the community: Passive, Engaged, and Committed. Passive involvement yields the smallest results, but is still worthwhile. Because being engaged in the community causes you to spend more time working with the ideas and skills you're trying to gain, it provides more personal improvement. The greatest gains come when you are so involved in a community that you're helping teach others about the things you're trying to learn.

each of these ideas is probably worth a blog post or two. After I work through the five main ways to leverage the community in your own career, maybe I'll get back to these (if no one's beaten me to it.)

Here are the five topics I'll be talking about in more detail. As each post goes up, I'll link to it from this list:

Click here to Tweet this

Friday, June 05, 2009

More of the Ruby Mendicant: Gregory Brown's Back with Another Great Project

For the second interview in this morning's double-header, I've got a quick one with Gregory Brown (@seacreature) about his recently announced second run as the Ruby Mendicant. This is a big opportunity for the ruby community. I hope you'll pitch in a few bucks.


RubySpec has been a huge success in the Ruby Community, but it's just one part of a vision that Charlie Nutter put forward at the 2006 Ruby Implementors Summit. Another leg was an live look at how any given Ruby implementation performs against the spec . You're talking about making this happen as part of a second instance of Ruby Mendicant. Can you tell us a little more about your plan?

Greg I will essentially be trying to build and deploy a web based reporting system that aggregates RubySpec definitions and results across every Ruby implementation and language version we can get our hands on. This will help people know what the state of the specs actually are, and how well various implementations and Ruby versions run against them. I made a rough mockup of what one of these reports might look like. We already have some changes to MSpec and a skeletal database model in place that could facilitate this sort of report. The full scope of the project will emerge once I have a chance to talk with implementers and Ruby community members about what their needs really are, and I expect to have those details collected together by June 15th. But basically, I hope to support in one way or another most or all goals that Brian Ford mentioned in his idealized case of the needs RubySpec would serve.

Whatever the final roadmap is, I hope to implement something functionally useful to the community over the course of just 8 weeks. Based on the ideas I have in my head right now, if I just hacked on this in my spare time, it might be something I could put together over the course of 6 months or a year. But with me taking hard math classes in the fall, I'd rather fill my summer lows with some open source Ruby awesomeness. That's where a sustained, community funded effort, will come in handy. The cool thing is that it'll be easier to do it this time around than it was with Prawn....

What did you learn from being the Ruby Mendicant last time that will change your approach this time around?

Greg Okay, so there are two things that'll change pretty radically:
Funding and Organization.

When it comes to organization, I plan to have a fairly clear road map set up before I begin on this project. Ruby Mendicant collected 100% of funds before a *project* was even selected, which made it a very different proposal. The upshot here is that since we're mainly just building a web application to interface with an existing technology, there are less unknowns in the core needs for this project. While there are a ton of directions we could take it that may lead into dark spots, I think I can define with some accuracy a useful set of features from the get go. I don't want to get all ponies and rainbows about what you can expect from this project, things will change and I have no way of promising to deliver a certain set of features within a rigid time-line. But generally speaking, there are less variables here so long as we keep the project scoped tightly enough. This new way of organizing things might appeal more to those who were afraid of the ambiguity of purpose that the Ruby Mendicant project had.

Then there is funding, a topic I absolutely hate, but over the course of the years, I have realized is pretty important to successful free software development on all but the most sexy projects.

Since the time I finished up with Ruby Mendicant, I've been doing most of my work through a devshop called Madriska Media Group run by my friend Brad Ediger. Brad has been pretty cool about letting me spend some company time on open source here and there, which has been great. When I mentioned my ideas for what I wanted to do with RubySpec, it went over well. Madriska will be dedicating some time, money, and resources to helping me get this new project up and running. This will help out a lot, but due to the aggressive timeline and scale of the project, won't by any means cover the full costs.

So while I'm most of the way covered here in terms of funding and available resources, I'd like to help make sure I don't run into financial troubles again, like I did with Ruby Mendicant. That means I'll need to open up a donation drive even though I have the effort partially funded.

How can people contribute?

Greg Code help will definitely be desired a little later on, but right now, the community at large can most easily help out by throwing me some money. I am asking for $500 a week, for which I will guarantee at least 10 hours of dedicated work on this project. This will of course be in addition to any work that Madriska pays for, and not just a weekly minimum.

I plan to do the funding in two drives, one that's already open, and another that will open July 15th. Each of these cover 4 weeks of funding (a total of $2000). This time around, I won't need to raise all the money up front before I start, so those who are skeptical can wait to pitch in if they'd like. While work will begin officially on June 15th, I'll be preparing a roadmap and doing some preliminary planning over the coming weeks. Unlike Ruby Mendicant, you'll have a pretty clear sense of at least what my goals are before this project kicks into full gear.

Of course, those who trust me to do good work, and enjoy what I did with Prawn can go ahead and donate now if they'd like. I'm not going to complain :)

Have any organizations stepped up to help?

Greg When it comes to funding, MountainWest Ruby will match dollar for dollar on the first $500, so thanks for that Mike :) Obviously, if other organizations want to sponsor this effort monetarily, I'd be happy to take their money, so do get in touch if you're interested. What I do need to let folks know is that this is not a bounty, or a hired job, so consider your donation a gift if you make one at all. I can do my best to make sure you won't regret it, but be sure to ask questions if you don't know what to expect.

When it comes to slinging code, I've been having good conversations with the JRuby and Rubinius guys, and will reach out to the other implementations soon as well. I mostly just need their guidance on certain aspects of things because I'm fairly new to the happenings of Ruby implementations. While there is no formal agreement, I think that these guys will help out when they can, and that alone will be huge.

I think the best bet is to spend a few weeks getting together a function alpha for the community to poke at, test, and provide feedback for. After that happens, regular contributions via github would be most welcome. BTW, the working title of this project is Unity, which hopefully describes its intentions pretty well :)

Click here to Tweet this

Wednesday, November 19, 2008

Bad News From the Rubinius Team

Yesterday, Evan Phoenix broke the news that Engine Yard has scaled back their Rubinius team to two members. This means a number of formerly employed Rubinius hackers are now going to be looking for work. Developments like this are never good news. It's certainly not the end of the world though. I'm grateful for Engine Yard's support, but I think it's important that we not tie Rubinius to Engine Yard. In addition to their work, there have been huge contributions made by unpaid Rubinius volunteers, part-timers (including multiple GSoC projects), and other companies. Some of the most important work has been the cooperation of multiple projects on common goals like the test suite. Engine Yard has poured a good chunk of resources into Rubinius over the last year or so, and has that investment has paid off in a better, faster, more complete Rubinius (see Tom Mornini's blog post for some details). In fact, they hired more engineers to work on Rubinius than Sun did to work on JRuby. Thanks, Engine Yard, for the contribution to a thriving Ruby community. Good luck in navigating the difficult economic times we're all facing. And good luck to the great hackers who are now looking for a soft landing — if any of you have some Ruby work that you could send their way, I'm sure it would be appreciated. [Note, while Engine Yard sponsors my blog they were not involved in writing the entry.]

Monday, March 10, 2008

Gracious Dave and MINSWAN

One of the things that I always appreciated about the ‘old Ruby community’ was the incredible level of kindness that was exhibited by most posters. MINSWAN (Matz is nice, so we are nice) was the order of the day. As the community has grown, some of that feeling has fallen by the wayside.

Recently though, I saw a wonderful return to ‘the way things used to be’. Since Zed blasted it, it seems to be in vogue to carp about The Pick-Axe book. It might not be the best Ruby book out there anymore, but a lot of people like it and keep a copy handy for the reference. When it started to come under fire in a recent discussion about The Ruby Programming Language, Dave Thomas sent this gracious reply:

I think it’s great that we now have books that suit different people. I’d encourage everyone who wants to get a Ruby book to check out David’s book (and hopefully the PickAxe too). My hope is that the variety of books will simply encourage more people to start using Ruby.

Thanks Dave, for a great example of how we can be nice, just like Matz.

Thursday, February 14, 2008

Saying Goodbye to an Institution

Well, it’s a sad day for ruby-talk. This morning James Edward Gray II posted his last ruby quiz summary, finalizing his retirement.

After running three years worth of quizzes, I retired as quizmaster and passed the project on to some loyal fans. New quizzes are still posted to the Ruby Talk mailing list so look for them there if you want to participate.

Just because I knew it was coming didn’t make it any less unpleasant. I don’t think I’ll be alone in missing James’ weekly Ruby Quiz summaries. I’m not entirely sure who’s picking up the reins on the weekly quiz, but I hope they’ll work hard to live up to the expectation that James has laid for them.

As for James, I’m sure we’ll continue to see his contributions on ruby-talk, and in the larger community. Good luck in all your future endeavors my friend.