Please check out my main blog, Obi-Wan Kimberly Is Your Only Hope, where I write about web development and technical management!


Kimberly Blessing Hi, my name is Kimberly Blessing. I'm a computer scientist, Web developer, standards evangelist, feminist, and geek. This is where I write about life, the Web, technology, women's issues, and whatever else comes to mind.

Also by Kimberly

Work Blog Archive

How to Improve Page Load Times

My latest article for Peachpit is on one of my favorite topics: web site optimization and improving page load times. This article is a review of the basics, which I hope will be helpful to those of you wondering where to start with optimization.

As a next step, you may be interested in my 2008 presentation from WebVisions: Optimize Your Site in Seven Easy Steps. This repeats a few tips but also provides some additional steps to improve page load times.

These resources just scratch the surface of the topic, but they’re important fundamentals. If you want to optimize your site, you need to do it at every step — in your code, with the use of graphics and other assets, at the server. Building a site and trying to retrofit for optimization may help, but it doesn’t pack the same punch. (The same thing holds true for accessibility. And, like accessibility, creating an optimized site isn’t terribly difficult when planned for from the start!)

If you have any questions about Easy Steps to Improve Page Load Times, please ask and I’ll answer in another article or post!

Planning for and Managing Browser Support

With a flurry of new browsers hitting users’ computers and mobile devices this year, everyone involved with the Web has had to scramble to ensure that their sites are compatible with the latest and greatest. This has left many Web professionals and business teams wondering, “What browsers should my site support?” Kimberly Blessing helps you answer that question.

Read my article at Peachpit and let me know what you think! And stay tuned for my next article on optimization…

Tips for Women in the Workplace

From the New York Times, The Mismeasure of Woman:

“For the first time, women make up half the work force. The Shriver Report, out just last week, found that mothers are the major breadwinners in 40 percent of families. We have a female speaker of the House and a female secretary of state. Thirty-two women have served as governors. Thirty-eight have served as senators. Four out of eight Ivy League presidents are women. Great news, right? Well, not exactly. In fact, it couldn’t be more spectacularly misleading.”

Sadly, it’s true: making up half of the workforce has not brought women equality in the workplace. American work places are still largely ill-suited for us and our employers do not fully recognize or taking advantage of our talents. What’s more, we’re still far too often demeaned, belittled, and treated as sex objects — usually behind closed doors, but sometimes publicly, too. What must women continue to do to gain equal footing?

In Ten Things Companies — and Women — Can Do To Get Ahead, employers are reminded that a lack of gender diversity in executive and board positions hurts both the company, as well as professional women, and provides some great tips for companies seeking to increase female presence. While all of the tips were good, those which I’d personally recommend, from personal experience, include: (emphasis mine)

  • Make Mentoring a Priority: Research shows that mentoring programs can be powerful tools for advancing the careers of professional women. Every young professional can benefit from having a mentor. But for women in male-dominated corporate environments, the need is even greater. Women with mentors, research finds, are more likely to apply for promotions.
  • Retain Your Best Women: What does it take to keep talented women in your organization? Asking them directly is a good place to start in getting an answer. However, research finds that flexible work hours, generous maternity leave benefits and coaching for women returning to the workforce can make a difference.
  • Measure Your Results: When companies put goals in writing and track their results, things gets done. Companies need to know where they stand and make managers accountable for the level of gender diversity in their organizations.
  • Move Beyond Tokenism: According to McKinsey, companies with three or more women in senior management scored higher on measures of organizational excellence than companies with no women at the top. It is not enough to add a woman here or there. The best performers build a critical mass that gives women the power to have their views heard.

The article also provides some suggestions for women — again, all good tips. Here are the ones I’m always telling other women:

  • Dare to Apply: McKinsey, citing internal research from HP, found that “women apply for open jobs only if they think they meet 100 percent of the criteria listed, whereas men respond to the posting if they feel they meet 60 percent of the requirements.” That by itself, if it holds true across the corporate world, could be holding back a lot of talented women.
  • Know What You are Good At: Instead of just focusing on what you are lacking, take time to inventory what you have to offer. Evaluate your potential based on your skills and competencies, not merely the jobs you have held in the past. Many of your skills could be applicable in jobs — or in fields — you have not considered.
  • Know What Success Means to You and Move Toward It: If you want to get somewhere, it helps to know where you are going. In the book “Stepping Out of Line: Lessons for Women Who Want It Their Way…In Life, In Love, and At Work,” author Nell Merlino says: “You have to see it before you can devise a plan to get there.”

