Welcome to Atalasoft Community Sign in | Help

Making and Breaking Habits

I just finished up Code Complete by Steve McConnell.  In reading it, I made a list of things that I didn't agree with or found wanting.  It's not because the book is poor.  In fact, it's quite the opposite.  The book is terrific, but it can be even better.   To paraphrase my colleague Lou, this type of book is invites commentary.  When I was done, I sent the list on to Steve.  He sent me back a link to a Microsoft KB article of corrections already collected.  I appreciated the follow through.

I've been mulling over one thing that I didn't put into the list. There is a small section in the book about habits and Steve doesn't offer a way to kick habits.  I don't blame him.  Habits are a human constant.  I do have an answer, or at least an approach.  It's not a magic bullet, but if you're reading this, you're probably an engineer and it should appeal to you at that level.

I'm going to classify habits into two broad categories: conscious and unconscious.  I will start out with some axioms:
  1. You can't break unconscious habits.  Period.  That's the nature of them.  If you're not aware of what you're doing, then you can't prevent yourself from doing it
  2. Any unconscious habit can become a conscious habit by either self-examination or being pointed out from the outside.
  3. Any conscious habit can be made unconscious through sufficient repetition or a lack of self-examination.
  4. For any action to become a habit, it must be repeated and come along with either an incentive to do it or sufficient disincentive to avoid not doing it.  It will start as a conscious habit and may become an unconscious habit.
So here's how you start a habit: do something and get an "atta boy" in some form or another, or do something to avoid getting a "bad boy".

Here's how you break a habit: if the habit is unconscious, become aware of it.  This is challenging - you might need to spend a lot of time asking questions like, "why did I just do that?"  Make note of every time you do it.  In short order, it will become a conscious habit.  When it is a conscious habit, you now have choice: do it or don't do it.  This is not always an easy decision.  If you want to break the habit, you will keep your goal in sight and choose to break the habit.

How to start a habit?  It's not too different.  It involves being conscious of what you do and making a choice to respond in a way that is habit-forming.

This is too abstract, so I'm going to give you some concrete examples of making and breaking habits.

I had a habit in coding string manipulation in C where I would put the null terminator in the wrong place.  In practice, these bugs are hard to find because they can go unnoticed for a long period of time.  Fortunately, I'm a good bug hunter and could find them easier than most, so on big projects I ended up cleaning up my own messes more often than not.  Because I found them with more ease than most didn't mean that I liked to work on that type of bug.  In fact, I dread working on this class of bug.   After too many of these, I made a conscious decision that I would never make this bug again, if I possibly could.  How?  Before writing code that contains a string generator, I take out a piece of scratch paper and write up several examples with input and output strings and indices written underneath the characters, then I'd check the math for each case before committing it to code.  It takes a little longer to write, because of the extra work up front, but it's way easier than finding those bugs.  That's my incentive or 'attaboy' and I'm avoiding the 'bad boy' of having to fix that bug.  I do not let my own hubris stand in the way of doing this every single time.

Eating is a habit.  It's a classic habit because it comes with a tremendous attaboy from your body and because it is a necessary action.  Now, one of the most consistently successful ways for losing weight long-term is to eat a balanced diet with sane portions such that your caloric intake is somewhat less than your caloric output.  The most consistently effective way to do this is to catalog every food item that goes in your mouth on a given day and make sure you don't go over budget.  This is exactly the process of turning something that is unconscious to something that is conscious.  It's not easy, because, dang, that cannoli looks and tastes good, but the inherent value of your goal (keeping healthy) needs to win.

Anyone who has done any public speaking will know about trying to break the "uhhh" habit.  Most people aren't even aware of the little hunks of rhetorical glue that pop into daily speech.  The typical process in most cases is to have someone tell you what you're doing to to videotape yourself.  That's the process of developing self-awareness of an unconscious habit.  Once you've done that, you need to make a mental note of when you say "uhhh" or "um" in speech and then eventually choose to do it.

I didn't say any of this is easy, but it's possible.  The key things to have are an open mind, good meta-thinking skills, and a desire to improve yourself.  Do keep in mind that you also need to choose your own level of self-examination: too much is just as bad as too little.
Published Tuesday, May 02, 2006 11:26 PM by Steve Hawley

Comments

Friday, April 11, 2008 7:47 PM by weigt loss exercise programs

# weigt loss exercise programs

Also works well with hodia slim and noni juice. Testimonials: “ I’ ve used the Supa Slim, Slim- 1 and Super Greens together with great results. Lost 10 lbs over 3 months and have kept it off ever since.

Thursday, April 24, 2008 8:17 PM by Abdominal Belt

# Abdominal Belt

The Flat Belly Diet is based on independent scientific research into the weight loss and health potential of MUFA- rich foods such as black or green olives, nuts, seeds, avocado, oils and dark chocolate. In addition, this diet is reported to slow aging

Monday, May 19, 2008 9:48 PM by You love to shop?

# You love to shop?

Check out great daily deals!

Friday, May 30, 2008 3:44 PM by Diet pills

# Diet pills

Check out great daily deals!

Anonymous comments are disabled