Бауэр окончил среднюю школу в 1942 году, с 1943 по 1945 год, во время Второй мировой войны, служил в вермахте.
В 1946 году начал изучать математику и теоретическую физику в Мюнхенском университете Людвига Максимилиана, где проработал до 1950 года.
С 1963 года работал профессором математики и (с 1972 года) информатики в Мюнхенском техническом университете. Вышел на пенсию в 1989 году.
В ранних работах Бауэр рассматривал методы построения вычислительной техники (например, компьютер Станислауса на логических реле).
Он был первым, кто предложил широко используемый метод стека при оценке выражений. Бауэр также работал в комитетах, которые разработали языки программирования Алгол 58 и его преемник ALGOL 60, предшественники всех современных языков программирования.
В 1968 году Бауэр ввёл термин «Программная инженерия» , который с тех пор широко используется.
В 1972 году Бауэр опубликовал определение программной инженерии: «Создание и использование рациональных принципов инженерии для получения экономичного, надёжного и эффективно работающего программного обеспечения» .Бауэр был влиятельной фигурой в становлении информатики в качестве учебной дисциплины в немецких университетах.
Он был соавтором теоремы Бауэра — Файка и основ устного и письменного перевода языков программирования. Бауэр входил в немецкое представительство научного комитета НАТО.