Archive for February, 2006

Ruby on Rails class

The folks over at the Ruby users group have decided to hold a Ruby on Rails class for free. Patrick Hurley will do the heavy lifting for the class, and Humantech is supplying space for us to use for the class. Patrick has significant Rails experience in real-world enterprise deployments, and I for one am looking forward to hearing what he has to teach.

The class is scheduled for the afternoons of Saturday, March 11 and Saturday, March 25.

If you would like to enroll in the class all you have to do is:

1. Go to Compound Thinking’s course site
2. Click on “Ruby on Rails”.
3. Create an account (if you don’t have one already!).
4. When prompted for the enrollment key, enter “rubymi-222″.

For now at least, this class is Ann Arbor–In Person only.

The first 25 people to sign up get in, so even if you sign up, you might not get a seat, since I have to close enrolment manually when the class gets full, but if you do enroll, and we don’t have room, I’ll let you know as soon as possible.

TurboGears Momentum

I’ve been swamped at work for the last week, and I’ve gotten a little bit behind in watching the TurboGears mailing list, commit log, ticket tracking list. I just discovered that there have been over 100 commits since last Tuesday. For those of you counting, that’s well over 10% of the total so far in the life of TurboGears. Now that’s what I call gathering steam for 0.9 and 1.0!

Most of the attention has been on the TurboGears Widgets, and refining the API, making them thread safe — well giving you errors if you do un-thread safe things — and polishing them up for the 0.9 alpha release which should be coming soon. But there has also been work on error handling, and improvements to unit testing in the default install, bugfixes, and a whole host of other interesting commits.

I’ll be digesting all of this shiny new goodness in the Virgin Islands for the next 6 days, with limited or no internet access. But I’m looking forward to what the next week will bring.

I know a lot of people have been looking at the state of web frameworks for Python recently, and I believe that a wide array of choices is not a bad thing. The more great frameworks we have, the more people will be able to find something that fits their needs and their style. We don’t have to kill innovation on the edges in order to feed the momentum of a single project. We just need to focus on building frameworks that are easy to use, easy to extend, and make some significant set of developers jump up and down with joy.

Marketing’s job in Hiring (and keeping) Great People

The most important thing a manager can do is find the right people, and convince them to work with you, not just for you!
If you do this one thing right, your odds of success go up exponentially.

Recently Guy Kawasaki (former “Chief Evangelist for Apple computers) posted his thoughts about on the subject. I’ve already mentioned the virtues of hiring people that are better than you, so I won’t dwell on that part of Guy’s post. He also advocates valuing skill, motivation and talent over the less relevant factors like experience and education. So, it’s nice to see that I’m not alone in looking for talent rather than experience or skill.

The real kickers for me came in later:

Use all your weapons. Once you’ve found the perfect candidate, use all the weapons at your disposal to land her — not just traditional tools like salary, stock options, signing bonuses. More important–and more telling–is the attractiveness of your vision for how you’ll change the world

I hadn’t thought of it before, but Guy just naturally views the hiring process as an opportunity to sell your company to people.

So, start selling your company at the beginning of the process, and keep selling until you know the fit is not right. Remember, even if you don’t hire this candidate, you might want to hire one of her friends. Or, she might end up working for one of your customers, or marrying the owner of your largest client.

Of course, if you sell a candidate on how they can change the world, how cool the people they’ll work with are, and how amazing your company is, you will have a much easier time when the time comes to make an offer.

Sell all the decision makers. A candidate seldom makes a decision all by herself. There can be several other people contributing to the decision.

People don’t exist in in a vacuum, their social and familial network plays a large part in their decision making process. But it goes beyond just that, the level of support and encouragement from spouse’s, parents, children, and friends plays a big part in how happy the candidate will be working for your company after she accepts the job. Sell these people on your company, and they’ll participate with you in keeping morale up. Remember, the whole social network of the people who work for you can and will participate in helping you to change the world for the better, but only if you give them a chance to see and appreciate your vision. There’s nothing in the world more de-motivating than a spouse, or children, who hate your job — and there’s nothing more motivating at work than a supportive network of friends and family at home.

Annual Reviews

Here at Humantech it is time for performance reviews. And it must be in other places too, because Kathy Sierra, and Seth Gooden both touched on key points in my thinking about performance review yesterday.

I have a love/hate relationship with performance reviews, but I thought it might be worthwhile to mention what I’ve learned so far about how to do them well. This is especially worthwhile since I think most of what has been written on the subject is either insipid, lame, borderline psychotic, or just plain stupid.

