Get Involved!
A while back, at the end of last year, a close colleague mentioned to me that he had been watching training videos on Pluralsight. I already knew about this website, and had come close to watching some of the training videos there, but right then and there I realised that I didn't just want to access some training - I needed to!
As chance would have it almost the first course that I stumbled across was Get Involved! by Scott Hanselman and Rob Conery. Talk about lucking out. Just from the introduction I realised that this course could change my life if I was prepared to embrace it; which is why you're now reading these words on this blog.
In the course Scott & Rob identify five specific areas where it is possible to make a difference. The list is neither exhaustive nor exclusive but it does cover related domains where a developer can make a tangible contribution:
- Blogging
- Github
- StackOverflow
- User Groups
In this post my aim is to demonstrate how I am taking on each of these areas and working out what each one can mean to me personally.
Blogging
I have written blogs before, such as my personal outlet on Blogger, and in the long distant past I even created a personal website that was hosted by the now defunct U-net provider. But whenever I thought about creating a professional, technical blog I always hit a brick wall of indecision through having too many choices; should I go for a hosted or managed provider; what language should I aim for; did I want to write server-side or client-side code; who was my audience and what did I want to say anyway?
Last year, before Pluralsight, I even made a half-decent attempt to put together a new site on Blogger which aimed to leverage the API of OpenStreetMap. This is a great resource and I hoped to provide an overlay of some very local data for other parents in my area. Ultimately though the effort of trying to gain traction in this hosted environment, where my hands felt tied by the environment, overwhelmed my enthusiasm.
So I retired to lick my wounds until Get Involved! came along. Once again I felt spurred to action by the realisation that I just had to put together a managed blog; although in a way this just moved my blocker one degree further away. I still had to find a platform that would work for me as well as select a blogging framework from the universe of choices.
Then another large dose of serendipity arrived with Troy Hunt's The World's Greatest Azure Demo. In just over an hour Troy showed me just easy it was to sign up to Azure, set up a new blog, connect to it from a development environment and set up a usable domain name. And all for free, more or less. It couldn't have been easier had Troy been sitting next to me while I followed the steps.
Which is how I ended up here using Ghost as perhaps the simplest, lightest-weight, most minimal platform that I could find with the core advantage of being directly available from the Azure gallery. I love the fact that I feel in control with Ghost and that there's nothing added on that I didn't explicitly add myself.
For the longest time I looked on Twitter as a great outlet for celebrity gossip and ephemera as opposed to a serious tool that could add real value. A bit like Facebook on speed if you like.
So I wasn't expecting to be convinced by Scott's pitch but, well, my eyes were opened. Once I realised that Twitter isn't so much about picking friends as about picking conversations then it made sense; it's what you're thinking that matters here and what could be more attractive to someone who spends most of their time lost in thought?
As a result I now have a handle (@RandomAmbler) and spend a reasonable amount of time looking for interesting lines of enquiry without feeling overwhelmed. There's no doubt that judicious pruning and filtering is required to maximise the signal-to-noise ratio but the interface makes this a doddle.
Github
In common with most developers, hopefully, I've spent most of my career using source code repositories; all of the way from SourceSafe to SVN in my case. But this always been in the professional arena rather than the personal; despite being aware of Github, CodePlex, SourceForge and the like. It just never seemed that important to be honest.
But if you want to get into Open Source (as well as follow best practice generally) then you'll need to hook up with an online software repository. The problem I had, and still have, is that there are so many to choose from and it's not clear what you gain and lose by selecting one platform over another.
Nevertheless all journeys start with a single step and so I signed up to Github; only to be blown away by the sheer number of projects within. With so many to choose from it's an almost impossible task to find a project which:
- is still alive and cared for by more than 1 person
- isn't so mature that it's hard to find an opening
- requires new blood to solve real problems
- is interesting enough to want to work on
- can be located amongst all of the noise
Even writing this list feels somewhat churlish since open source is all about collaboration and the giving of your time selflessly and yet I still have nagging doubts. Passion is fundamental to supporting such efforts and this doesn't come from a search box.
So this is an ongoing effort for me; to find a project that I can care about enough to devote precious time and effort to. Scott Hanselman has written about this chicken and egg situation and there are websites out there which can help but right now this is a work in progress.
StackOverflow
I like StackOverflow a lot and invariably find myself sent there by Google when puzzling over a strange api or unexpected code. I can almost always find a solution somewhere, or an approximation at any rate, and that's usually enough to break the deadlock.
But am I ready to either post questions or provide answers? I'm sure that I could add value somewhere but my problem is the need to race towards a solution as quickly as possible; this is invaluable to the poster, if they receive a good answer, but less so for the contributors. I just don't have the bandwidth to keep on top of the latest hot questions and context switching to answer is a productivity killer for me.
That said the advice from Jon Skeet on how to effectively pose questions is pure gold. Given the intellectual firepower of some of the top users on StackOverflow I think that putting some effort into writing a good question is the least that one can do!
User Groups
The final area of involvement covered in the video was users groups, local or otherwise but with the emphasis on face to face interaction I believe. I'm fortunate enough to live in London and there are plenty of technical groups out there if Meetup is any guide. Something like the London Software Craftsmanship Community sounds potentially interesting although I've also heard good things about the eXtreme Tuesday Club.
So far I haven't managed to make any of these groups although I did manage to take a day at DevWeek 2014 just the other week and that was very informative. It seems to me that conferences are another valid avenue for anyone who wants to get involved in the wider technical community although they don't come round as often sadly.
That's pretty much it. I've Got Started! - all I need now it to Keep Going!.