Category Archives: Professional Development

Retrospective: Leaving Microsoft

Tuesday, March 27th was my last day at Microsoft. After 8 years I am finally taking the plunge and switching companies. I have been doing a lot of reflection about my this job, and wanted to share my conclusions.

Smarts

  • I love to work with smart people; I am always be learning, if only by osmosis.
  • A strong engineering group has effective mentors. Lose that, and we’re doomed.
  • I can never know enough smart people.

Pride

  • I take pride in my work. It is a personal thing; I have private standards of quality and performance that I am not willing to compromise.
  • The colleagues I trust most take pride in their work, also.
  • I try to admit when I make mistakes. I don’t try to play politics. I am proud of this, because doing this requires a constant struggle to stay honest with oneself.

Curiosity

Curiosity...

  • I always need to learn something new. If I am not learning some new trick, best practice, or language, then I get restless.
  • I like to play with my work. I like to experiment. I am not happy if I don’t have the time to do that, and be recognized for it.

Trust

  • Trust is my ultimate currency. I have a very hard time working with people I do not trust and respect. A good software and IT team will have professionals that trust each other to do the right thing.
  • The best technical people I know have a finely tuned BS meter. They recognize spin and buzzwords instantly. You can’t fool them.

Balance

  • Work-life balance is critical. I am taking a 30% pay cut in order to work 35% less, because the hours were so long. It seems a wise trade.
  • A study has shown that the #1 regret by seniors was they had worked too much, and didn’t spend enough time with their friends and family. I do not want that to be me.
  • Other studies have shown that working your staff more than 40 hours a week doesn’t improve productivity, and in fact harms it in the long run. A smart business doesn’t overwork its employees, because it knows that doing so makes no business sense.
  • Email, Visio, Powerpoint, meetings, planning documents, etc…the overhead is necessary in any company. But it should be kept to a necessary minimum. Customers don’t pay us to be in meetings all day.

Joy

Nerf dart

  • I like to celebrate victories. Especially my teammates’ successes. I want to be happy for them, and not jealous.
  • I like to work in an environment that’s fun. Ideally one with NERF gun battles
  • If possible, I like to work with colleagues that have a complementary sense of humor.

SQL Cruise 2011 – Communications Part 4

