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

Jul 3, 2015

Tips on How to Contribute to an Open Source Project

At the Sydney Alt.Net group last month we ran an Open Source Hack Night. The idea was to move from being a consumer of open source to being a contributor, to demystify what’s involved in an open source project, talk through some of the dos and don’ts, and the practical steps of getting started. Then we jumped in and did just exactly that over pizza and drinks. It was a fun night.

This is a recap of what we talked about on the night. I’m not going to walk through the mechanics of how to make a contribution, but will list some tips on how to find and get involved in a project and how to be successful at it.

Find a project. Duh!

More and more projects these days have issues that make for good “on-ramps” into the project. The web site http://up-for-grabs.net is an aggregator site for issues that meet this criteria. Have a browse of the projects on the site and see what interests you. Or just look at a project you use in your normal day to day work and see where/how you might be able to help.

Maintainers are people, just like you.

They’re developers with the same time pressures and insecurities that you have. The project they’re working on was likely started to scratch an itch and then made public in the hope it would help others. Remember to interact and treat these people with the same respect that you yourself want to be treated.

Check the social dynamic

If you see a project you might want to contribute to, look through the issues and pull requests to see how open the maintainers communicate and how open they are to contributions and different ideas. Lurk in the chat room (if they have one) and see what the banter is like. If you don’t like what you see, move along.

Contribution guidelines

Read the contribution guidelines if they exist. And follow them! They might be in a readme.md or a contributors.md or on a wiki. If you ignore them don’t be surprised if your contribution is rejected. Pretty obvious, right Smile

Contribute small changes to start with

It reduces the time you spend before getting feedback from the maintainer(s) and they’re easier for maintainers to absorb. A large contribution that you have put a lot of time into only to have it rejected is extremely discouraging and can you off from ever making future contributions. Large contributions also carry a lot more risk for the project making maintainers leery of spending the time to look through if this is your first contribution. Remember that maintainers are just like you. What would you want to see from a new developer making changes in your work projects? Small, incremental changes or massive, cross cutting changes. It’s the same for open source maintainers. They need time to get to know you.

P.S. Check with your employer about making contributions on work time. Unsurprisingly employers expect you to be building the thing they’re paying you to build. You should also check what the rules are for contributing back code to projects you’re using for work. Some employers still have backwater policies about open source and IP protection.

You don’t need to write code to contribute

Documentation is the one thing open source projects struggle with more than anything else. Maintainers would love it if you made documentation contributions. It’s just as critical to adoption as the code is, if not more so. After all, consider how you feel about using an open source project with no documentation versus one that has great documentation. A lot of projects now use https://readthedocs.org/ to host their documentation with the sources in git repositories. It’s easy to help write documentation.

You can also contribute by responding to questions/issues on the project site, on StackOverflow, or on other forum(s). You could also create screencasts, talk about the project at user groups, blog about it or do anything else you can to raise awareness. These are all useful and valuable contributions. Don’t be constrained by thinking it’s all about code.

A counter-example

Let’s learn from a an example of what not to do, shall we? Have a look at https://github.com/aaronpowell/db.js/pull/112 and you’ll see a number of things that have gone wrong here. To make it easier, let me give you a list:

  1. Assuming the maintainer is able to respond immediately to all your requests (12 hours between the posting of the PR and re-asking for it to be merged and then 24 hours until the second request for it to be merged).
  2. Making a large contribution that deals with more than just the issue that needs fixing.
  3. Changing the development tool chain used by the project.
  4. Claiming not to have time to adjust the pull request, but expecting that the maintainer does.
  5. Getting angry with the maintainer for asking for changes to make the contribution easier to absorb.

Yeah. Don’t do this, OK? Great! We’re good to go, then.

 

Want more information?

Need to go a little deeper? Want specific “How To” information or other tips? Check out this selection of posts and articles others have written:

Most of all, dive in! Have a go! We’d love to see you involved. Good luck!

May 3, 2015

ANZ Coders - Registration and Voting now open

Towards the start of the year I blogged about the ANZ Coders virtual conference that I decided to organise.

Well, the date of the conference fast approaches. I've just closed off session submissions and have opened up the conference for registrations and voting on the sessions.

So, why not head over to the conference site and register. Once that's done, have a look at the sessions and vote for the ones you think will be most interesting!

After all that's done? Spread the word, please. Voting closes at the end of this week and the conference is on two weeks after that.