I’ve read articles and gone to training where they tell you how to empathize, how to use better body posture, and how to set up the room to make your employees more comfortable. If you are socially awkward, and don’t have a good relationship with your employees, this might be helpful, but mostly it’s just trivia. Performance reviews ought to be about one thing — performance.

Focus on Performance:

Cut through the crap. If you follow the advice of most of the classes, and articles, you’d find a couple (no more than three) areas of weakness and focus on “fixing” them. This is backwards, and it is dangerous. You should not think of employees as something like a broken dishwasher that needs to be fixed. And you should be focusing on performance — focus on what they are doing right, and what they need to do to accelerate that performance. Kathy Sierra calls this “mediocrity by areas of improvement” If you divert a programmer’s attention from improving their day-to-day code writing processes, and focus him on cleaning his desk or
learning to “be more social” you’re not focusing on performance.

Focus on what the co-worker you manage does well, focus on how to improve that, focus on her as a person, and what she can to to achieve mastery of her job. Your goal is not to turn her into a well rounded person, but rather to focus her energies and effort on the areas where she can become great and therefore make the most impact on your company’s reputation and performance.

But you need to be able to look at and measure performance. This is where Seth Goodin’s resent post on “making your number” comes in. People will do whatever it takes to make their number, so make sure that you are measuring the right number. Seth shows a woman “cheating” the stair master to improve her ability to perform at a higher difficulty level on the machine. The problem is that she is measuring the wrong metric — if she had a goal of sustaining a heart rate between 145 and 155, she’d be more likely to stay healthy, and would have no way to cheat her metric.

When you measure the performance of your employees, you want to measure what is really important — otherwise people will do what you ask them too, even if it’s the wrong thing to do.

“Route Around” weaknesses

Not everybody is amazing in every way — in fact no two people are amazing in the same way — so everybody has weaknesses. Some of those weakness don’t impact their job others do. You can safely ignore the first set because they aren’t performance limiting factors. The second set is more of a concern, you need to determine a path to route around these performance limiting weaknesses — most likely this can be done with a little creative job description re-jiggleing. Move areas of responsibility from one person’s weakness to another person’s strength.

Another method is to try to cut a thin path through this weakness to keep it from limiting performance to much.  This is different from focusing on weeknesses because your goal is not to turn this weekness into a strength, but rather to limit the impact the weekness on critical job performance issues.
Let Go of Your Need to Fix People

You need to honestly appraise your employee’s ability to achieve excellence in their current job. If they aren’t meeting expectations, and you’ve determined that you can’s change the job description, and training hasn’t helped:  you are now faced with a person who has weakness where their job requires strength.

At this point your job is to help them find a new job, where they can achieve excellence. If you are anything like me this is hard — but the key is learning that this is not a criticism of the value or abilities of your employee — there are literally hundreds of Nobel prize winners who are not right for this job.

You can’t fix them. They can’t be successful in this job, it’s not the place for them. But they could be wildly, amazingly, successful in the right job. Do your best to help them find that job. In the end, that’s the only way to be nice, because nobody likes constantly failing.

Separate the Money Discussion

People care about money — more than they think they do, and more than you think they should. So take care of this before you have the detailed performance review. If you can’t do it in a separate meeting, at least do it first thing in the actually review meeting. This will allow you to have a conversation about performance without every single statement being evaluated in economic terms. Remember this is not a “salary review” — it’s a performance review and absolutely everything ought to be subservient to the goal of having the best conversation about performance possible.

Moodle at Work

I’ve been using Moodle here at Compound Thinking for the TurboGears classes (look for new classes coming soon!) and I am setting one up at work. The classes will be optional, but we’ll do contests and prizes for the most activity, the highest average quiz score, etc. It all started as a way to get people to take the time to find new ways to use their computers to do cool things. The classes will teach things like logging, editing photos, using flickr, putting together DVD sideshows, along with the standard Word, Excel, PowerPoint, and Open Office training.

Hopefully other people outside IT will post classes that will help us bring new people on board more quickly. This is functionality we need, but I am hoping that it also helps to communicate that the IT department exists to amplify people’s ability to execute on their creative ideas.

Too many companies have an ingrained view of IT as nay-sayers and obstructionists. Or, even worse they see IT people as trying to automate them out of a job. The tools we deploy, and the way we deploy them speak volumes about how we view our jobs — and people know how to read the message we send.

How powerful would it be if everybody saw IT as a lever they could use to move their individual worlds? What if they believed that IT connected to the things they really care about — even if those things aren’t always work related.

Studies at Gallop show that people are consistently happier and more productive when “someone at work cares about [them] as a person.”

So, if IT’s job is to make people more productive, it also needs to be IT’s job to care about people.