Flying airplanes is hard, but pilots do learn to fly planes safely. How do we manage all the complexity? By managing our attention, by using checklists, and by taking advantage of simplifying technologies. Some of these techniques are applicable to other complex tasks, like cooking or software engineering.

Attention training. Practice makes seemingly impossible tasks easier. When I first started flying it took all my attention to keep the plane level. I literally could not handle the radio interruptions. Now that basic flying comes naturally I have plenty of spare attention to talk on the radio. Except when I'm very busy; I've learned to ignore the radio if I don't have time for it. Training has developed my attention capacity and taught me to manage distractions.

Checklists. There's some 35 steps I do to get a plane ready to fly. Fortunately I don't have to memorize them all, because I have a checklist that I follow every single time I start a flight. If I follow that checklist I'm fine. If I forget a step the plane won't start, or my gyro compass will be off a few degrees, or the flaps will be set wrong and I'll stall on takeoff and die. I'll be using my checklist every single flight for the rest of my flying career. Checklists are broadly applicable to many areas. I once wrote a two page checklist for a server deploy at Google and it paid off in spades for years afterwards.

Autopilot. I'm not using an autopilot during my training, but even the simplest one that does nothing but keep the wings level makes flying a lot easier. Ken's about to get a fancy autopilot that can literally fly an entire course for you, including instrument approaches, from about 400 feet after takeoff to 400 feet from landing. Of course you never want to fully trust the robot with the flight, but it's a big help to offload the basic control inputs so you have more attention for more complex things.

GPS navigation. Moving map GPS is a huge user interface improvement for navigation. No more trying to spot landmarks from the air or figure out your position via triangulation. You just punch in your destination, press "direct", and you've got a flight plan. A GPS with a terrain database helps you avoid hitting mountains. Add a synthetic vision system and you don't even need to be able to see out the window. Unfortunately very little modern flight training uses the GPS, it's going to take a generation for common practice to change.

Writing software used to seem very difficult. But over the years I've learned how to code and the technology for writing software has improved. Garbage collection is like autopilot for memory management, modern IDEs are like GPS maps for visualizing code. Unfortunately the pace of technology development in aviation is very slow compared to software engineering because of all the testing and certification required. But there's more opportunities for improvement via training and plenty of checklists.

  2010-02-26 18:15 Z