# Sunday, November 25, 2012

One of the most satisfying things I've done over the last few years has been my work with the Great Lakes Area .NET User Group (GANG). I've learned a great deal from the people in this group and my role on the leadership team has given me the opportunity to meet some of the smartest and nicest people in the industry.

I love working with this user group because I love the people and it feels great when we put together an excellent meeting with a great speaker and an engaged crowd and tasty food.

I was not prepared this week when, following the monthly user group meeting, the officers of the group presented me with the first "Compiler" award. I received a trophy with the following inscription:
Thank you for your continuous and extraordinary service to the GANG community.

GANG President Kent Fehribach said that this award will likely be given in the future, but he did not commit to any schedule. In any case, I am very proud to be the first recipient and grateful for those who thought of this.

Sunday, November 25, 2012 3:23:00 PM (GMT Standard Time, UTC+00:00)
# Saturday, November 24, 2012

A few months ago, David McKinnon told me he planned to organize a conference at Cobo Hall. I was skeptical. At this larger venue, he could attract a much larger audience than to the previous 1DevDay, MobiDevDay, and CloudDevDay conferences he had organized, but the cost was higher. A lot higher.

Still, Dave decided to take a chance and he signed a contract with Cobo.

Months later, over 500 people showed up to see presentations on various software development technologies, platforms, and languages. The common theme was software development.

On Saturday, November 17, the lines began to form at Cobo Hall. The registration line was so long that we had to delay Ted Neward's opening keynote presentation by 30 minutes. After that small glitch, the conference went very smoothly. Dozens of technical presentations were available to the attendees, open spaces, plus panel discussions, plus a gourmet lunch. The event finished with an excellent keynote by Chad Fowler and an after-party.

I had the privilege of serving as Master of Ceremonies for this event and I could not have enjoyed this more.  Throughout the day, people kept coming up to me and telling me how much they enjoyed the conference.

After a few days rest, we may consider a 2013 1DevDayDetroit.

Saturday, November 24, 2012 3:40:59 PM (GMT Standard Time, UTC+00:00)
# Thursday, November 22, 2012

Today is Thanksgiving and I am making pumpkin pies and preparing to call my mother and brother and go to my sister’s house and enjoy dinner and an evening with my siblings and their families. But I’m also remembering the good things in my life and thanking God for them.

Today, I am thankful for my family - especially for my two sons who continue make me proud every day.

I am thankful for my friends, especially those who supported me through the difficult times of my life.

I am thankful for the occasional encounter with a kind stranger. These events renew my faith in the people of this world.

I am thankful that I am stronger today than I was a decade ago. At that time, I had no idea how I would move forward.

I am thankful for the success I've had in the community and for any respect that his been shown to me by my peers.

I am thankful that I have not had to worry about feeding my family or putting a roof over my head.

And finally, I am thankful that my faith in God has kept me focused on the future, despite my strong desire to dwell on the past.

Happy Thanksgiving, my friends.

Thursday, November 22, 2012 3:43:14 PM (GMT Standard Time, UTC+00:00)
# Tuesday, November 20, 2012

Many companies institute a formal review process each year. It is a lot of work, but it's an important part of developing employees. An Annual Review provides critical feedback to employees. In addition, it provides objective criteria on which to base raises and promotions.

This week, I am responsible for completing an Annual Review for three Sogeti employees. At Sogeti, we call my role "Counselor" and these three employees are known as my "counselees". Of course, I also have a counselor, which makes me a counselee to him.

My task this week is made more difficult by the fact that I don't work regularly with any of my counselees.

But here is what I do to complete this process as fairly and effectively as I can.

Start Early

The annual review process starts at the beginning of the year. Push your counselee to articulate what their goals are for the year. Some of these goals will come from within themselves and some will be a result of feedback during the last annual review process. Goals can change and that’s okay, but it’s tough to achieve anything unless you have some objectives in mind.