I'm looking forward to it. I hope you are too!

Jan 28, 2015

ALT.NET–Past, Present and Future

As you may know, I help run the Sydney Alt.Net user group in Sydney with James Crisp. Jimmy Pelletier co-runs the Alt.Net group in Melbourne, and across Australia we’ve previously had groups in Brisbane and Perth as well.

Jimmy and I have been talking about the ‘branding’ of the user groups. Is Alt.Net still an appropriate name for the group? If we changed, what would make sense? Is Alt.Net still relevant in the current day and age we live.

First, a little history.

March 2007 - Microsoft releases Linq to Entities (aka Entity Framework). If we ignore Linq to SQL, this is Microsoft’s first serious attempt at an O/RM. Various developer MVPs look at it and don’t like what they see. They are used to NHibernate and are particularly upset about Entity Framework’s lack of persistence ignorance and the apparent disregard by the EF team for developers who might want to follow good design patterns in their application code.
There’s a good summary of the dispute for those who are interested.

April 2007 – David Laribee proposes the term “Alt.Net” as a name for the growing group of people who want to write good code, who are upset at Microsoft’s continuing long disregard for good development practices and those who are willing to look outside what Microsoft provides to see if there are better solutions. In other words, those people who don’t just blindly go along with whatever bad practices Microsoft was encouraging developers to follow and want to do things right.

October 2007 – An open spaces meeting for people who subscribe to the Alt.Net mindset is held in Austin, Texas.

November 2007 – Philadelphia holds the first ever Alt.Net user group meeting.

April 2008 – An Alt.Net open spaces event is held in Seattle. Microsoft’s home ground, It is well attended and further helps to define the Alt.Net movement and connect the people who are part of it.

June 2008 – Frustrated with Microsoft’s lack of change, and apparent disregard for those clamouring for improvements, the now infamous Entity Framework Vote of No Confidence appears.  While this makes a number of people wonder if the Alt.Net movement is simply a home for ranty, angry people, the controversy further raises the profile of the Alt.Net movement.

September 2008 – The Sydney Alt.Net group starts (I can’t believe it’s been going for over 6 years now!). It’s safe to say that at this point there was a significant level of interest in the movement. Melbourne, Brisbane and Perth follow soon after. Similar groups are springing up worldwide.

March 2009 – The third Alt.Net open space is held in Seattle. Scott Hanselman points at the elephant in the room by asking the question “Alt.Net – Why so mean?” (video no longer available).  The reactions from some of those in attendance show there is substance to the question and invokes some soul searching from many in the movement.

2009 – 2011 – A significant number of the people who started the Alt.Net movement continue to express frustration with Microsoft, and in particular EF and gradually drop out of the Microsoft ecosystem, generally moving to the new and shiny fad, Ruby on Rails. There’s a cargo-cult like spate of “I’m leaving .NET” blog posts that start appearing.

Fast forward to today

A majority of the people who started the Alt.Net movement have since moved on, either leaving the Microsoft ecosystem for other development pastures, or quietly dropping off the grid.

Even so, the spirit of Alt.Net continued on, gradually growing and spreading amongst developers so that the practices and approaches that were heavily talked about at the beginning of Alt.Net (i.e. SOLID principles, persistence ignorance, testability, etc.) have become all but mainstream.

We also see Microsoft making incredible adjustments to the way they treat developers. No longer is it about providing “monkey see, monkey do” tooling for the infamous “Morts”, They’re open sourcing their development, they’re taking community contributions for the core .NET framework, they’re out there in the open, developing completely naked and taking on all the feedback they can to ensure they give us, the customer, the products and tooling we want. This doesn’t yet apply to all teams or products, but the tide has turned. Unlike the dark days of 2007, Microsoft is not only listening to the community, but they are actively adjusting their plans based on what the community says. No longer does the stock standard response of “that’s good feedback” mean “I hear what you’re saying but I’m going to ignore you”, and that’s a great thing.

Credit for this cultural shift can be laid at the feet of Microsoft’s ASP.NET team and other vocal individuals within Microsoft who showed that an open approach and provision of tooling that supports good developer practices can result in much better products, higher engagement with the developer community and greater retention of developers in the Microsoft space. ASP.NET MVC, the Web API, SignalR and NuGet became shining examples of just how this works. Individuals such as Scott Guthrie (who announced ASP.NET MVC at an Alt.Net open space), Scott Hanselman, Phil Haack, Glenn Block, Jon Galloway and many others within Microsoft (too many to mention, sorry!) should be thanked for their tireless efforts swimming against the tide and bringing about the cultural changes we’ve seen.

