PITADEV
Curiosity killed the developer's project.

Stack Overflow Dreams

Thursday, 14 May 2009 11:25 by aj

I, like thousands of other developers, have fallen in love with Stack Overflow.  I still use Google for the random programming questions that my teammates and I come across during the work day, but I am always stoked when an SO link comes up on my searches.  I generally check the site periodically throughout the day, although I don’t have time to troll it (like several other users seem to) and haven’t quite committed to setting up an RSS feed for it.  It is a tremendous resource, and though I was initially skeptical about its completely user-driven format, I’ve come to realize that that is exactly what makes it such an effective site.

For some odd reason, I’ve had particularly vivid dreams lately (no, it’s not as a result of Chantix, although it should be).  The other night I dreamt that I was sitting in my chair in our living room with my laptop on my lap, as I do most evenings after work.  I think we were watching the Twins bullpen throw another game, and my daughters were in their various states of chaos.  All in all, a very normal evening, except I was dreaming it.  Anyway, in this dream, I was in the midst of one of my frequent evening scrolls through the Unanswered question list on Stack Overflow, and noticed that my reputation had suddenly increased by 50 points.  I went to my user-profile page, and it had increased again, along with two new silver badges.  I clicked on the logo to go back to the SO homepage, and my reputation had increased by thousands, with gold badges and silver badges and accolades galore.  I was euphoric! 

Shamelessly Paint.Netted from Skeet's rep

It was such a realistic dream that I actually checked my reputation right away the next morning, only to see the sad reality  that is my true reputation.

Some day, 500!

This got me kind of mad.  I mean, what do I care what a bunch of other geek/dork/nerds think of my geek/dork/nerd abilities?  Just because I don’t hang on every single (often unintelligible) question that is posted shouldn’t make me less important or intelligent than the Stack Overflow Pantheon.  I mean, seriously, do these guys even have real jobs?  Do their bosses know that they’re spending hours of precious coding time scanning for reputation fodder?

Being a ruminant son of a bitch, I reflected on this for a while, and realized that I do care about my Stack Overflow reputation, and that’s OK, because beside being the best place on the web for software developing questions, Stack Overflow has become a center of excellence.  It is the premier community of software engineers on the internet, and having a good reputation among your peers is always a good thing.

Lately I’ve been posting more answers because I’ve decided that, good or bad, answers always help everyone.  Even if they’re bad or incorrect, they are a learning experience for both me and everyone else that sees how the community reacts to them.  It’s like a class that you really want to learn from; good students understand that in order to learn, they need to pay attention and put themselves out there, both by asking and answering questions.  And the brilliance of the site’s underlying mechanisms is that you are rewarded for putting yourself out there.  Every now and then I’ll hit the site and notice that my reputation has been bumped up by ten points because someone up-voted something I posted months ago.  That’s really frickin’ cool, if you ask me.

So, I say kudos to Spolsky and Atwood for designing a site that has become such a powerful community.  And even if my reputation sucks, I’ll still be reading, asking, answering, and ultimately, learning.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   Around the Web
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed

Developer Jargon

Saturday, 14 February 2009 08:17 by aj

With some amusement and a good chunk of confusion, I've been following the ongoing debate between Jeff Atwood/Joel Spolsky and Uncle Bob Martin.  I won't bother detailing the argument; if anyone reads this blog, they probably are already aware of the salvos launched by each faction (I ran out of words for the last link).  My befuddlement stems from the fact that the two sides really aren't that far apart.  It seems to me that it would be rash to say that either Atwood or Spolsky completely believes that proposed guidelines like Uncle Bob's SOLID principles are a bad idea.  And I'm fairly certain that Uncle Bob has respect for the idea that the Liskov Substitution Principle might be a little hefty for a novice developer to understand in their first years in the market.  After listening to Hanselman's podcast with Bob Martin on SOLID, I am convinced that Mr. Martin, though he completely stands by his guidelines, is aware of the complexity that these principles present at first blush.  The main similarity between the two arguments is that both Atwood (Spolsky has kind of ducked out of it, and I don't blame him) and Martin are going about laying out rules for developers the wrong way.

Atwood maintains that " Throwing a book of rules at a terrible programmer just creates a terrible programmer with a bruise on their head where the book bounced off."  And I agree with him.  There are, unfortunately, a lot of terrible programmers out there polluting our sacred pool.  But, there are even more programmers that don't have time to pay attention to blogs, read "seminal" books on design patterns and programming theory, and prototype all of the hot new ideas as they come out.  I've only started getting into NHibernate, even though ORM's have been around for years, and I don't count myself in the ranks of "terrible programmers."  To be frank, I just haven't had time to learn about it.  And I've found that a lot of programmers are like me, they don't have time either.

I have a colleague that is busier than I am.  He doesn't read blogs, doesn't go to trade shows or user groups, doesn't read books, but he's still a good developer.  And he wants to learn, it just doesn't always fit into his schedule.  As we have worked together, I've come to realize that one of the biggest barriers that he faces consists of the large wall created by acronyms, buzz words, and high-brow conceptual language that make no sense until you have a chunk of time to study them.

Software development is a complex science, without a doubt.  But when we create jargon to appease our programming nobility, we not only make it difficult to sell new ideas to the managers and decision-makers in our enterprises (not all of us have the good fortune to run their own company or work for software companies), we also create knowledge obstacles for the programming bourgeoisie. Ninety-eight percent of the development work-force does not have time to keep up with SOLID, TDD, FDD, DDD, ORM, DRY, YAGNI, AJAX, MVC, MVP, Agile, XP, RAD, MEF, Clouds, WPF, WCF, WF, ECM, NAMBLA, POTUS and WTF.  My colleague may have been creating class instances dynamically for years without knowing that he's been using the Factory Pattern the whole time.  He knows what works, what's fast, and what's scalable and easily maintainable, and frankly, he doesn't give a flying fuck about patterns and practices and principles and acronyms.

As a lead developer, I very much am concerned with patterns and practices.  But my main concern at this point is not keeping abreast with the latest theories, its finding out what works for our enterprise and figuring out how to help my peers understand why they should use it.  And in this effort, I have found that buzz words and acronyms don't do me a lick of good.  What does?  Easy-to-use documentation and code samples.  That, my friends, is how you sell software developing ideas. 

So it was quite amusing to me that Jeff's rebuttal to Uncle Bob was yet another set of acronyms, even if they stand for very simple concepts.  A lot of these terms make sense to me because I've taken the time to study them.  Terrible developers are staying terrible because the nobility has stopped talking to them.  They are too busy talking among themselves in a jargon that few others have the time or inclination to understand.  Keep it up, guys.  I'll keep trying to edit and translate.  

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Hot Karl!!

Friday, 28 November 2008 08:35 by aj
Quick post to give a shout-out to Karl Seguin for his recent "Back-to-Basics" articles on CodeBetter.  He's done two so far, the first on generics and the most recent on delegates, anonymous methods, and Lambdas.  Karl does a really nice job of writing these posts in a manner that isn't condescending, yet explains the basics of these critical concepts for advanced development.  Good examples, good summarizing, good work!

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:  
Categories:   Around the Web
Actions:   E-mail | del.icio.us | Permalink | Comments (0) | Comment RSSRSS comment feed