Gray's Matter
Justice Gray - North America's Favorite Metrosexual Urban Legend
   by Justice~! Leadership | Personal  

As I was saying on Facebook this evening, I am now available to name your companies and/or your children for a small nominal fee.  For an additional fee I will make sure to give your company and your child *different* names!  However, as a small freebie I will let you in on how I come up with such amazing names for children and companies - I give them the patented Justice Gray CIO test.

For the uninformed among you, the CIO test is as follows: can you seriously see the CIO of a potential client using the name of your company in a sentence without laughing?  For example, "Well, after careful consideration Star Beta Five is the winner of the RFP".  No way.  It's just not happening.  You need to ensure that your name can be stated in a sentence without people collapsing in hysterics!  This logic of course, also works for children (who I'm hoping you don't name Star Beta Five).

Now, the second tip I'll offer here is that if you want to make sure your company is taken seriously, you need a name that is serious.  Something that involves serious concepts like:

  • wolves
  • blood
  • or both

Like "BloodWolf"!  You can also add "BloodWolf" - or its more professional variation "BloodWolf Inc." - to the end of *any* company name to give it an instant dose of credibility.  Let's try this again with the name we used above:

Before: "Well, after careful consideration Star Beta Five is the winner of the RFP."

After: "Well, after careful consideration Star Beta Five Bloodwolf Inc. is the winner of the RFP, *and* I'd like to have children with their CEO at the nearest opportunity."

As an additional favor to all of you (Happy Valentine's Day) I checked and currently www.starbetafivebloodwolfinc.com is not taken!  Could this be your chance to hit it big?  Don't miss out!

 

 

Star Beta Five Bloodwolf Inc.

I've even given you a possible logo, if you can secure the rights!

 

ASP.NET WebForms developers throwing a tantrum due to the MS MVC
Seriously guys, I'm going to run out of images if this keeps up


Apparently there are some WebForms lovers in the ASP.NET community who love the technology soooooo much that they were "not without a tinge of anger" when discussing the situation at PDC with Phil Haack, the program manager for the Microsoft MVC.  Can an online petition a la the oh-so-successful "Keep VB6 around because I'm tired of learning new stuff" be far behind? 

I had to laugh when reading the post, and not because of the image of a legion of "professional software developers" standing in front of Phil, looking down at their feet, hands in their pockets muttering, "If you don't stop progressing the industry, I'm going to burn my pocket protector".  No, I laughed because I know how Phil Haack *really* feels about WebForms development despite his public stance.  Let me share with you a heretofore-*confidential* exchange between myself and Phil:

From: Phil Haack (haack420_ForLife@Microsoft.com)
To: Justice Gray [E-mail censored because I get enough unsolicited offers for sexual favors]
Subject: I need your advice
So there was a homeless guy wandering outside the 7-11 tonight and what a sob story this guy had.  "Excuse me, sir...but I used to have a job doing ASP.NET WebForms development..."  I didn't even hear the rest of his sentence but when I heard the word "WebForms" I just snapped.  Kicked that dude in the nuts *17 times*, poured a can of gasoline on him and then SET HIM ON FIRE, yelling,
"Burn!!!!  Burn like the careers of everyone who still does WebForms development!!!" 

So do you think I went too far?*
"

I had originally sent this E-mail to the local authorities but the Seattle police simply told me that they don't have the manpower to handle the sheer outbreak of people crying their eyes out on the streets about
a) how they do WebForms development
b) they feel "betrayed" by the very *existence* of the Microsoft MVC
c) they fear change.  I don't mean the change people throw at them while yelling "Get a *REAL* job" either.

There's not really much I can say to this reaction.  We talked about it briefly a couple of months back when "Mr. Drag and Drop" GridViewGuy dropped by Rob Conery's to say, "BOOOOO HOOOOO TESTING IS HARD STUFF, hold my hand so I can start doing competent work".  There's pretty much no way I can possibly relate.  What I can tell you however, is that if you like sleeping on a bed of money, you should learn the MVC.    If only you knew how much people like me make cleaning up WebForms projects gone wrong!!!  With every half-assed DotNetNuke implementation I save somebody from, it's another *10 billion dollars* in my pocket.  Hey, to all of you people soiling yourselves because WebForms is dying: maybe some of you suckers should spend less time doing this:

