Web Software Architecture and Engineering – Life on the Bleeding Edge

Archive for July, 2008

SoCal Earthquake. Alive and Well, thank God!

Ummm. Look at the image below. We evacuated our building. 55 Earthquakes in 1 hour!
You see Pasadena? Thats where I work.
You see Pomona, right above the square, thats where I live!
Earthquake Map


Dealing with Difficult People

I’m blessed at my current workplace. I wouldn’t classify anyone I
work with as even close to being diffcult. But this has not always been the
In a conversation with a friend and fellow CF’er (name
withheld), he mentioned how his team has members who are VERY difficult
to deal with. I remembered a lot of my training on team dynamics, and
thought to put together a lot of what I’ve learned over the years and what’s available on the web regarding
this subject in hopes that it may help people.
Please don’t take any of
these items as a comprehensive list. They are general guidelines, and
not every one applies to every situation. Some in fact may be wrong advice for your situation. Tread carefully.

  1. Remember your
    goal, and feel free to state it. For example, “Remember, we’re both
    working to make this portion of the product easier for our customers.”
    This draws attention to the goal, and helps to throw attention away from any issues
    that may exist between you two. In other words, your issues are not the
    subject, the customer and the product is. Also, it shows you two share
    something, and that is a commitment to the product and the customer,
    and you’re not as alienated and different from each other as you might feel. Feel free to agree with the other person as well, instead of sending signals saying “NO” and showing your displeasure through verbal or physical cues.
  2. If
    things get heated, you get mired down into semantics, or there is some
    sort of stalemate, feel free to keep using #1. At the same, not
    everything must be decided in one meeting, feel free to adjourn and
    revisit in a few hours. Give people breaks; they might feel threatened,
    and both time, and re-iterating common goals helps.
  3. Use
    selective language: Don’t say “You said”, “you thought.” Instead use
    “we” to draw away any blame, and say, “one alternative proposal is” or
    “it was mentioned” without naming names or calling people out. It makes
    them feel included, and not targeted at the same time. Some people are
    sensitive, and a slight change in language goes a long way.
  4. I
    had many difficult professors in school. One professor decided to give
    me a D in a class, because he felt our group project was not up to par.
    For some reason, he had issues with me. I didn’t want to speculate why.
    But I made my case via email, that in fact, I had to do most of the
    preparation and work for the group, and the issues I dealt with, and in
    comparison with all the other groups, ours was in the top 3 based on
    what I saw. The professor didn’t bite (maybe he was having a bad day
    when we presented?). I could tell there was something on his side (some idea, pre-conceived notion, or bias?) that
    was affecting my grade, so I said in my last email: “You know what, why
    don’t we discuss this in person. Are you still keeping your office
    hours?” Next thing I knew, he emailed me that he would give me a B
    instead. What happened? I “called” him (in poker terms). He knew if I
    met him face to face, my case would be stronger than his. Lesson
    learned: Take things only to a specific point when communicating
    offline. Be ready to take it face to face. When people act irrational,
    assume you don’t have complete information – act quickly, take it to
    next level. You’ll be surprised how many things resolve themselves at
    this point.
  5. Keep your words short and sweet. Some people care a
    lot, and have to give big explanations, but during that explanation
    you’ll either lose the person, or lose credibility yourself. Very few
    situations call for lengthy explanations, err on the side of short and
    sweet. Take this to the point of avoiding open-ended questions, like “How is it going?” and say, “Good morning” instead. When talking to them directly: “instead of saying, ‘I expect you to improve your attitude,’ say, ‘There will be no more incidents of raising your voice to another employee.’ “
  6. Realize its VERY hard to “change” people, but a goal worth shooting for is “shaping” their relationship with you. This can be subtle, or very overt like saying: “You can do X with person Y and Z, but not me.” Sometimes asking people to create an exception for you works. Other times, people don’t even realize how they have been behaving, and come away shocked at themselves as much as anything. “While research shows that most bullies are unable to make deep changes to their personality, they are sometimes able to modify their behavior to the extent that they are more tolerable.” Along these lines, don’t take things personally as much as you can; difficult people are usually difficult to everyone. If that is not the case, and its just you, then you ask “why”.
  7. Feel free to document behavior. If things ever come down to meeting with your boss, be ready, and don’t make it personal – speak the facts plain and clear. Acting professionally and “un-difficult” compared to the other person will speak volumes with management, who notice these things.
  8. Don’t fight back using the same tactics. To quote one expert: “Don’t fight back or try to beat them at their own games. They have been practicing their skills for a lifetime, and you’re an amateur.”
  9. Difficult people have an unusual appetite for appeasement, and getting their way. Don’t always give them what they want in an effort to resolve the issue. Handling this is an art, and probably deserve a seperate post. On the other side of the coin, don’t restrain from compliments where they are due. If you’re holding back from being nice, you are taking it personally.
  10. Regarding Overly Aggresive People: “Stand up to them, but don’t fight. Overly aggressive people expect others to either run away from them or react with rage. Your goal is simply to assertively express your own views, not try to win a battle of right and wrong.” People will make up their minds based on how the conversation goes, and the views expressed in most circumstances. Don’t fight a war over right and wrong, but handle the battle confidently.
  11. Practice: “Dealing with difficult people takes practice, so don’t get discouraged. Although these strategies won’t change the difficult people, they will break their ability to interfere with your effectiveness… Most important, you’ll feel more confident and you’ll start to enjoy your workdays.”
  12. Not everyone deals with difficult people the same. Some go into shock, others revolt, even whine. While its easier when someone is difficult with everyone instead of just with you, don’t rely on people to back you up. If you continue discussing the difficult, people may end up seeing you as a whiner, or worse, labeling you as difficult. It doesn’t make sense, but happens! In the end, you’ve got to deal with whoever is making your life difficult, and know that not everyone is going to take your side.
  13. Look at yourself. Double check its not just you, as stated above, but also ask yourself, are you making life difficult for someone else? Are you doing the same thing? Sometimes changing your own behavior will help you with others. And know when to let go and move on.
  14. Pick the right time to escalate issues with a boss. Remember previous tips on keep documents. Try to offer solutions, and don’t just talk about your problems; keep the conversation constructive, and not negative. Ask for advice on what you can do to help; be humble – not aggressive.