Some of the best advice I’ve read lately comes from an unlikely source — Forbes. (They’ve published a number of sexist pieces in the past year or two.) The article states what many people won’t acknowledge, telling women: “Sexism, whatever you call it, hasn’t disappeared. But it’s better to know exactly what you’re up against.” Amongst their list of unwritten rules: (emphasis mine)

  • Men get the benefit of the doubt. Men generally get hired on their promise and women on their demonstrated experience. Men are usually taken at their word, while women get challenged more, required to deliver data and substantiation for their views.
  • You won’t get sufficient feedback. Professional development depends upon rigorous, comprehensive, ongoing feedback. Your (male) boss may not feel comfortable delivering that information to you. You need to be direct in asking for it from him and from other colleagues and team members.
  • Women are rendered invisible until they demonstrate otherwise. If you want to be noticed, you’ve got to offer your ideas, approach a mentor, ask for the assignments, build a network, convey your aspirations and communicate your achievements.

I feel very lucky to have worked with some great women and men in the course of my career who — regardless of whether or not they acknowledged that sexism still exists — proactively mentored me, instructed me, and helped me overcome any roadblocks which could have set me back. Still, I see too many environments in which sexism, however subtle, is part of the status quo and managers and leaders are unprepared (and, sadly, sometimes unwilling) to change their own behaviors, as well as those of their teams. I realize that I make people uncomfortable in raising these issues and pushing to address them. But what others must realize is that I live according to a rule my mother taught me long ago, which is reiterated in the Forbes article by Ann Daly, and which I can’t say often enough to other women: “Don’t let them sabotage your ambitions”.

Craftmanship can change the world

Most mornings, I hit the Starbucks near work for a double tall non-fat no-whip cinnamon dolce latte. Yes, it’s a mouthful to say. And apparently it’s a really tough drink to get right… at least for the morning crew at this particular Starbucks. Despite seeing the same crew regularly, I almost always have to correct them on some aspect of my drink that they’ve screwed up (espresso shots sat too long, wrong milk, wrong size drink, scorched milk, etc.). When I do point something out, rather than get an apology, I’m usually given some excuse as to why it’s not right. I’m starting to suspect that either they’re making my drink wrong on purpose or they just don’t care about their craft — but in either case, they send a clear signal: a job’s a job, and they don’t care about theirs all that much.

Web developers can’t have this attitude. We absolutely must care about our craft and continually ensure that our work is demonstrative of best practices (both industry and our own signature practices). Sloppy execution of our work leads to cross-browser problems, inaccessible features, confusing user interactions, and time lost refactoring code in the future. We don’t get to give excuses to our customers — if it doesn’t work, end users don’t use the site, and clients don’t pay. Messy code shows that we don’t care about leaving something our fellow developers can learn from, and it demonstrates that we don’t care to take the time get our code right.

I shudder to think about the kind of code the baristas at the local Starbucks would write, were they developers. If only they could be more like so many of the awesome developers/craftspeople I know… then I’d be happily caffeinated each morning. And if fewer developers wrote code the way those baristas make drinks? Well, the Web might just explode from all that awesomeness.

Code Monkeys vs. Code Ninjas

Software programmer Sara Chipps (yay! a woman!) has written an article titled Natural Programmers (Code Monkeys) vs. Career Programmers (Geeks in Suits). It’s probably the best non-techie explanation of the behaviors, habits, and beliefs of the “natural programmer” that I’ve read — and yes, I completely identified with much of what she wrote.

However, I have to take a step back and address an issue that I have with the two types of programmers she defines and the names she assigns to them.

First there’s the “career programmer (geek in a suit)”. These days I find that career programmers are not geeks, and they’re definitely not in suits (always business casual!). I’ve found that they’re in programming for the money; they learn enough to do their work — perhaps well, maybe even to get to the point of being perceived as geeky. But I also find that these people lack a true passion for the craft of writing code. Sara suggests that the career programmer is more of a business person, concerned with cost effective solutions, but I’m not even sure that’s true anymore. To me, this person’s work is just a job, and if flipping burgers paid as much as programming, they might be doing that instead.

Like Sara, I fall into her other category of “natural programmer”. But I am certainly not a code monkey — I am a code ninja! (Actually, with a nickname like “Obi-Wan Kimberly”, I’m probably a code jedi, but anyway…) I find the term “code monkey” to apply more to the previous category of programmer. Why? “Code monkey” implies that anyone can do what we do and that we work for bananas. “Code ninja”, on the other hand, says that we’re stealth and secretive, jumping out of the darkness when you least expect it. Our code takes you by surprise in its brilliance and our swiftness of execution is legendary. We could do no other job because we have trained for so long, perfecting our natural talent, and nothing else can satisfy our need for control over the systems we affect.

Sara closes her article with some OR logic about which type to hire, however I need to propose a more detailed and different solution. If you have only one programmer working for you, you probably don’t want either of these types — you need someone who really does fall into the gray area between the two extremes. (Yes, they are out there!) And if you have a team of programmers, you need a mix of these two types, and you need to put effort into getting them to communicate effectively with one another. Only then will you have both a killer team and killer code.