ASP.NET WebForms developers: on the streets because of MS MVC


and more time doing this:

WebForms developers need to stop whining and start showering!!


I take donations for SAVING YOUR CAREER.  Contact me if you need to send me money!

* Sincerely, the homeless are people too and deserve to be treated with respect.  Not WebForms developers though.

Donald,

If you can supply me with the name of the person who put you through the incident you described today, I solemnly promise you that if it is the last thing I do, I will hunt down that man and kick him square in his gonads. 

Repeatedly.

A kick in the nuts to those who diss continuous integration(*)


From your description it doesn't sound like this man *does* have functioning testicles, in which case I promise you that I will find some testes, surgically attach them to this man and *then* nail him in the groin.

Repeatedly.

Just a word of warning to people usurping the title of "software developer" who would like to try the same thing they did with Donald and tell me "learning is useless"; I like to think I'm generally a pretty easygoing architect/lead/whatever you call someone who looks this fine.  Heck, who *doesn't* consider themselves easygoing even if they're a powderkeg of rage waiting to go off at any second?

However, nice as I am, do not tell me you do not want to learn if you do not want me to have to apologize to your family for the shoddy condition of your remains.

* With apologies to Bil Simser, who I think has a patent on this sort of visual representation
I assume everyone currently living in North America reads Mo Khan's blog.  I also assume that anyone who *doesn't* read Mo Khan's blog is a total loser!    Then again, I also assume that D'Arcy Lussier shooting up with horse steroids twice a day is going to have *no* side-effects whatsoever so you can take my assumptions for what you feel they are worth.

Anyway, if you have been reading Mo Khan's excellent blog (or seen the reference to him on the Caffeinated Coder) you would know that Mo has nominated me for a Microsoft MVP award.  I am flattered by this considering Mo's posts are always among the most intelligent and insightful on the web, which means that to post something like this means he no longer *cares* about having credibility.  That's a sacrifice only true friends make. 

It's unfortunate that Mo makes this recommendation at a time when the Microsoft MVP Program has almost zero credibility itself. 

Yes, that's correct.  You see, there are several fantastic leaders in our industry right now who are *far* more deserving of the MVP on *all* scales and measures of community involvement and technical credibility, and none of them currently have a Microsoft MVP designation.

I'm going to pause for a second while you all pull your jaws back up from the initial shock of my statement.

The people I am thinking of are far too humble to realize that they are being ripped off by the almighty MS.  Fortunately,  as any reader of more than one post on this blog can attest to, excessive humility is certainly not a problem of mine.  I'm going to drag this conspiracy into the light by naming all of these exemplary people and giving you a brief run-down of their background so that you will know as well as I do why the MVP program will never be able to hold itself as a bastion of the best of the best until these people are all MVPs themselves.



Tom travels pretty much all over the place spreading the good news about Test-Driven Development, Refactoring, and various other practices that pretty much everyone with a lick of common sense should know about.  Last year he presented at no less than six separate speaker engagements, will have done another two or three by the time February is over.  He has been running a technical blog that has consistently poured out excellent information for several years.   Why Tom is not an MVP already is quite possibly the second biggest mystery facing the technical community today.


Again we have someone who has tirelessly worked his @$$ off, presenting all over Western Canada and (once again) running a blog with fantastic articles yet with nothing to show for it.  I'm not sure whether it is his previous association with this blog through Hot Developer Corner or his ribald domain name that is keeping Microsoft from giving him the recognition he deserves as one of Western Canada's top technical talents.  David: if you are listening, perhaps changing your domain name to DavidWoodsEnterpriseSuiteForDevelopersExtensiveEdition.com will get Microsoft's marketing division to stand up and take notice.

You let me know how someone can:

yet *not* be considered for a Microsoft MVP.  I presume there's just residual jealousy over Kyle's chosen location because my brain cracks in half every time I try to piece this together in a logical manner.


I can't figure out for the life of me why someone who tirelessly tours around the entirety of Texas talking and blogging about MVC, NHibernate, TDD, and looking good to anyone who will listen doesn't have some sort of recognition for his efforts.  I am presuming that he is also a victim of jealousy over his "Potential Friend of Justice Gray" certificate.  Microsoft MVP Program people: if giving you a certificate of your own will get you to cast aside the green-eyed monster for Ben Scheirman, I will do so.