…this is part 3 of a blog post series on communications, based on Buck Woody’s (b / tSQL Cruise 2011 session.

Why Write?

Writing is useful. It helps us to become better researchers. It helps us to learn. It helps us to organize our thoughts. It is a very effective networking tool. It helps others in similar situations. In short, writing is both selfish and selfless.

“Your writing is a trail of your expertise and knowledge for people you have not met” – Buck Woody.

How to Write

Know how to write. Anyone can write a so-so blog post; not everyone can articulate their ideas well.

There are some basic tenets to writing. First, grammar and spelling matter. Correct your spelling, and use the proper punctuation. Use the proper tense.

Second, keep it short. Brevity is the soul of wit. Concise writing is easier to understand.

The underlying message is that writing is serious work. When I write, I have to concentrate just as hard as I do in my day job.

When I write, I have a series of steps.

  1. Pick an idea
  2. Jot down notes
  3. Write a rough draft
  4. Revise, revise, revise
  5. Add formatting and pictures
  6. Publish the post. Tweet about it.

Any one of these steps takes me from 10-30 minutes.

Writing takes time and effort. It requires revisions to get the point across. Even great writers have to do several drafts. Editors exist for this reason. Just as important: develop your own style. Have a style that is your own. If you don’t know what your style is, there are a few books to get you started. The two I am reading are On Writing Well, and The Elements of Style. The former goes over how to improve your skills as a writer; the latter goes over how to find your own style.

Ideas, Ideas, Ideas

Write Your Life!

Being skillful at writing is useless if you have nothing to write about. At first, I didn’t think I had much to contribute. Then I realized: Everything I have done in my career is worth blogging about. My challenges are common problems. We should each pick an audience, and figure out what we’ve done or researched that would apply to them. One fun tactic is to write down one idea per minute for twenty minutes. Then take each concept and write 2-3 sentences for each, taking two minutes apiece. Delete anything that you can’t write two sentences about.

What should I write? Anything. Write your life. What are your biggest challenges? Those are shared. What are your biggest successes? Those are shared. Here’s a way to get started:

Where to Write

Email. Email is a form of writing. It’s probably the most common way you write. At its best, it is a single thought in a clear, written form. At its worst, it is a rambling, misspelled jumble of random word vomit. Like all forms of writing, the goal is to get your point across. Most people won’t spend more than 10-30 seconds reading an email. So be clear, concise, and direct.

Blog posts. The goal of a blog post is to provide information to the reader in less than 10 minutes. There are many different kinds of blog posts, and they can cover any topic you want, at any depth. Do you want to write about why computers are not like fish? Go for it! A post about how DBCC PAGE works internally? Go for it! Just remember who your audience is, and write for them. There are many, many resources online on how to write a good blog post. Some of my favorites are The Blogess, 9 Steps to Better Writing, and Brent Ozar (b / t)’s Intro to Blogging article.

Books. This is a much longer form of writing. Books are long enough to delve into several topics, and to act as a reference. They are so long they require extensive internal structure. That’s why chapters exist. These are also a large project to do, and are almost always done collaboratively. Technical books often have multiple authors, because very few people know enough about a subject to be authoritative for that long. The few who do usually don’t have time to write. In addition, books have editors, who are there to force revisions. Even more than blog posts or email, books require lots of revisions to get right.

Conclusion

Writing is a great thing to do, for yourself and your community. It helps educate the world around you, helps you learn, and is a great resource for your next job. There’s no reason not to write.

SQL Cruise 2011 – Communications Part 3

…this is part 3 of a blog post series on communications, based on Buck Woody’s (b / tSQL Cruise 2011 session.

Communications and Conflict

People conflict. It happens to all of us, eventually.There are many reasons for this: miscommunication, style differences, distrust, fear, hubris, arrogance. When we encounter this professionally, we have to find a way to resolve the situation, to keep going. This requires knowing how to communicate in difficult situations.

I will use you, and discard you like a soiled napkin. Pointy hair optional.

“I can tell what kind of person a man is by finding out what makes him angry, and what makes him laugh.”– Abraham Lincoln.

Take the measure of each person. Let’s say I meet somebody from a different development team. How do they treat someone who can do nothing for them? Do they ignore them? Treat them rudely? That means they are a user; they exploit people for their own ends, and are less worthy of respect.

“Seek first to understand, then to be understood”Stephen Covey

Don't forget about what lies beneath the surface

Conversations are like icebergs: what we see is only the top. There are many hidden thoughts and motivations behind any sentence. Listening is critically important. If we do not understand the crosscurrents and subtext underneath what is being said, then we are missing most of the conversation. Being situationally aware is incredibly important. This is one of my greatest challenges, because I spend a lot of my time working with machines. There are some useful similarities between people and machines. In either case, we need to know where to look, and where to focus our attention.

Active listening is a great tactic. The goal of active listening is to understand what the other person is trying to say. I do this by asking leading or clarifying questions, or re-phrasing the other person’s idea. This does two things. First, it tells the other person that I’m paying attention. Second, it helps me make sure I understand what the other person is saying. This is similar to the Socratic method of teaching, which is used extensively in medicine. Lastly, having a better understanding of everyone’s position before I speak gives me a lot of control over the conversation.

“Never argue with an idiot. The audience can’t tell the difference.” – Mark Twain

Not everyone likes using logic...

Make sure conversations don’t get personal. If I say ‘you’ in a conversation, then that is a good sign the conversation is breaking down. Use ‘I’ statements as well. For example, there’s a big difference between saying “SuperWidgets are useless” and “I can’t see why a SuperWidget would be useful to me”. The former invites an attack , the latter a dialogue. In both cases my belief is the same: I don’t see why a SuperWidget would help me, so why bother getting one?

Sadly, some people want conversations to be an emotional argument. Logic pisses them off. That is a great reason to use logic. If I can stay calm and logical in the face of emotional manipulation, then I am going to ‘win’ in any conversation. It also gives me a far greater measure of control over where the conversation goes, since I can think ahead and plan. That’s the essence of what to do: be aware of yourself and others, and use knowledge and logic to resolve thorny situations.

Key Lessons:

  • Practice active listening, to gain understanding.
  • Try to understand what is below the surface.
  • Keep conversations from becoming personal; use “I” statements and achieve greater control of where the conversation goes.