A while back I posted a piece on Unnecessary Context Switches & the Myth of Multitasking looking at some of the research on the topic. The consistent result: the more things you try to do at once the worse you will perform at each of them. Despite this, many working environments expect us to constantly switch our attention and, if anything, the expectation to multi-task is increasing and more of us are succumbing. At the individual level this can be stressful and reduce satisfaction in your work. At an organizational level (and I suspect at a macro-economic level) this expectation is a drag on productivity.
I kept seeing new and interesting information and so began writing a follow-up post. Meanwhile, multi-tasking is increasingly appearing in the general lexicon and as a meme of mass advertisers where multi-tasking is a shorthand for the stress of modern life. For example, vitamins are sold as an “antidote” to multi-tasking in ads that cynically play on myths about gender and multi-tasking, and through-out it the message is that multi-tasking is stressful (that seems true), heroic (that seems stupid) and unavoidable (mostly false).
The research for this post lead instead to an exposition on the quality of media coverage of science. What started as reading about the “dumbing down” effects of multi-tasking revealed the “dumbing down” effects of media on science. That’s not surprising to most of us, but looking at the mechanics is, I think, interesting.
I should add that my motivating concern is that, in this instance, bad research and bad media coverage of research will lead to skepticism. The problem here is that solid science reaches much the same conclusion as the bad science.
Are you more likely to book your next vacation through LastMinute.com or through PlanWayAhead.com? Do you make snap decisions or like to keep your options open? Are you usually the first to meetings or the last? Do you like to arrive at the airport with seconds to spare or would this send your stress sky high? Is your desk clean or chaotic? Are deadlines your friend or foe? Do you like to focus on a task to completion or have many balls in the air? Do you always finish what you start? Are you a procrastinator?
These behaviors are tied together on psychological scales. Awareness of your natural behavior has its benefits, not least that it gives you greater opportunity to consciously adjust your behavior according to circumstance.
Recognizing and understanding the decision-making style of colleagues has its benefits too. It can reduce tension and misunderstandings between people with different styles. It can help like-minded individuals to avoid group-think. It allows diverse teams to play to the strengths of individuals.
Do you feel confident? Try this quick 2 minute Test of Confidence before continuing.
One of the first pieces I wrote in this blog, The Flow – Programming in Ecstasy, explored the factors that help us get into The Zone. Most writing on this topic emphasizes the need for silence and lack of distractions. While that is important, I learned of other important factors beyond the ability to concentrate: serenity (the absence of worries), direction (a sufficiently defined task and path to progress), confidence (to accomplish the task) and competence (again, to accomplish the task).
The last two factors, Confidence and Competence, weave their way through most articles I have written. Despite confidence and competence being different in reality they are often confused. So confidence and competence deserve some focus in their own right.
Warning: this blog includes actual codes of ethics. Reading codes of ethics may result in drowsiness. Do not read this blog while driving or operating heavy machinery.
Last week’s psygrammer post, Sharing Benefits Increases Cheating, was a glimpse on how people make (un-)ethical judgements and creating a working environment that fosters ethical behavior. As I reflected on that post I realized that ethics was rarely an explicit part of my working environment: no employer had a code of ethics (that I knew about) and it was rarely a direct topic of conversation in the workplace. Sure, I faced many ethical dilemmas and I feel that I have sought to act ethically throughout my career. But what are the ethical principles that I am supposed to uphold? Will it make it easier to recognize ethical dilemmas and make ethical choices if I know the individual “ethical lemmas“?
As the cliché goes, there are few certainties in life. For programmers, bugs are one of the certainties. How we react to bugs matters.
There are plenty methodologies, processes and technologies that deal with bugs. These are all important and are widely written about.
I think that programmers also benefit from a better understanding of behavioral and emotional responses to bugs. These responses can lie close to the surface and affect the performance of individuals and teams. This post looks at both constructive and negative responses to bugs as a kind of “field guide” to identifying these behaviors in yourself and others.
Here’s a story I have heard many times about programmers.
“I asked Joe to write a simple bit of code to do <xyz>. It should have taken a few hours, maybe a day at worst. He took several days, he wrote a general framework that was far more complicated than we needed. Why does he keep over-engineering his code?”
It could be that Joe is an Abstract Oriented Programmer. Here’s a few snowclones…
If you often over-engineer your software, you might just be an Abstract Oriented Programmer.
If you spend more time thinking about tomorrow’s problems than today’s, you might just be an Abstract Oriented Programmer.
If you love looking for deeper patterns, get thrills from unconscious insight or talk in analogies, you might just be an Abstract Oriented Programmer.
In writing the last blog on motivation my mind was drawn repeatedly to thoughts about performance. After all, motivational techniques are primarily about boosting performance. But as I put “pen to paper” for this blog it turned out harder to write than I expected. Human performance is a squiggy topic but unquestionably important.
I start out with some classic performance curves that apply to factories, motors and other mechanical systems. Next I move to the human performance curve and then consider the large variability of the performance of programmers, the Elo rating system for rating chess players and musing on its relevance to programming. I close with sage advice to programmers from Captain Barbossa and Dirty Harry (who, as far I know, are not fictional programmers).