Here are some choice quotes from Microsoft's MVP site.  First from the overview:

"When a community participant sees an MVP in a technical community, whether in a newsgroup, as a user group host, a conference speaker, or a respondent in forums, that community participant can be confident that the information shared by the MVP will be of the highest caliber and will help every user make the most of the technology."

Then from the FAQ:

"Individuals are nominated for the MVP Award by their peers or by Microsoft, based on their contributions during the previous year to offline or online technical communities. Each nominee's contributions are then compared to the other candidates' contributions for the same year to determine who will receive the award.

Nominees are chosen from traditional and emerging community venues, including public news groups, forums, third-party Web sites, user groups, book authors, event speakers, Web boards, blogs, and wikis."

Microsoft - I plead with you publicly, let this statement mean something again by putting these men in the spotlight that they truly deserve!!  


BSN Lean Dessert Protein - the greatest tasting protein EVER
OH MY GOODNESS GRACIOUS


Almost a year and a half ago on this very blog, I gave readers two recipes that not only managed to invoke fond memories of childhood book heroes long past but *also* guaranteed you the ability to have any woman you desire hanging off of your 40 inch left bicep.  That was a long time ago and in fact looking back on it it almost feels like a different person wrote it - a well-meaning, incredibly handsome man, but a man full of what we'll call "protein naivete". 

However, today on my supplement shopping trip I have discovered a NEW king of the hill when it comes to *any* protein shake - the BSN lean dessert protein.  Much like the experience of pair programming with yours truly, most protein shake mix is at best nondescript and at worst vomit inducing.   However, I can truly tell you after experiencing BSN's lean dessert protein (cinnamon flavor) that becoming 765 THOUSAND pounds of ripped muscle never tasted so good.    I would probably have the entire canister in one sitting with several litres of milk if I could somehow get around my colon exploding - it is *that* amazing.  The moment my lips touched the sweet nectar of cinnamon roll protein milkshake I could feel the fat instantly melt away from my torso and my shirt rip into shreds as every muscle in my body swelled to 17 times its normal size.  Children cried, men screamed in terror and Mrs. L had to protect me from approximately 2000 lust-frenzied fitness models with nothing but the blade attachment of our blender.

To give you a visual testimonial of this product, here is a photograph of the author prior to discovering BSN Lean Dessert Protein.  See the happy cluelessness as he wanders through his life not knowing which end is up - so scared of his fragile, childlike body that he hides it from view of the camera:

Justice Gray before discovering Lean Dessert Protein

And here, revealed for the first time, is our author after having been freed from the chains of physical inferiority, proud to let his rippling body shine as a light among men and women:

Justice Gray after discovering Lean Dessert Protein
Yes, there are other ways to get yourself in fantastic shape so that you too can walk shirtless around DevTeach Toronto all oiled up and in your posing trunks.  For example, you could try out D'Arcy Lussier's patented Chicken Wing Diet.  Alternatively, you can inject bull semen into your left buttock 3 times a week like the Igloo Coder.  But is either of those methods going to leave you in a state of perpetual orgasmia?  I think not, my friends. 

BSN Lean Dessert Protein comes in no less than *SIX* flavors - banana cream pudding, cinnamon roll, chocolate coconut, whipped vanilla cream, chocolate fudge pudding, and banana nut bread - so you have absolutely no excuse to not be a chiseled rock of a man by the end of NEXT WEEK.  If you happen to pick some up *and* are going to DevTeach Toronto, let me know so we can have a posedown for the AGES!!
Donald recently wrote about how he brings new developers on his team up to speed, talking about wonderful things like pairing and coaching.  Of course, for Donald "pair programming" actually means Donald going up to a developer and saying,  "I'm busy stalking this one chick I met online - code up this feature for me or you're fired".  Say what you will about the Igloo Coder but he is a *master* delegator!   As he likes to paint a pretty picture, he also left out the part about "Tell your new developers they must suck up to you publicly as much as humanly possible or there will be consequences."  Thankfully Shane Courtille stepped up in comments to tell Donald, "Good job boss!!   Everything you do rules!  I made your coffee myself today...I hope you like it" (or something to that effect).  Shane, I can tell you with obsequious enthusiasm like this, your job is definitely safe with Donald.  