Again, this is not comprehensive in any sense. Feel free to agree, disagree, or share your stories. You can find a lot of advice on the internet by searching my blog entry title on Scroogle.org. You’ll also find hundreds of books on the subject as well.
Besides these, we learned additional tricks to take control over people. I don’t want to go there just yet…

Classic Development Project Mistakes

A co-worker sent me this, and it is worth reading.
I remember seeing “Classic Mistakes Enumerated” before, but reading it again really helps you keep perspective.
Read more @ http://www.stevemcconnell.com/rdenum.htm.

Forget Google, Use Scroogle

The Web has been a buzz lately regarding Google Privacy Policies (or lack there of). People have been recommending Scroogle.
I looked at it, and found that it features the following advantages:

  1. No Ads!
  2. Anonymous Searching (logs are deleted weekly)
  3. SSL Encryption
  4. Browser Search Plugins

It works, its fast, and its clean. No reason to use Google now.
Read more @ http://en.wikipedia.org/wiki/Scroogle.
Add Scroogle to your list of Browser Search Engines @ http://mycroft.mozdev.org/search-engines.html?name=scroogle.

How Adobe Scales ConnectNow

An eWeek article outlines how Adobe uses Terracotta’s in-memory data solution to help scale ConnectNow. Its a very interesting read.
Find out more @ http://www.eweek.com/index2.php?option=content&task=view&id=48894&pop=1&hide_ads=1&page=0&hide_js=1.

The Public Suffix List – Valid Domains Extensions

Did you know that the Mozilla Foundation maintains a list of publicly available domains extensions, known as public suffixes? The site says: “Some examples of public suffixes are ‘.com’, ‘.co.uk’ and ‘pvt.k12.wy.us’.”
Where does this come in handy? Well, validation for one thing. Most email validation scripts look for length and a “.” after the “@”, even though any text really after the “@” is “valid” (thats another issue). But for public domain email addresses, its always been a “nice to have” to have easy access to an updated list of valid public suffixes, so if someone enters darth@vader.foo, you can tell that is an invalid email address.
Well, here it is: http://publicsuffix.org/. Enjoy!

Java Performance Myths and Legends Presentation

A couple of Google folks presented at the SD West 2008 conference on JVM related “Performance Myths and Legends.” I just happened to stumble upon it and found a lot of useful information. Its a must read.
Download the Powerpoint file here.