Typical programmer design