How Donald *really* handles new people

In all seriousness, it is good that Donald is involved with new hires to the extent that he is.  I find that a lot of companies forget about how vital it is to treat new people well in their first weeks/months at the organization .  Just as your new hire makes an impression on you in the first week, your company is also making an impression on the new hire.  If you want to ensure your new hire stays with your company or project for a while, it's best to make them feel that they made the right choice.    It's startlingly easy to do this; your company just needs to actually give a rat's ass about its new hires.  You would think this is common sense, but there's actually a wide divergence among organizations and the way they treat their new people.  Some samplings from my own past experiences:

  • telling the developer their computer isn't ready for their first day but to just sit and watch somebody answer E-mail for the next three days
  • Taking the developer out to the most expensive place in town for lunch and letting them pay for everyone when you forget the company card
  • "You know, it's good that you're here because we *really* need someone to come in over the weekend to fold some fliers for our marketing expo next week, and BTW I love the fact that you don't feel anything is 'not my job'"
  • And of course, the ever popular "RED ALERT!!  HOLY CRAP PRODUCTION IS DOWN PRODUCTION IS DOWN." 

In my career, I have only felt that possibly one or two companies I've worked for actually got the "new hire introductions" right.  As a team lead in my current gig, I'm the one who shoulders the responsibility of introing new people to our project.  What I do today and am sharing with you below is a composite of those good experiences.


Artist's interpretation of "newb"


1) Before the developer ever starts, ensure everything they need to get working is ready for them.


I should emphasize how important it is that the following things are ready for your new employee for their first day:

  • phone
  • computer
  • tools setup
  • proper software configuration
  • logins and access for everything needed to do their job (source control logins, etc.)

Note: I understand that in certain situations you may not have as much control over this as you would like, but try to do what you can to the best of your ability.  Although it's a bit underhanded, if you think IT is lagging have the developer take over your machine and simply tell IT they will be using it until a machine is made ready for them, so your own productivity is being affected.  Note that this won't work all that well if you're not productive in general, but then again if you're not that productive you're likely not being put in the position of introducing new hires.

2) The developer is taken around to be introduced to everyone in the company. 


I want to ensure the developer immediately feels that they are considered an integral part of the team (heck, if we're going to hire someone, they'd *better* be an integral part of the team!), so I will take him/her to meet and greet.  Note that this is not limited to developers - your new hire should be aware of all of the stakeholders in the project, from the lowest to the highest levels where possible. 

3) A document called "Newbie's Guide to the Company" is given to the developer

This can be in wiki or Word format or *any* format for that matter.  This explains the general technical team structure, some company policies, as well as commonly asked questions and answers.  For the first week or two of the employee's time, that employee is responsible for maintaining/adding to the document as they see fit.  If you're doing a document like this, I recommend it being light in both tone and in page count.  The best way to ensure that this document doesn't get updated or read is to make it 70 pages long and looking as if it was written by someone who's never gotten laid.

4) Pair programming

Presuming that we didn't hire this guy or girl on their ability to write scintillating documentation, the remainder of the week is spent doing off-and-on pairing with a developer on the project, as we handle a minor bug/feature.   While we are doing this, we also take the opportunity to give a small tour of the architecture through code and a discussion of how our general methodologies work.  Note that when I say off-and-on pairing, I do not mean show up for 15 minutes a day to see how the developer is doing and then running off to an important meeting.  For the first week, pretty much nothing should be more important then the time spent with the new developer, and this is something that management and the team should both understand. 

5) Lunch

I take the developer out to lunch once or twice depending on the time frame for the week.  Once is with the main team they'll be working with, and once is with me one-on-one.  Always pay for the new hire - if the company doesn't pay for it, cover it yourself.  Some people consider this too expensive, but I counter that the cost of one or two meals is nothing compared to the investment of my time and the team's time if this person leaves after only a couple of months. 

I'm always interested in self-improvement, so I thought I should ask a couple of questions of those that are reading:
a) Are there things you would change about the way I am doing this?  Too much?  Too little?  Not enough tips on stylish shirts and fantastic hair?  Should I get the new devs to go wash my car?
b) What is the worst experience you've had as a new hire?
c) What is the best one?


   by Justice~! Leadership | Technical  
