Why aren't planes loaded from both ends?
The aviation industry is already running at near-peak efficiency, performing crucial tasks simultaneously to ensure quick turn-around.  Trying to speed up the boarding process by allowing entrance from both ends would be doable with a large amount of changes to the existing process, in both operations and infrastructure.  However, the result would be horrendous and time- and resource-consuming at worst and comical at best.

Jetways need to be able to reach all points of ingress/egress, where currently, they only reach the forward doors.  Seeing as aircraft nose-in at the gate, to reach the aft doors would require a jetway that goes around the wing (above the wing is even less practical from a design/physics standpoint), effectively creating an even smaller limit to the size of the aircraft that can fit at the terminal since there is now a jetway that needs to reach the rear doors.  As you can see, the space between aircraft is already tight:  Or, you use a simple stairway at the aft door and allow passengers on the tarmac, an already busy place during aircraft turn-around, and we don't need them touching anything en route.  I highly recommend against the latter.

In many instances, during boarding, the rear and/or opposite-side doors are already in use for loading/unloading food and drinks and taking out the trash.  So you'd have to redesign that process.

Humans are generally stupid in large groups.  Southwest notwithstanding, your typical airline assigns seats.  Imagine a passenger entering the rear door with seat 1A.  It doesn't have to be that extreme.  It can be any seat assignment more forward than another passenger coming the opposite direction down the aisle, which has the effect of halting both directions of travel.  Passengers already sit in the wrong seats, or travel with babies, or carry too much luggage (or stow it selfishly).


There have been many studies on efficient boarding methods.  The most efficient algorithm seems to be the Steffen Method, but this method requires someone with an inordinate attention to detail (and willing passengers) to line people up in a specific order.  Taking into account crew resources, the most efficient method is by window-middle-aisle groups, then by random order (i.e. &quot;single-zone&quot;), with typical &quot;zone boarding&quot; least efficient.
EDIT:
There are scenarios where boarding from both ends makes sense and is feasible, e.g. smaller planes with fewer passengers.  On larger aircraft, the problem compounds itself as the number of passengers grows, each &quot;collision&quot; incident affecting that many more people in the queue.  Minimizing collisions requires airlines to throw more resources at the problem, namely personnel to direct traffic.  Ask any CFO - more often than not, human resources is the most significant slice of the operating budget.
In any case, engineering a solution should not entail best-case scenarios; it should be designed for typical-case at best, and more commonly for worst-case.  The human factor is one that cannot be overlooked.  There is no such thing as an idiot-proof system.