WOTD: Poka-Yoke Means Mistake Proof

Your word of the day is poka-yoke: mistake-proof. Such as keying on network cables that ensures they can only be inserted correctly. From Wikipedia:

Poka-yoke (ポカヨケ?) [poka yoke] is a Japanese term that means “mistake-proofing”. A poka-yoke is any mechanism in a lean manufacturing process that helps an equipment operator avoid (yokeru) mistakes (poka). Its purpose is to eliminate product defects by preventing, correcting, or drawing attention to human errors as they occur.[1] The concept was formalised, and the term adopted, by Shigeo Shingo as part of the Toyota Production System.[2][3] It was originally described as baka-yoke, but as this means “fool-proofing” (or “idiot-proofing“) the name was changed to the milder poka-yoke.

http://en.wikipedia.org/wiki/Poka-yoke

To eliminate defects we embrace poka-yoke instead of blaming people.

Dumb, Costly Errors Should Be Hard To Make

Building computers for fun in the 1980’s I ruined at least one floppy drive because I plugged the controller cable in backwards.  Nowadays those kinds of screw-ups are much more difficult to make.

My favorite story about being committed to not blaming people comes from my father’s career. They had chemicals next to each other in identical vials that made it easy for him to mistakenly waste about $10,000 of material. (Double that figure when you adjust for inflation.)

When he hesitantly told his manager about it the guy said, “Well, we shouldn’t have made it so easy to make that mistake.”

Whole Root Challenge

Interviewed another candidate today.  A colleague used a challenge based on computing square roots.  It’s a very simple problem and still gives a quick feel for a candidate’s comfort with JavaScript and solving problems with code.

I’ve added it to the (tiny) suite of interview code challenges. See github.com/ManagerJS paper-code/whole-root. I hope you find this useful conducting interviews and preparing for interviews.

Here’s a copy of the challenge for your convenience:

Read: Crucial Conversations

About time for me to read Crucial Conversations again.

If Leadership and Self Deception had a baby with ManagerTools.com it would be Crucial Conversations. The book takes an intensely personal view of leadership and combines it with an emphasis on observable behavior and concrete action. More good information in this book than you can absorb after only one reading.

I highly recommend the book. It is universally useful. If you ever talk to other people then you will eventually need the skills in this book.

Bring Architecture to Your CSS

Good article on CSS Architecture: http://engineering.appfolio.com/2012/11/16/css-architecture/

Philip Walton starts by saying what he wants a CSS architecture to provide – what would be the value. Then he examines common anti-patterns that work against those values.  Finally he outlines some concrete suggestions.

His approach isn’t perfect.  It leads to long class names and more of them.  He does do a good job showing what you get for the price.

Hope you enjoy it!

(Thanks to Daniel Sellers for posting the link on Yammer.)

paper-code helps you interview

github.com/ManagerJS/paper-code

In addition to writing daily for this blog, I’ve been scraping together resources that web devs and their managers might benefit from during interviewing.  I made the ManagerJS GitHub organization to hold those documents and code.

Today I’m announcing the paper-code repository.  It will hold programming challenges you can sketch out with pen and paper during interviews. I routinely use these when interviewing intern candidates.

JSCS lints and shines your JavaScript

If you use Sublime Text you may want to try the JSCS plugin for SublimeLinter. JSCS stands for JavaScript Code Style. What makes it even more useful than JSHint? With this plugin it will even fix small style errors for you!

Once you have the plugin working you’ll definitely want to  tailor the rules .jscsrc file.

One good gotcha: It ships with a lot of presets and has a lot of mirroring rule options. It might be tricky for you to override the preset.

For example, I opted for the Google preset and wanted to add the requireSpacesInAnonymousFunctionExpression rule. It wasn’t working until I realized the Google preset came with a mirroring option set: disallowSpacesInAnonymousFunctionExpression. I had to set that to null explicitly before my own settings would work.

Thank you to Addy Osmani for your post on the sublime plugin, and thank you to Josh at SublimeTextTips.com for mentioning it in your newsletter.

Keeping Your Team from Burnout

An intern at Novell my first manager told me stories of his experiences with burn-out as an intern for IBM. He loved his work and put in extreme hours. Then one day couldn’t put his hands on a keyboard.

Allison Davis’ article How to Keep You and Your Team from Burning Out gives 6 actionable recommendations for protecting your team.

I’ve experienced burn out. Coworkers I respect have, too. Yet, I hesitate to write about it. It’s squishy. But it is real.

I’m not alone. At NGConf Igor Minar (Angular core team) spoke tentatively about his own struggles with burnout. His talk about mindfulness came just after my own exposure to it in a lecture series on the workings of the brain. Mindfulness is a great tool that studies have shown effective at managing stress and improving mental wellbeing.

Read Davis’ article.

My quick advice is:

Remove heroics from your list of options

Get it done in normal time with normal effort. Don’t do heroics. Don’t ask for it from your team.

Next page