With these changes, those of us who have been involved with Alt.Net for a long time are now wondering if the original mission is “done”. Is the movement finished? The momentum gone? Are those still involved just dinosaurs who have forgotten to move on? Is there a need to keep the Alt.Net name or should we change it? Does the rise of JavaScript make .NET far less important?  So many questions! Time for some answers.

The Future of Alt.Net

I don’t see that the mission has changed, nor do I think the mission will ever be “done”.

Why? Let’s go back and look at the definition of an Alt.Net developer, shall we?

You're the type of developer who uses whatever works while keeping an eye out for a better way.

Check. I don’t think we’ll ever be done with that. I’m always looking for better ways, and as device types and user interface continue to grow and expand we’ll need to keep on top of this. Mobile development anyone?

You reach outside the mainstream to adopt the best of any community: Open Source, Agile, Java, Ruby. In no way does Microsoft or the .NET community have a monopoly on good software development.

Agreed. These days we’re looking at JavaScript and functional languages as the latest area for inspiration. What other patterns will appear over time? Would you rely on Microsoft to be the source of all the good ideas? No, neither would I – let’s keep using the tools and platform we love whilst looking elsewhere for great ideas. As a tip, I wouldn’t rely on Google or Facebook to have all the good ideas either.

You're not content with the status quo. Things can always be more elegant, more mutable, and of higher quality. We're all experimenting with techniques to more closely connect the coding and testing to the business domain.

OK, so some of the examples are no longer relevant, but the fundamental idea remains the same. We can always do better. We want to embody continuous improvement both in ourselves and those around us.

You realize that tools are great, but they only take you so far. It's the principles and knowledge that really matter. The best tools are those that embed the knowledge and encourage the principles (for example, ReSharper). Furthermore, you feel that the most important qualities of a solution are maintainability and sustainability. Maintainable code means good design. Good design arises from the skilful application of design knowledge. The .NET community has been placing too much focus on learning API and framework details and not enough emphasis on design and coding fundamentals.

Again, agreed. Tooling is good, frameworks are important. But it’s the principles that make the biggest difference in our success. Interestingly, the statement about the focus being too much on API and framework details is one that could now be levelled at the JavaScript/Web community in general. As an Alt.Net developer, the tooling ad language you use is far less important than understanding the principles and practices needed to produce fantastic, maintainable, high quality software.

Does this definition of developer still apply? Yes!

Is the mission done? While we still have developers who fit this definition, I’d say not.

Has the momentum gone? No, though it has definitely slowed now that Microsoft is being more responsive.

I think what we’re seeing is that Alt.Net has moved into a different stage of the community life cycle than when it started. This is explained at http://www.psawa.com/Community_life_cycle.html and describes the following stages:

Establishment –> Action –> Maintenance –> Self-Evaluation –> Consolidation/Growth –> (Action…) –> Death

Alt.Net was established in 2007, action saw Microsoft change, and now we’re in a period of maintenance and have been for some time, operating under a leadership vacuum. If you were to ask “who are the key people in Alt.Net” who would you point at? I’m not sure. Not me, for sure – I just organise a local user group. I actually don’t know who to point to either and there in lies a problem. One that will either result in a gradual decline into the “Death” stage, or one that will trigger a “self-evaluation” leading to a new future for Alt.Net. Thus this blog post.

I think we need to refine our definition of what Alt.Net is all about. The mission to change Microsoft isn’t what it was originally about, though it quickly appeared to become that fairly early on. The mission is simple - pushing and encouraging each other to grow and improve. To be better. To achieve more with less. It’s not us against Microsoft (nor should it have ever been), It’s not us against Apple, or Google, or Facebook, or anyone else. It’s us against our worst enemies; ourselves.

Without each other to prod us along, to challenge our thinking, to check we’re not being lazy, etc. it’s all too easy to fall back into bad practices, to willingly accept the status quo, to stop being curious about other ways to do things and to be plain ol’ lazy.

So the angry young men and the “why so mean?” people of Alt.Net have since moved on. Fair enough. That just means we’ve learned as a community. We’ve grown. We’ve matured. That’s awesome! I love it! It means we’re doing what we set out to do. But is that enough now? Should we now disband?

