Over the past few years I've been primarily developing on the SharePoint platform, which typically means I'm working on an intranet. So for the most part, everything I've worked on has really only used by people who are already pissed off enough at having to use SharePoint, let alone some overpaid consultants solution that doesn't cater to everyone's personal requirements. No one really sees my work… I can't remember the last time I had a code review (in fact, I don't think I ever have, as a consultant or otherwise) – it generally just works, but I have no idea whether my code is good.
When I stumbled across Prism and realised it didn't have ASP.NET syntax highlighting, rather than throwing my hands up cursing the lack of what I needed, I decided to get my hands dirty. Finally my GitHub account was going to be used! After getting my head around git again (SourceTree to the rescue, damn I've missed git), I forked the project, built an extension to highlight ASP.NET, and submitted a pull request… which still hasn't been accepted =(
But, I have submitted a few bug fixes/enhancements since which have been merged, so yay! When I got the email my first PR had been merged, I was in the middle of shovelling lunch in my face and almost choked. Something I'd written is now live on a site that on its first day live had 23,000 unique visitors. That's scary and cool at the same time =) Another fix I'd submitted, three minutes after submitting the PR I'd received that it had been merged:
Commit, push, PR, pulled & merged (on the other side of the world), live on site. 3 minutes. Love it. Wish I'd started using @github sooner! — Daniel Flint (@nauzilus) February 27, 2014
That is awesome!
But this also made me feel so out of date. "Developing" on SharePoint is a term used fairly loosely. Most clients don't want customisation (especially not code customisation), and even those that do typically need dribs and drabs of "plugin" code; events handlers or ribbon controls. It's not overly creative or challenging, and you tend to spend more time trying to figure out the intricacies of the platform to fit your square-peg code through the round-hole framework.
Then I see people all around the world collaborating on these great projects flooding through at least weekly on G+ or Twitter, and I can understand why some people say programming with .net is like cooking in a McDonald's kitchen. I feel rusty. This industry already moves fast as it is, I feel like I've missed out on so much by working within a platform/framework language.
On the other hand, perhaps having such a flood of information from various social networks just makes you feel more inadequate than you really are. It shouldn't be any surprise that following some of the top people in the world will come up with a steady stream of cool stuff. More so, there are lots of people working on lots of different things, why am I comparing my self to the output of dozens of the worlds best? There will always be someone better than me. Perhaps I should just be happy I'm now a part of the 9%* of people who actually contribute, instead of being disappointed I'm not in the 1% (yet). At least now I have a sliver of code out there for the world to see. After all:
It's not who you are underneath, it's what you do that defines you
Yes, I just quoted from a Batman movie. No I'm not proud of it, but that one line struck a chord with me!
* I'd love to know the actual stats for this on GitHub