Mrs Loquacious, the new face of technical leadership
Is this the new face of technical leadership?

We've talked about parts of technical leadership in the past, but my wife has gone one further and written a 3-part series of articles on how to be a good software development lead.  Those of you who know me no doubt find it odd that my wife would be dispensing advice on leading software development teams, considering that my wife is:
  • not leading a software development team
  • not *part* of a software development team
  • not a software developer
In fact, the closest that my wife has come to programming would be the day that I attempted to explain binary addition and subtraction by telling her the story of The Kingdom of 1 and the Kingdom of 0.  However, like me, my wife *is* incredibly good-looking, and as we've discussed before, good looks == credibility.  Thus, not knowing programming didn't stop her from writing a fantastic series of articles that I am linking below.   

There are a couple of things I either re-confirmed or learned as a result of reading my wife's articles:
  • I talk entirely *too much* about work to my wife
  • My wife is an excellent writer
  • My wife is horribly, *horribly* biased
  • Her articles are *FAR* better guides to leadership than I could ever write.
  • Apparently the Igloo Coder has been her second husband for the better part of the last several years

Part 1, Part 2, and Part 3 of my wife's guide to being a good leader can be read by clicking on the appropriate part.  She believes that effective leaders:
  • do not assume superiority over the team
  • do not see their team members as threats to their position, but as measures of their own success in leading
  • believe that every person on the team has something valuable to offer to the project
  • demonstrate respect and restraint in the way that they speak to others
  • give credit where credit is due
  • take advantage of every opportunity to put in a good word for their team mates
  • work actively as a part of the team
  • do as they say at all times

Of course, we all know that being a *good* leader also involves the following attributes, which my wife apparently forgot to list:

  • having a wild, lustrous head of hair
  • being the best-looking member of your team (or in the case of some of us, your entire organization)
  • owning a Macbook Pro
  • making posts chock full of bulleted lists

I do try to follow the principles my wife describes, even if they aren't as important as the four I just described.  I am not the fabulous leader my wife believes me to be - I do the best job that I can but I, like anyone else, am always learning.  But her articles are definitely a good starting point for anyone who wants to get into the wild sex and cocaine sniffing that is obviously part of being a technical lead! 

I like to generally avoid having meetings (or long ones, at any rate), but when I do have to schedule them, I like to make the meeting request as impactful as possible.  Since not everyone knows how to write a proper meeting request, I thought I would share an example of an actual meeting request that I sent out, with the names changed to protect the innocent:

Based on Drew's adventures with the ROC application and Team Foundation Server, Kory did a quick investigation and his findings regarding this will SHOCK and ASTOUND!!! But will Kory survive what JACKSON KEVAC has to say about this extraordinary development?  This meeting will change the face of FSS application development FOREVER!!!

There are some key differences between this and the average meeting request, besides the fact you were likely aroused while reading it:

  • Judicious use of exclamation points.  This conveys unbridled excitement and gets people interested in your meeting.  I left out the tilde-exclamation combo of "~!" as I think it comes off as a little unprofessional.  Meetings without exclamation points are also meetings without attendees!
  • Use of bold font to convey importance.  Nothing gets people jazzed up like seeing their name in bold print.  If you need to convince someone of a point, it is best to reference their name in all caps and bold font before the meeting so that they too can feel like a super-hero.  It worked for this meeting.  It works even better when combined with:
  • Use of "action" terms.  Note the use of words like "shock" and "astound" in this meeting request.  Seriously, how many meeting requests do *you* receive with these words in it?  Have you ever received one like that?  Probably not, and that's why *this* one stands out among the pack.  Rather than leaving people thinking, "Another boring meeting to call in sick for", have them anticipate the meeting with fervor.  "I am going to be shocked and astounded!!  THIS MEETING IS GOING TO RULE~~~!"  Any sort of metaphor that compares the meeting to exploding genitalia is *money*.  However, be careful not to overuse it lest you be typecast as the guy or girl who always talks about combustible genitals.
  • "Forever".  Why don't people like to go to meetings?  Because they don't think they are of any consequence.  Wouldn't you be more likely to attend a meeting if you knew that the ramifications could be felt for years...even centuries??  Of course you would - you'd be there with bells on!  You need to make sure that everyone knows that the meeting you are scheduling is of earth-shattering importance.   Try to throw in something that makes it a little personal, too!  "This meeting will alter your destiny for ALL TIME!!  I'm talking to you Steve!!!" is a good example.