I don’t think so. The Alt.Net mindset still isn’t mainstream. I still need others around me who will hold me accountable when I invariably do something stupid. I still need others around me who have different experiences from me that I can learn from. I still need others around me that think about problems differently than I who I can be inspired by. I still need what the Alt.Net community provides.

Do you?

P.S. This isn’t the first time people in the community have self-evaluated. Ian Cooper wrote about this back in 2010 in “Wither Alt.Net?”

Jan 13, 2015

The ANZ Coders VIRTUAL Conference

I love developer conferences. They’re a great way to learn new things and to connect with various people in the dev community I might not normally meet. There are also some great conferences in Australia and New Zealand for developers – the DDD conferences in Melbourne and Brisbane, the wonderful CodeMania conference in Kiwi-land and the Yow! conferences that happen along Australia’s east coast each year.

Unfortunately for me, I struggle to find the time to attend these conferences. They often clash with work or family commitments, and most are outside my home city adding extra costs to attend and increasing the time away from my family. I presume this would be the case for a lot of other people as well, especially those in country areas or cities where there are no conferences at all.

I could whinge about it or I could do something about it. I decided for option 2 (after doing a little option 1)

Announcing the ANZ Coders virtual conference!

As the tag line says, this is the developer conference you can attend in your pyjamas!

As I said earlier, the interactions I have with the speakers and other attendees are a vital part of any in-person conference and with ANZ Coders I wanted to make sure that an equivalent level of interaction could be possible during the conference. To this end we’ll be using crowdcast.io to host the conference. Each session will have an open chat room (much like Twitch.tv has for game streaming) and people will be able to interact directly with the presenter, live, while the session is on air! We’ll also have Q&A and polling features for other interaction options.
This won’t just be a bunch of one-directional screencasts you can fall asleep in.

Additionally I wanted to make this as accessible and inclusive for developers as possible, so we’ll be running the conference for two hours a night for a whole week, starting May 25th. That way, if you’ve got something happening one night, you can still make it to the other nights and be a part of it. At only two hours a night we don’t wipe out your entire evening with the family either.

So, what happens now? Currently we’re asking for speakers to submit 30-minute session proposals. After that, we’ll put all the proposals up for an open vote by the community and ask the highest voted topics to present. Too easy, right?

Head on over to the conference site for more information and don’t forget to mark the week of the 25th in your calendars. I hope you can join us!

Sep 11, 2014

Azure DocumentDB at Sydney Alt.Net, August 2014

At last month's meeting of the Sydney Alt.Net group I did a talk on Azure's new DocumentDB offering. That video is now available on ReadifyTV and here as well.


Azure DocumentDB Preview at Sydney Alt.Net, Aug 2014 from Richard Banks on Vimeo.

Enjoy!

Feb 26, 2014

A Visual Studio Online screencast

Last night at the Sydney Alt.Net User Group I presented a 30 minute session on Visual Studio Online, and more specifically how you can build an Azure hosted website without ever leaving the browser.

That session was recorded and is now available and embedded here for your viewing pleasure.


I hope you find it useful!

Nov 27, 2013

Agile 2014, Orlando, Call for Papers is Open

Why am I mentioning a US conference on my blog? When I'm in Australia? Because I'm helping review the submissions for the Development Practices and Craftsmanship track.

You can read more about the track and the things we're looking for at http://elegantcode.com/2013/11/23/i-want-you-for-agile-2014/.

Interested? Submissions can be made via the conference web site at http://agile2014.agilealliance.org/speakers/. So go on then, submit an idea. I'm looking forward to seeing what's in your head!


May 13, 2013

Lean Kanban Australia Conference

A number of Australian agile community people, including my colleague Steve Godbold, have decided to run a conference for Lean and Kanban approaches.

The interesting thing about this conference is that it is being funded and run using a crowd sourcing model and the organisers need to know if there's enough interest to run this thing.  Of course, this means they need you to get behind it and pledge something towards it and sooner rather than later.

What do you need to do? Two things:

1. Go to http://www.pozible.com/lkanz and pledge something towards the conference
2. Spread the word.

Simple!

Jul 16, 2012

Do You Need Somone To Bounce Your Ideas and Problems Off?

Of course you do. Everyone does.