Talk to your counselees regularly throughout the year. I schedule a monthly conversation with each of my counselees. It’s on our calendars, so we won’t miss it. Usually, this is a phone call, but I try to meet them for lunch at least a couple times a year. Find out how their project is going. What challenges are they having? What are they doing well? Is there anything they need from you or elsewhere in the company? Have their goals changed since the beginning of the year? If they received a flattering e-mail, ask them to forward it to you.  Give them direct feedback during these meetings. If you cannot answer a question, follow up later with someone who knows the answer. Take notes during these meetings. OneNote is a great tool for this. Often, I end up copying text directly from these notes and pasting it into the Annual Review form at the end of the year. If you are meeting regularly and having open conversations, there should be no surprises at Review time.

Encourage your counselees to keep a record of their accomplishments throughout the year, so that they can more easily articulate them at the end of the year. I always tell my counselees not to rely on me to remember anything they did during the year. There is a good chance I will forget something and there is a non-zero chance that I might not be with the company at the end of the year. At one of my former company's we had a slogan: "You own your career". Employees should understand this and it’s a counselors job to make sure they do.

End-of-Year

If your company publishes guidelines for the annual review, read them thoroughly and base your review on these guidelines. The less subjective your review, the easier it will be and the more fair to all involved.

Seek input from those who know the best. Because I typically do not work with the people I evaluate, I actively seek input from those who are more familiar with a counselee's work. Send e-mails and make calls to get as much input as you can. Typically, I might reach out to

  • Customers
  • Managers
  • Co-workers
  • Salespeople

Include specific examples in your evaluation. "Bob did a great job at customer XYZ" is far less meaningful than "Bob rewrote the Shipping screen, so that it now runs 70% faster, saving the customer 2-4 hours per week." On the flip side "Joe needs to improve his communication skills" is less effective than "The customer expressed frustration because he did not know that Joe's project was behind schedule until he failed to meet his deadline. Joe should have communicated the schedule slippage weeks earlier when he became aware of the roadblock."

Be honest. Often, you will find yourself evaluating a friend and it's tempting to let personal feelings sway your evaluation. Friendship should only affect an evaluation if there is a criterion for getting along with others. In all other areas, stay objective. Otherwise, you are not being fair to the other employees. Honest feedback is how an employee improves.

Give an annual review process the time and attention it deserves. Employees deserve this.

Tuesday, November 20, 2012 3:33:00 PM (GMT Standard Time, UTC+00:00)
# Monday, November 19, 2012
Monday, November 19, 2012 3:31:00 PM (GMT Standard Time, UTC+00:00)
# Tuesday, November 13, 2012

Many companies institute a formal review process each year. It is a lot of work, but it's an important part of developing employees. An Annual Review provides critical feedback to employees. In addition, it provides objective criteria on which to base raises and promotions.

This week, I am responsible for completing an Annual Review for three Sogeti employees. At Sogeti, we call my role "Counselor" and these three employees are known as my "counselees". Of course, I also have a counselor, which makes me a counselee to him.

My task this week is made more difficult by the fact that I don't work regularly with any of my counselees.

But here is what I do to complete this process as fairly and effectively as I can.

Start Early

The annual review process starts at the beginning of the year. Push your counselee to articulate what their goals are for the year. Some of these goals will come from within themselves and some will be a result of feedback during the last annual review process. Goals can change and that’s okay, but it’s tough to achieve anything unless you have some objectives in mind.

Talk to your counselees regularly throughout the year. I schedule a monthly conversation with each of my counselees. It’s on our calendars, so we won’t miss it. Usually, this is a phone call, but I try to meet them for lunch at least a couple times a year. Find out how their project is going. What challenges are they having? What are they doing well? Is there anything they need from you or elsewhere in the company? Have their goals changed since the beginning of the year? If they received a flattering e-mail, ask them to forward it to you.  Give them direct feedback during these meetings. If you cannot answer a question, follow up later with someone who knows the answer. Take notes during these meetings. OneNote is a great tool for this. Often, I end up copying text directly from these notes and pasting it into the Annual Review form at the end of the year. If you are meeting regularly and having open conversations, there should be no surprises at Review time.

