Archive for August, 2006

links for 2006-08-14

Monday, August 14th, 2006

links for 2006-08-12

Saturday, August 12th, 2006
  • Caffeine sensitive people can experience palpitations, anxiety, dizziness, headaches, and restlessness. It also interferes with normal sleep patterns. — The problem is that most people don’t know they are “sensitive”.

links for 2006-08-11

Friday, August 11th, 2006

links for 2006-08-10

Thursday, August 10th, 2006

Fish oil

Wednesday, August 9th, 2006

Apparently, nutritionists (including my neighbor, who is a nutritionist) are now strongly recommending fish oil for healthy living. Eating fish over red meat has been highly preferred for many years due to the lower fat content and the benefits of omega-6 and omega-3 fatty acids. Unfortunately, much of the fish I prefer is also high in mercury, so taking fish oil supplements looks like a good alternative, and after researching this, there appears to be very little to contradict the health benefits, such as often the case with other supplements. As a skeptic on vitamins in general, the only other two vitamins/minerals that I recommend and take regularly are the following:

Vitamin C
Glucosamine

The trick to buying fish oil is to make sure it’s coated so that it is absorbed in the intestines and not the stomach, so that there is no taste in the mouth. After trying fish oil for a while (~6 months), I’ll write a follow-up to this post with any noticeable benefits or side effects.

links for 2006-08-09

Wednesday, August 9th, 2006

links for 2006-08-08

Tuesday, August 8th, 2006

Test first software development

Monday, August 7th, 2006

Having personally developed lots of software as well as worked with many software developers over the years, I’ve formulated a theory on why lots of developers are resistant to unit testing and test driven development (TDD). The theory is simply that most developers know that 90% (or more) of the lines of code they write are defect free; consequently, forcing 100% of the code to have tests seems counterproductive to many of them. It’s a theory that seems obvious after being said out loud, but I rarely hear it explicitly verbalized in discussions to increase testing.

The mental hurdle that is difficult to overcome is that the 5-10% of the code with defects is like a minefield scattered throughout the product. Many Agile software processes promote a test first then code approach, and this considered a mythical utopia by most software shops. Even though more companies are adopting test first strategies, the key to changing the mindset has to occur in technical textbooks and classrooms. After the “hello” program has been taught, all other examples should start with a test and proceed from there.

Agile processes and life

Sunday, August 6th, 2006

At last year’s Agile conference, I was entertained to hear one of the group discussions involve “relating Agile software development to every day situations in life”. I didn’t attend this group discussion, but there have been many times over the past year where I have taken a mental note of some similarities. While this will surprise very few people, since our work processes often stem from actions outside of work and vice versa, some of the similarities help explain why Agile works in developing “craft-like” products, such as software. I’ve listed a couple of incredibly simple ones, but there are many more.

Paying bills. As any financial planner will advise, a wise person should pay their utilities and other necessities before buying that new ceramic unicorn for the collection. With an Agile process, the truly important features are added first, and once these features have been added, the extras are worked into the product. In the end, there’s little chance of the electricity being turned off!

The big spelling test. When I was in 5th grade, I aced a ~70 word vocabulary test that we were given a couple of weeks to prepare. I’m no word buff, but when the teacher asked me to explain to the class how I did it, I said I had casually studied 5 new words every day for the past couple of weeks. I hadn’t tried to learn the whole list all at once nor cram a few days before the test. This is very similar to the iterative approach prescribed by Scrum and other Agile methods. Break the work out into discrete blocks and concentrate on those blocks for short periods of time.

The point is not to trivialize Agile processes in general, but it is important to note the methods used in Agile are also methods that generate higher success rates in other practical areas.

Great companies

Saturday, August 5th, 2006

After commenting on Brandon’s post about Google’s supposed open source strategy, I started to think about which companies promote a “life is great” marketing strategy. By “life is great”, I mean these companies seem to have the following in common: (1) hire and motivate employees who genuinely appear to have high morale and be enjoying their jobs, (2) promote a “customer comes first” attitude, (3) tend to favor environmentally sound approaches to doing business (or at least market that they do), and (4) focus on a sweet spot combination of higher than average quality at reasonable prices. A lot of companies will claim to do numbers 2 through 4; however, CEOs across the nation should be paying attention to the number 1 aspect because that is the key differentiator to obtaining sustained margins. Here are three examples, and all are places where doing business is typically a very enjoyable experience.

links for 2006-08-03

Thursday, August 3rd, 2006

Too much exercise? Think again.

Wednesday, August 2nd, 2006

I really enjoyed this article in the Austin American-Statesman about how much is too much to run. The bottom line is that you can run as much as you want, and the reality is that 99.99% of most people won’t even be able to come close to over doing it. Granted, this assumes you are healthy enough to exercise (i.e. walk) and slowly build up your stamina (i.e. not running 10 miles on your first day out).

This rule applies to just about all forms of exercise, even though there are a few skeptics who have seen a 60 Minutes special on an obsessive person who over did it. Anything under 2 hours of exercise per day is still considered recreational exercise, and squeezing 30 minutes a day is a stretch for most. I recommend alternating between various types of exercise to prevent injuries and increase motivation, but if fear of exercising is preventing a regular visit to the gym or a trip around the block, think again.

Team fit

Tuesday, August 1st, 2006

I was recently asked for some ways to determine team fit during the interview process. It’s a good question because there is a grey area between having a “gut feel” about someone based on previous management experience and the purely objective qualities that someone could be measured against during the interview. In order to keep this post brief, I’ve listed some of the more important questions that should be answered to determine team fit.

How relevant are this person’s skills, and what is their ability to learn new skills? While this may seem obvious in the technology world, I predict it’s vastly important to know the domain in which the person will be working in any field. One very good technique in determining technical prowess is to ask the person to solve more than one relevant technical problem while explaining his/her thought process for deriving a solution. This and many other methods like this tend to weed out someone who has memorized a bunch of technical jargon and acronyms but can’t apply them. It also exposes the person’s analytical skills and quickness in learning while under pressure.

Assuming there is a team interview, which is highly recommended, what are the opinions of the existing team members? While there’s always a chance that one person on the team will be opposed to the most qualified candidate, it’s very important to know whether major personality conflicts will occur down the road.

What are the skill sets of the other team members? Many times a resume review will suffice in answering this; however, having a team of all junior members or vice versa is typically not desired. In many cases, a true skill set comparison cannot be made until some direct contact is made with the candidate.

What are the person’s previous work environments? Some people prefer large corporate environments, while others only want to work in a completely flat organization. Getting an honest assessment from the person can be tricky, as they will most likely know what type of organization exists for the job in which they are interviewing.

Can the person say, “I don’t know” when an unfamiliar question arises? Knowing the answers is sometimes not as important as admitting that you don’t know the answers.

Performing well on any single item is not good enough to base an offer, but almost any one item, if bad enough, could warrant a veto. These conditions make the interview process interesting/unpredictable for the hiring manager as well as for the candidate. While I’m sure this isn’t a complete list, I’d love to hear other’s opinions on the matter.

links for 2006-08-01

Tuesday, August 1st, 2006