The question is do you know who to talk to? Often the best person is someone outside of the situation you are in who can give you the perspective you don’t have and the ideas that you may not have come up with on your own.

Throughout my career leading teams there have been many times where I would’ve loved someone outside the company that I could freely talk to about what was happening and to have them poke holes in the approaches and decisions I was making, but I didn’t know who that could be.

I’ve been thinking about this scenario for a while and it’s time to do something about it.  As a result I’m making myself available to technical leaders who want someone to confidentially bounce ideas off.  No sales pitches, no hidden agendas.  All I want is to build relationships and to genuinely help you come to the best decisions about the problems you have.  I’m not going to tell you how to do your job or pretend to know all there is about the day-to-day realities of your environment but I will be someone you can chat to openly about what’s going on and what problems you are facing.

So if you’re located in Sydney and you hold some form of technical leadership role then please get in touch.  The easiest way to do so is to drop me an email at richard.banks@readify.net or via twitter (@rbanks54).

I’m looking forward to having a chat with you soon!

Oct 10, 2011

Australian Alt.NET Open Spaces – Tickets Available

The inaugural Australian Alt.NET Opens Spaces unconference is happening on Sat Dec 3 in Melbourne, directly after the Melbourne YOW! event.

(Free!) Tickets are now available

And for the curious amongst you, the famous Seattle Alt.Net conference is run in exactly this style, and has the motto of “practice don’t preach” to indicate that it’s all about participation.  Have a search for people’s thoughts on the conference and you’ll invariably find people who found the conference much more enjoyable that traditional lecture style conferences.

So what are you waiting for? Go and book a ticket! I’ve got mine, you should get your hands on one too.

And don’t forget to spread the word!  The more we have there, the better! Rewteet this post, write your own tweets, put a post on Facebook or LinkedIn, blog about it, tell your colleagues; whatever works.

Aug 19, 2011

Getting Out of Sync With IIS and Riding A Comet

It’s taken a little while but my slide deck from DDD Sydney, 2011 is now up on the web.
Unfortunately I don’t have the code or load test details embedded in the presentation but even so this should still have a number of useful things for you to look at, especially the resources section at the end Smile
Oh, as an experiment, I’ve put both a Slideshare player and a Powerpoint Web App player in this post.  I’d like to know which one you think is better (send me a tweet to @rbanks54 or leave a comment)

Jul 4, 2011

My Geek Origin Story, what’s yours?

Yay! It’s Meme time, people.  This one started by @delic8genius (Michael Kordahi) who wants to learn your Geek Origin Story and see how we all got in touch with our inner geek.  So here’s mine…

For me I remember it all starting with the Atari 2600 and a little game called Asteroids, though looking back at photos from my earlier years I can see that the Atari was merely the trigger that brought the latent geek in me to the surface. I mean seriously, look at this photo of me as a little tacker and just ask yourself if that’s not a geek waiting to happen!  And no, that’s not a laptop backpack I’m wearing, though it could be! :-)

Mini Richard

I spent days and weeks blowing up asteroids in space and leaping through jungles, swinging on vines and jumping over pits (Pitfall anyone?!), but that all faded to backstory when I went to a selective school and my parents decided it was good for my education if they splashed out on a Commodore 64.  The day that thing came home, my fate was sealed.  As a kid in primary school I remember the unboxing, plugging it into the TV along with the tape drive and an external floppy drive, turning it on and then seeing the blue screen, the blinking cursor and the READY prompt.  What now?! We could LOAD something from tape or disk, or we could crack out the programming books that it came with and explore the possibilities!  The games were great, but being able to type things into that C64 and watch them run was a revelation! Not only could I play games, and oh! how I played games, but I could write them as well!  I remember writing my own text based adventure games (they were crap of course) and building programs that would show animated running man sprites moving across the screen based on how the joystick was pushed.  It was a marvel, pure and simple.  Being able to make the computer do what I wanted based on my decisions and actions and see the results on screen.  Mwahahaha! The power! The unlimited, unfettered POWER!!! *Cough* *Ahem* Yes, what was I saying? I think I got carried away with myself there…