Encourage your counselees to keep a record of their accomplishments throughout the year, so that they can more easily articulate them at the end of the year. I always tell my counselees not to rely on me to remember anything they did during the year. There is a good chance I will forget something and there is a non-zero chance that I might not be with the company at the end of the year. At one of my former company's we had a slogan: "You own your career". Employees should understand this and it’s a counselors job to make sure they do.

End-of-Year

If your company publishes guidelines for the annual review, read them thoroughly and base your review on these guidelines. The less subjective your review, the easier it will be and the more fair to all involved.

Seek input from those who know the best. Because I typically do not work with the people I evaluate, I actively seek input from those who are more familiar with a counselee's work. Send e-mails and make calls to get as much input as you can. Typically, I might reach out to

  • Customers
  • Managers
  • Co-workers
  • Salespeople

Include specific examples in your evaluation. "Bob did a great job at customer XYZ" is far less meaningful than "Bob rewrote the Shipping screen, so that it now runs 70% faster, saving the customer 2-4 hours per week." On the flip side "Joe needs to improve his communication skills" is less effective than "The customer expressed frustration because he did not know that Joe's project was behind schedule until he failed to meet his deadline. Joe should have communicated the schedule slippage weeks earlier when he became aware of the roadblock."

Be honest. Often, you will find yourself evaluating a friend and it's tempting to let personal feelings sway your evaluation. Friendship should only affect an evaluation if there is a criterion for getting along with others. In all other areas, stay objective. Otherwise, you are not being fair to the other employees. Honest feedback is how an employee improves.

Give an annual review process the time and attention it deserves. Employees deserve this.

Tuesday, November 13, 2012 7:24:00 PM (GMT Standard Time, UTC+00:00)
# Monday, November 12, 2012
# Sunday, November 11, 2012

While traveling recently, I lost my wallet. It happened in the airport - somewhere between the Detroit security checkpoint and the Baltimore luggage claim. After checking with the airport and the airline and retracing my steps, I was convinced it was lost forever and I began to replace the cards inside.

Weeks later, I received a message on Facebook from a stranger.

A woman found my wallet in the airport. Reading my name on my driver's license, she searched for me online and found me on Facebook and sent me a message, so that I could confirm my identity and my address.

Shortly after our Facebook exchange, the wallet arrived in the mail, along with a money order for all the cash that was in it - over $200.

I was struck by this incredible act of kindness and honesty by a complete stranger. She could easily have kept the wallet or kept the cash and no one would have known or thought poorly of her. But she went out of her way to find me and return everything she found.

I am unlikely to meet this woman personally, but that does not mean I cannot repay the kindness. My plan is to pay it forward - to pass kindness on to strangers who cross my path. The likelihood these strangers will repay me in kind is low and I accept that. With any luck, they will be inspired to help others and the kindness will work its way back to the original stranger who helped me and the universe will be remain in balance. And a better place.

Sunday, November 11, 2012 3:22:00 PM (GMT Standard Time, UTC+00:00)
# Saturday, November 10, 2012

You are swamped. Four weeks to finish this project will barely be enough time. You're working late every night and still don't seem to be making headway. The boss comes over and asks if you have time to do this simple task. What is your response?

There are only two possible responses, right? Yes or No.

Either you tell the boss 'No', you cannot accommodate his request because of the amount of work you have; or you tell him 'Yes' and commit to not seeing your family until after the holidays.

But are those the only two responses?

Consider telling him "Yes, but".

"I'm happy to do this boss, but it will cause the schedule to slip on the other tasks I've been assigned. Is that OK? Can you help me to prioritize so I know which tasks to drop or defer?" Often the boss had no idea his "small" request would have such an effect.

If someone other than the boss comes by, a similar response works.

"I'm happy to do this, but it will impact the delivery schedule of the other items I'm working on. Let me verify that the boss is ok with letting the schedule slip."

In both these cases, the response is close to saying “no”, but the delivery puts the decision back into the hands of the one making the request. It also politely calls attention to the fact that your time is not unlimited – a fact that is easy for others to forget.

