I think that alertness come before an event happens to you. We are alert and watching out for something to happen. We can be alert of the difficulties of riding a bike. In software development, in the coding stage, we know that the design is important so we are on alert. When we create an API we are on alert for ease of use issues.
Awareness comes after the event, there is knowledge there, after the event we know. After we tried riding the bike we know that we are safe (or if we fell down how not to ride). In development this is after we tried coding, and are now aware of the design issues (which we can fix via refactoring). Or after we tried several api’s on the computer (in our tests) and we know which one is easier.
I found that I get stuck on the alertness stage too often, I am aware of a problem and I am thinking of several solutions but I am basically before the event. When I try, I cross to awareness, I understand what I did and how to do it better.
So to gain knowledge I find that I have to try,try and try again (yes, this does entitle leaving your comfort zone). I spend too much time thinking and talking about the problems.