So I’m sure my parents wished I would go play sport with the other kids on the street more often than I did, but I knew I’d never be great at that.  Computers however? Different story.  I controlled the universe there.  They made sense to me.  I could figure out how it all fit together.  I could PEEK and POKE with the best of them.  I got so much joy, fun, fulfilment and square eyes from playing games and writing software that I knew what I wanted to do for the rest of my life.  You see, I’m a gamer, through and through.  I love playing games and programming is just another form of game.  A different form of accomplishment, but still the same sensation that you get from finishing a level or beating a boss fight.  Tell me you haven’t got some code working at times and fist pumped, or put your arms in the air in a victory pose! I’m sure this is how half of the world’s programmers started their coding careers – wishing they could spend all their time playing and writing games as cool and puzzling as Boulder Dash or Impossible Mission or Paradroid.  I’m no different.

So there you have it.  My geek origin story, what’s yours?

Jun 6, 2011

DDD Sydney, 2011 – Saturday, July 2nd

Are you an Aussie dev? Based in Sydney or somewhere within driving/flying distance?

Well, why don’t you get yourself along to DDD Sydney this year? Not only will you have a chance to hear me wax lyrical about Comet  with IIS and how async coding can help improve performance, but you’ll also get to partake of a slew, nay a plethora!, of topics from other great speakers.

Apart from my talk, I’ll also be a panellist for the Open Source panel, and I’m facilitating the Web Panel later in the day, so at least you now know which sessions to avoid, right? :-)

Jokes aside, last years DDD Sydney was a lot of fun and this year will be even bigger – the agenda and registration are now available.  Go check out the details, book yourself a ticket, and I’ll see you there!

Mar 15, 2011

Whither the User Group?

I’d love to hear some opinions on this so please leave comment(s) below or send me a tweet.

The Problem and Some Questions

In recent times in the Sydney area there have been a number of user group closures, extended breaks, sabbaticals and hiatuses.  The Sydney Mobile User Group has closed, the Sydney Business and Technology User Group is on an extended break, the Sydney Architecture User Group is going on sabbatical, the Sydney .NET Users Group has been on an extended break recently, the Sydney Windows Infrastructure User Group is talking of resurrection after being dead for over a year and both the Sydney Deep .NET User Group and the Sydney BizTalk group have been closed for quite some time now.

Whilst there are still a number of groups in action, it seems that the traditional user group format is losing traction.  The question I pose to you is this: Why? And what can we do about it?

Is it because the way we consume information has changed over the last few years?  For example I reach a much larger number of people via the Talking Shop Down Under podcast each week than I can via a face to face user group meeting.  Larger podcasts like Dot Net Rocks regularly get 60,000+ listeners per show, but a large user group only reaches 100 people once a month.

Is it because our sense of community is now online.  Twitter, mailing lists, social coding, Q&A sites like stack overflow and more all help us form online communities and allow people to connect with each other in ways that we’ve not done in the past, and help us avoid the awkward "I have to introduce myself to people in the flesh” moments that a lot of developer types find really difficult and that are needed if people are going to really communicate at user groups.

Is it because face to face meetings can be somewhat hit and miss?  There’s a time cost to attending a user group meeting and they occur at specific times.  Do people find the value of attending to low to make the time and inconvenience cost of being there in person worthwhile?

Do virtual meetings work?  Virtual is great for learning and reflects the changing nature of how we consume information, but they’re not so great for interactive discussions. We’ve run virtual alt.net meetings in the past and it worked for a while, but it was less than what I’d hoped it would be. Can we improve how these are done and make them really valuable for people?

Or is it something as simple as those who were running the group became burnt out or left the community and no one else stepped up to fill the leadership gap?

Some Thoughts

As a scrum person I like to regularly have retrospectives and “inspect and adapt”.  Add to that the alt.net approach of wanting to push the boundaries and challenge the status quo then it’s probably no surprise that I think it’s time to reinvent the user group as we know it.  The question now is how?  What would it look like?

If we go to the source of all truth (Wikipedia!) and look at the online communities topic we see that there are a few stages that people go through to enter and participate in a community.  They are:

  1. Peripheral (i.e. Lurker) – An outside, unstructured participation
  2. Inbound (i.e. Novice) – Newcomer is invested in the community and heading towards full participation
  3. Insider (i.e. Regular) – Full committed community participant
  4. Boundary (i.e. Leader) – A leader, sustains membership participation and brokers interactions
  5. Outbound (i.e. Elder) – Process of leaving the community due to new relationships, new positions, new outlooks