There is no guarantee this will be effective (tyrannical bosses do exist), but generally people are reasonable and, if they make unreasonable requests, they don’t realize they are doing it. Sometimes, it’s up to us to provide that perspective.

You can maintain a positive attitude without killing yourself by being honest with those around you.

Saturday, November 10, 2012 3:42:00 PM (GMT Standard Time, UTC+00:00)
# Friday, November 9, 2012

So last night I go to the bar to get all liquored up and I says to the bartender: “Gimme my favourite getting-liquored-up drink – a dirty vodka martini with extra olives and Grey Goose vodka.

The bartender looks at me and he sees my cherubic countenance and he notices my boyish charm and he says “Son, we have laws in this state. We are unable to serve anyone who is under the age of 21. Can you prove to me that you are at least 21 years old?”

“You bet I can!” I says to him. “Follow me!”

And we go out back where my private jet is parked and we fly down to Tampa where he meets my parents and they tell him how I was born during the Kennedy administration and they explain how I was such a rotten kid that my dad went to the War in Vietnam just to get a break from me.

Then we get back in my private jet and we fly to Jacksonville, NC to the hospital where I was born and they show us my birth certificate and the bartender asks me “Can you prove that you are the David Giard listed on this birth certificate?” and I proceed to provide him with blood samples and fingerprints and utility bills and all sorts of evidence that I am in fact the David Giard listed on the Birth Certificate.

So we fly back to the bar and the bartender says “OK, you’ve convinced me that you are David Giard and that you were born more than 21 years ago” and he mixes up my favourite getting-liquored-up drink and I drink it like the grown man that I am.

Now…

…Some of the above story is untrue.

First, I don’t drink Grey Goose. I’m a Ketel One man.

Second, I don’t own a private jet.

And finally, the bartender does not have time to personally verify the identity and age of every young whippersnapper who orders a drink. If he did so, he wouldn’t have time to serve other whippersnappers and they would go away thirsty and cranky and he wouldn’t make enough money to keep the bar open.

Instead, the bartender has to trust someone else. But who can he trust? Probably not me. As we’ve already seen, I am capable of telling a convincing story that is not 100% true.

Of course, he will trust the government (because, if you can’t trust the government, who can you trust?)

In my case, he will trust the state government because months ago, I went to an office run by the state of Michigan and I proved to them (by supplying a birth certificate, a photo ID, a utility bill, and other documents) that I am David Giard and on what date I was born. It turns out that the state government has been verifying such information for a long time, so they are pretty good at it. When I had satisfied the government office, they issued me a “token” verifying my identity and certain claims about me, such as my date of birth. This token took the form of a Driver’s License. This Driver’s License claims that my name is David Giard and that I was born on a specific date and that I look like the photo in the corner of the license and that I reside at a specific address.

Claims-based authentication works exactly like this.

In claims-based authentication, an application does not authenticate a user directly. Instead, the application directs the user to a trusted authority (known as a “Secure Token Service” or “STS”) and asks the STS to authenticate the user. In some cases, this STS may even decide to ask some other STS that it trusts to authenticate the user. When the user has been authenticated, the STS will create a token to return to the application. This token contains proof of authentication, but it may also contain a number of “Claims”. Claims are attributes about the user that are asserted by the STS. Because the application trusts the STS, it will believe these claims about the user.

Much like the bartender believes the birth date on a valid driver’s license, the application believes the claims contained in the token. And just like the bartender applies his own rules based on the driver’s license claims (you must be 21 or over to drink), the application can apply whatever rules it sees fit to authorize the user based on claims contained in the token provided by the STS. For example, the application may decide that only users in a given role may view certain pages in an application. Or that certain links are disabled, unless a user has been with the company a certain length of time.

Thus, the authentication (who is this user?) is outsourced to another application, but the authentication (what can this user do?) is not.

Friday, November 9, 2012 1:22:00 PM (GMT Standard Time, UTC+00:00)