The important part here is that you are not writing a meeting request, you are writing a comic book solicitation.  It's this sort of BANG~!, WHOO~!, and BANGWHOO~! that people are looking for out of these meetings.  I have not failed yet to have scheduled a meeting with this type of fanfare, where someone did not come up to me afterwards and either:

  • compliment me on how exciting the meeting was
  • offer themselves to me sexually
  • both

Trust me, this might have a chance of happening to you too*!

* that result might be awkward in a situation where you just work with some other dude like Mack and Dickson do, but I figure when you're just two people working together you shouldn't need to have meeting requests anyway



   by Justice~! Leadership  
Captain America - Gynecomastia Sufferer
Captain America, inspirational leader and apparent gynecomastia sufferer

When you think of mentors...

when you think of managers...

when you think of LEADERS...

heck, when you think of *borderline competency*...

...your thoughts likely do *not* immediately gravitate to someone who proclaims himself "North America's Favorite Metrosexual Software Developer".  Thus, I'm sure the fact that yours truly *is* a technical lead comes as a 24-esque shock twist to some of my readers (and might make as much logical sense as Wayne Palmer being President of the United States).  Astonishing as it sounds, there have been several companies where I have found myself leading, mentoring, and (*shudder*) managing teams of developers.  I have no illusions about this having to do with piddling things like "talent" or "credibility" - no, we all know why I'm a lead: because I'm ridiculously good looking eye candy.   However, for the purposes of the rest of this post (and some future posts to come), let's pretend that I *haven't* pulled the wool over everyone's eyes and that there are some secrets to good leadership that involve more than subtly flexing my biceps and batting my eyelashes every time a female co-worker walks by*.

One of these secrets is called *integrity*.  Integrity is the foundation of good leadership, and its absence will undermine a leader faster than any sort of office politics.  Integrity is largely defined as being trustworthy, honorable, and of consistent virtue.  

One way to build up integrity is to practice keeping your word.  Whether these are small things like, "I'll look into getting you off of that massive E-mail list so you can do your job", or potentially huge career-altering things like salary raises, it is imperative on you, the leader, to mean what you say.  You might be able to get away with stringing people along on empty words for a while, but eventually people are going to see through that ruse.  For example, let's pretend that Donald works at my company.  Donald wants to take on more responsibliity - I, however, want Donald to stop bringing the scotch to work before I even consider it.  Rehab, however, is expensive!  I tell Donald that if he can wait a couple of months, he'll be celebrating his one year anniversary and the company will pay for his rehab entirely.  Donald waits patiently and hits the one year mark, at which point I tell him that the company can't pay for his rehab just *yet* - but if he waits for another couple months, *for sure* the company will pay.  if this keeps happening, how long is it before Donald assumes (rightly or wrongly) that I'm just stringing him along?  More importantly, how can I ask anything of Donald from a position of trust?  I've squandered it.  It doesn't matter whether it's truly out of my hands or whether I'm just B.S.ing - Donald is going to assume I'm BSing.

Now, sometimes things happen as a leader that are out of your hands; in these cases, I cannot stress how important it is to be peluccid in all of your dealings.  If there is something preventing you from doing what you originally said, tell the person you committed to why you can't do it, and tell them as soon as possible.  If you tell someone you'll replace their chair and suddenly your funding is cut, it's a lot better to go tell that person right away about the problem rather than simply hiding away and hoping they'll forget.  Trust me, no one forgets about an issue that's important to them! 

Some people think leadership requires a title, while others think it involves pouring cooking oil all over yourself and ripping your shirt off in public.  Maybe they are right, but *great* leadership has nothing to do with titles or public nudity - it has to do with being honest, accountable, and consistent.  After all, if you are able to act with consistent integrity, you've already been successful at a very difficult task - how hard can leading others be in comparison?

* there really aren't