A user group generally targets the Insider/Boundary members, but there is often a barrier of entry for the lurkers and novices to overcome.  Attending a group when you don’t know anyone is hard.  Attending a group in a location you’ve not been to before is hard. Attending a group at night when family beckons is hard. People who have been attending for some time often forget about this and whilst they are more than welcoming of newcomers, most groups fall into behavioural patterns where the regular attenders talking to each other and the newbies sit quietly on the outer feeling semi-ostracized until someone drags them into a conversation.

A virtual group on the other hand encourages the peripheral and inbound people by making the barrier to entry low, but without the “stickiness” of face to face communication few people transition to insiders and help build a true community.

Another thing to consider is what motivates people to join a community, to remain in it and to participate in it.  Looking at the online participation topic you see a few key ideas.  Ideas that are simply reflections of real world communities.

Reciprocity – there’s got to be something worthwhile in return for the time cost of participating
Recognition – obvious enough
Influence – people want to have some effect on others in the community through high value contributions
Sense of community – it’s all about connections with other people.  We’re social beings, even if we’re introverts.

User group meetings provide the opportunity for all of these ideas to be borne out, though online communities do so as well.  Facebook being the poster child for this.  That said, the connections made via facebook, twitter and other online communities are far looser that those made face to face.  There’s nothing like meeting people in person that you’ve only talked with online – it turns “friends” into friends, for example:

image

A Proposal

So what can we do to reinvent user groups?  I don’t like talking about a problem without at least throwing some ideas for a solution out there to prompt conversation, so here’s a few tweets from some discussions this morning after I asked a few open ended questions about user groups…

image

image

image

image

So what do you think?

Is it time to move the traditional monthly user group meeting to become a more social event with regular online presentations around the topics the group is interested in? It’s how the Perth Alt.Net group operates and I know of a number of other groups that are starting to do the same.

If your user group did become a mixed virtual/physical group, how would you want to see the things run?  Social meetings at a bar, restaurant, someone’s house with a barbeque? Would you like the virtual meetings via Livemeeting? Livestream or Kyte.TV, etc? Or something else.

Click the comments link below and let me know (or send a tweet or start a thread on the Australian Alt.Net mailing list).  I’m really curious to hear what you think.

Jan 15, 2011

[Ann] Newcastle Nerd Dinner, Jan 20

A very quick public announcement: there’s a Nerd Dinner happening in Newcastle this Thursday, Jan 20.

Details are on the NerdDinner site so if you’re in the area why not come along.  It would be great to see you there.

Jan 10, 2011

The Tyranny of OR for .NET Developers

Over recent times I’ve noticed a handful of people writing blog posts about why they are leaving .NET and the Microsoft platform to move to Ruby on Rails, Python or something other technology.  The reasons vary from person to person but the general, recurring memes seem to encompass the following:

1. Microsoft stifles innovation
2. Almost all .NET developers are below average in skill
3. Microsoft means Closed Source.  Other choices mean Open Source.
4. Newer technologies are superior to .NET
5. Visual Studio is bloatware and static typing sucks. Dynamic languages and Vim FTW!
6. Corporate development is evil and .NET means Corporate
7. Only in the open source world do people truly understand proper software engineering practices

I’m not going to argue the points since these are peoples personal perspectives and the people who have them are more than entitled to them. However, I also think there are some other unmentioned reasons that people might leave .NET that could be described as one or all of the following:

1. The new languages offer new frontiers to be explored.  They like the romance and adventure and opportunity that this offers.
2. Communities in these new languages are pushing themselves to do better and as a result have some great, innovative and creative people in them.  They want to be involved in what these people are doing.
3. They love learning and a new language offers many new learning opportunities.
4. Many startups are using the new languages and they prefer to work in the startup culture.
5. Because the new languages are still new, the average developer hasn’t yet heard about them.  The ratio of poor developers to competent developers is good.  It feels more like an elite club.
6. Switching because it seems to be the cool thing to do. To quote Troy Hunt who I was talking to about this “It’s like all sorts of other social trends where there’s an attraction to being in a minority group”.  In other words: “If all those other people are switching then so should I.  I might be missing out on something!”

What bothers me is not that people are switching since it’s their choice and well done for having the courage to change, but that these various exodus posts carry a sense that language and platform choice has to be an all or nothing decision.  Ah, the tyranny of OR. The idea that you can’t have two seemingly contradictory ideas in place at the same time.  Jim Collins wrote about it in Good to Great and talked about it in this interview:

“they get caught up in what we call "The Tyranny of the Or," the belief that you cannot live with two seemingly contradictory ideas at the same time, that you can have change or stability, you can be conservative or bold, you can have low costs or high quality -- but never both. Our visionary companies all operate in what we call "The Genius of the And," the ferocious insistence that they can and must have both at once.”

What happened to taking what you know AND adding more knowledge and skills to it?  Are we so limited that we lack the ability to keep knowledge of multiple platforms and technologies in our head at the same time.  Do we not know how to evaluate options and pick the right tool for the task at hand? Can we not change the community around us and improve it when we think there are problems?

Why should it be .NET -or- a community that pushes boundaries? 
Why should it be .NET -or- Mac/Linux development?
Why should it be .NET -or- Open Source development?
Why should it be .NET -or- A lightweight IDE?
Why should it be .NET -or- Dynamic language development?
Why should it be .NET -or- Learning new things?
Why should it be .NET -or- Code Crafstmanship?
Why should it be .NET -or- skilled coders?
Why should it be .NET -or- a startup/dotcom style company?

Don’t make it a choice of this OR that, make it a case of this AND that AND that other thing AND oh, a bit of that over there.

If you want to switch, go for it, it’s your decision, just don’t be ruled by the Tyranny of OR.  Try to embrace the Genius of AND.

Dec 1, 2010

Udi Dahan at Sydney Alt.Net

Last night at the Sydney Alt.Net group we had Udi Dahan for an open Q&A session where he talked about systems design and NServiceBus.  The session was live streamed at the time, and the now the recording is available for posterity.

Watch live streaming video from rbanks54 at livestream.com

Enjoy!

And don’t forget to subscribe to the ozalt.net mailing list to stay in touch with other Aussies in the community wanting to improve the way they develop software and work with .Net as well as keeping up to date with other happenings at user groups around the country.  There’s also a set of RSS feeds on the main ozalt.net site you may find useful to keep in touch with other alt.net bloggers in Australia.

Aug 9, 2010

The Developer Experience Index

I’ve been musing on developer skills, certification rorts, hiring, and a whole lot more recently and I’ve been thinking that it’s about time we had something akin to the Windows Experience Index, but for developers – what I’ve whimsically titled the Developer Experience Index.  A representation of a persons skills and abilities in various areas of development and maybe some way of rating them overall as a developer.

Because my thinking on this is still solidifying, instead of writing down all my thoughts and having a long rambling post that gets misunderstood, I’d instead love for you to have a listen to Episode 24 of Talking Shop Down Under and get a feel for what I’m really talking about. It’s only 24 minutes so it won’t take forever to listen to.

I’m after feedback and thoughts on this to decide if it’s worth pursuing, so even if you don’t subscribe to my awesome podcast (and why not!?), have a listen to this episode and see what you think.  Even better, spread the word about it so that others can talk about it as well and we can get some conversation happening.

Would you be willing to contribute to such a community? Would you be willing to go through a community certification process?  If you are in a position to hire people, would you rather interview people who are rated well by their peers or those who are certified by an organisation that makes money from people attempting certification exams? Am I completely bonkers and this is a really dumb idea? Let me know

P.S. For those wondering (and who haven’t yet listened to the episode) I am aware of the Java Black Belt exams, and while that’s a good approach and shows the potential of this, it’s not quite what I’m after.

Jul 2, 2010

I’m a Visual Studio ALM MVP

I was very pleasantly surprised today when I received an email from Microsoft stating that I have been awarded MVP status for my contributions over the last year.

Here’s the proof – my MVP Profile.  Happy days!

Jun 28, 2010

This is Probably Not What I Had in Mind

The Sydney Alt.Net User Group is on tomorrow night (RSVP if you’re coming!) and as we creep up on 2 years of running I was thinking about how the group is progressing.  Personally I really enjoy the group.  I’ve learned heaps and I love hanging out with everyone but at the same time I wonder about the fact that the numbers are consistently between 20 and 30 and if there’s something I can do to increase the audience, or if it’s just the nature of the Sydney community.  After all there are so many other groups on during the month, plus it’s winter right now and with Sydney being such a large city travel may also be a factor. Even so, maybe there are things I can do to bring in more people.

So what do I do?  I turn to Google and ask for help, of course.  That said, I’m not really sure I want to take up the advice – while it might be an enjoyable way to get some free association and new happening I’m not sure I really want to go down that path :-)

image